ffmpeg でビデオを画像に変換する際にビデオの一部をスキップする

ffmpeg でビデオを画像に変換する際にビデオの一部をスキップする

ビデオを画像に変換するには、ffmpeg で次のコマンドを使用します。

ffmpeg -i video.mp4 -q:v 1 -r 1 -f image2 frame-03d%.jpg

私がやりたいのは、フレーム変換からビデオの最初の x 秒と最後の y 秒、つまり基本的にイントロとエンディングをスキップすることです。すべてのビデオの長さは異なりますが、イントロとエンディングはすべてのビデオで常に同じです (約 30 秒)。これを実行する方法はありますか?

答え1

ffmpeg -i BigBuckBunny_320x180.mp4 -ss 00:00:09.000 -t 60 -q:v 1 -r 1 -f image2 image_%05d.jpeg

-ss start time
-t duration from start time

またはトリムを使用する

ffmpeg -i BigBuckBunny_320x180.mp4 -vf trim=09:69 -r 1 -f image2 image_%05d.jpeg

ビデオの長さを取得する方法の例。

ffprobe -v quiet -show_streams -select_streams v:0 -show_entries stream=duration BigBuckBunny_320x180.mp4 | grep 期間 | awk -F= '{print $2}'

関連情報