我想从视频 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