2012-04-01 7 views
1

私はリモートmp3(および他のフォーマット)のphp5-ffmpegの拡張機能を使用してメタデータを取得しようとしてきたがフェッチFFMPEG。PHPは、メタデータ欠落しているタイトル、著者、コメント、アーティスト

私は常にタイトル、作者、コメント、アーティストの詳細が不足していますが、それは動作しています。

私は答えを求めてウェブを精査してきましたが、解決策は見つかりませんでした。

私はこの問題を解決するかもしれないと思っていたこのパッチhttp://cvs.pld-linux.org/cgi-bin/viewvc.cgi/cvs/packages/php-ffmpeg/tests-metadata-api.patchを見つけましたが、パッチなしでもphp-ffmpegをコンパイルすることができなかったため、問題を修正することができませんでした。

私がこの作業を取得する多くの希望を保持していないよので、この拡張機能は、数年前に放棄されたようです。

誰もが、他のツールを使用して、オーディオ、ビデオファイルからリモートのメタデータを取得する方法のいずれかのアイデアを持っていますか?

私はこれが正しいメタデータを返す場合と同様にitelfは「-i」オプションを使用してのffmpegの出力を解析することを考えています。セキュリティ上の理由からPHPでexecを呼び出すのをちょっと注意してください。

+1

それは価値があるので、私は単に 'exec()'でFFMPEGを呼び出すだけです。しかし、私はPHP拡張モジュールが正しく構築/インストールされることが常に困難でしたので、主にこれを行います。その部分は私のサーバーをホストする人たちと関係がありますが、結局 'exec() 'を呼び出す方がずっと簡単でした。あなたが渡すパラメータを検証するだけで、うまくいくはずです。 – Brad

+0

私のサーバーでは、ユーザー要求に基づいてwget(ファイルを取得)(PHP待機なしでバックグラウンドで実行できるため)でもexec()を使用します。その場合、関数自体をpublic_htmlではなく、スクリプトまたはcrontabによってインクルード/必要とされるか、または実行されるいくつかのパスに置きます。また、関数に必要な変数だけを使って、できるだけ静的にしています。人々が悪いことをすることができる唯一の方法は、私のftpにログインしてそれを変更することです。これはいつも可能ではありません: – ArendE

+0

これまでのコメントのおかげで十分です。私はちょうど同様のことを行い、ffmpeg出力そのものを解析するつもりです。私がもう少しCを知っていれば、PHP拡張モジュールを自分で修正しようとしたかもしれません。たぶん私は学ばなければならない! – chrismacp

答えて

0

ウェブの周りに横たわるいくつかの古いコードを試した後、この問題の解決策を見出しました。 ffmpegのをラップOO PHPベースのソリューションのための

チェックアウトhttps://github.com/char0n/ffmpeg-php。それはphp-ffmpegの必要性を取り除き、それは私のために働いています。

私は、リモートのファイル情報を検索する際にのみ興味を持って、それは、リモートファイルを操作するための非常にマイナーな変更をしなければならなかったが、それがうまく機能していると、今、次の操作を行い、それが正しい情報を返すことができます!

$movie = new FFmpegMovie('URI'); 
$title = $movie->getTitle(); 
$author = $movie->getAuthor(); 

リモートの情報を取得したい場合は、ここに私のフォークをチェックアウト:https://github.com/chrismacp/ffmpeg-php

を私はあなたがいることを必要とするだけの場合には、私のフォークに名前空間を追加し、オートローダーと古いPHP-ffmpegのアダプタを削除しました機能が実行されているか、実行中です。< 5.3。

関連する問題