PTS 时间码以毫秒为单位调整为在 60 秒时翻转?

PTS 时间码以毫秒为单位调整为在 60 秒时翻转?

我正在使用 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,我可以从外部进行调整,但我正在寻找可以帮我进行转换的工具。

有人对如何处理这个问题有任何指导吗?

谢谢。

相关内容