ビデオを画像に変換するには、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}'