1分間隔でビデオから画像を抽出する

1分間隔でビデオから画像を抽出する

Exp01.avi というビデオから画像を抽出したいのですが、ビデオは 24fps で、長さは 25 分です。1 分間隔ごとにビデオから画像を抽出したいのですが、やり方を教えてください。

以下のコマンドを試しましたが、効果はありませんでした:

ffmpeg -i video.avi -r 1  -t 00:01:00 -f image image%02d.png

そして

ffmpeg -i video.avi -r 1/1440 -f image image%02d.png

答え1

フィルターを使用しますselect。以下は、1440 フレームごとに 1 つの画像を取得します。これは、1 秒あたり 24 フレームで 1 分ごとに取得されます。したがって、入力ビデオのフレーム レートに応じてこれを変更してください。

ffmpeg -i input.file -filter:v 'select=not(mod(n\,1440))' image%02d.png

時間ベースの選択を使用するには(おそらく最初のフレームが含まれることに注意してください):

ffmpeg -i input.file -filter:v 'select=isnan(prev_selected_t)+gte(t-prev_selected_t\,60),setpts=N/(24*TB)' image%02d.png

を参照してくださいselectそしてsetpts詳細についてはフィルターのドキュメントを参照してください。

関連情報