我正在使用 FFMPEG 从 MP4 中提取图像。我有一个大型项目,需要提取几百张图像。由于我不是 FFMPEG 的稳定用户,所以我从各个网站拼凑了一个可行的解决方案。
我需要我的文件看起来像:
keyframe-00.01.23.987.png
所以基本上就是 1 分 23 秒 987 毫秒。
我为 FFMPEG 整理的用于以毫秒为单位导出每一帧的字符串是:
ffmpeg -copyts -i myvideo.mp4 -fps_mode passthrough -r 1000 -f image2 -frame_pts 1 keyframe-%09d.png
当它完成时,我必须使用批量文件重命名来插入小数点,这是一个次要问题,但当前的问题是,当达到 60 秒标记时,如何让它滚动?
Avidemux 中的 PTS 以时间格式滚动,我需要让导出的图像与之匹配。我通过该字符串得到的是:
keyframe-000059920.png
keyframe-000059960.png
keyframe-000060040.png
我需要它滚动到:
keyframe-000100040.png
看来毫秒遍历0-999,其余都是基于时间(60秒)滚动。
如果无法调整 FFMPEG,我可以从外部进行调整,但我正在寻找可以帮我进行转换的工具。
有人对如何处理这个问题有任何指导吗?
谢谢。