以 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 分鐘以每秒 24 幀的速度拍攝一張影像 - 因此請根據輸入影片的幀速率更改此設定:

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

請參閱selectsetpts過濾文件以取得更多資訊。

相關內容