0

サムネイルとして使用するためにビデオから1つの画像を取得する必要があるので、
これを試しています:

ffmpeg -ss 00:05:34.05 -i input.avi -vframes 1 -sameq output.jpg  

これは問題なく機能しますが、時々、次のエラーメッセージで失敗するファイルに出くわします

av_interleaved_write_frame(): I/O error occurred  

通常、これは入力ファイルが切り詰められているか、破損していることを意味します。

もしあれば私のオプションは何ですか?
ありがとう

4

4 に答える 4

1

このコマンドを試してください

ffmpeg -ss 5 -i sample.mp4 -vframes 1 -s 320x240 -f image2 -y sample.jpg;

長いビデオから親指をつかむ際のパフォーマンスを最適化するために、常に -ss を -i の前に設定してください。

于 2012-04-13T04:52:59.817 に答える
0

わかりましたこれは私にとってはうまくいくようです ffmpeg -itsoffset -4 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg

于 2012-04-13T00:57:05.597 に答える
0

はい、ffmpeg を使用して可能です。

-サーバーにffmpegをインストールします。
-以下のサンプルコードを確認してください。

extension_loaded('ffmpeg') or die('Error in loading ffmpeg');

// $vid = realpath('./video/Wildlife.wmv');

$video_url = 'http://download.wavetlan.com/SVV/Media/HTTP/H264/Talkinghead_Media/H264_test1_Talkinghead_mp4_480x360.mp4';

$image_filename = 'images/' . time() . ".jpg";

$movie = new ffmpeg_movie($video_url, false);

$frameCount = $movie->getFrameCount();

$capPos = ceil($frameCount / 4);

$frameObject = $movie->getFrame($capPos);

if ($frameObject) {

    $frameObject->resize(500, 250, 0, 0, 0, 0);

    imagejpeg($frameObject->toGDImage());

} else {

    echo 'error';

}
于 2014-08-26T11:57:53.590 に答える
0

最初のフレームの 1 つをサムネイルとして抽出すると簡単だと思います。

-ss の代わりに -vf サムネイル=num_frame を使用します

ffmpeg -i input.avi -vf thumbnail=25 -vframes 1 -sameq output.jpg
于 2012-04-12T12:08:26.800 に答える