1

これはphp+ffmpegを使用して可能ですか?

ffmpeg-phpには次の機能があります。

ムービーファイルからフレームを取得し、PHPの組み込み画像関数を使用して操作できる画像としてそれらを返す機能。これは、ムービーファイルのサムネイルを自動的に作成するのに最適です。

その前にファイル全体をダウンロードしたくありません。それで、私が映画の10%でフレームをつかみたいとしましょう:

まず、リモートファイルのサイズを取得しましょう。

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_HEADER, true); 
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($ch, CURLOPT_URL, $url); //specify the url
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
$head = curl_exec($ch);

$size = curl_getinfo($ch,CURLINFO_CONTENT_LENGTH_DOWNLOAD);

そうすれば、curlを使用して.flvまたは.movファイルの10%だけをダウンロードするのは非常に簡単です。

しかし、ファイルがおそらく破損しているため、ffmpeg-phpを使用したframegrabトリックはおそらく機能しませんか?

他のアイデアはありますか?

4

1 に答える 1

0

はい、これでうまくいくと思います。動画ファイルの場合、ファイルの先頭があれば、このような処理が可能です。(たとえば、途中からファイルのチャンクしかない場合は、おそらく機能しません。)

コマンド ラインで、Curl を使用して .FLV ファイルの最初の部分をダウンロードし、ffmpeg を使用してフレームを取得したところ、正しく機能しました。PHPで同じことをしてもうまくいくはずです。

于 2012-01-12T18:23:27.250 に答える