以 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过滤文档以获取更多信息。

相关内容