是否有任何命令工具可用于从视频/流中提取帧并写出每帧的时间戳?

是否有任何命令工具可用于从视频/流中提取帧并写出每帧的时间戳?

由于 ffmpeg 不支持命令行参数将当前帧时间戳写出作为输出文件名,因此我迫切寻找一个支持从视频/视频流中提取图像并将当前帧时间戳输出为文件名的命令行工具。

是否有任何工具可以满足这样的要求?

答案1

您可以使用 ffmpeg 和批量重命名工具(例如)通过多步骤完成此操作高级重命名器

假设你想提取每 40 帧

#1提取帧和演示时间戳列表。

ffmpeg -i in.mp4 -vsync 0 -vf select=not(mod(n\,40)) frames-%d.jpg
       -vf select=not(mod(n\,40)) -f mkvtimestamp_v2 pts.txt

除了图像之外,您还可以获得如下所示的 pts.txt:

# timecode format v2
0
1600
3200
4800
6400
8000
9600
11200
12800
14400
16000

这些是提取帧的时间戳,以毫秒为单位

#2然后使用支持使用列表重命名的批量重命名应用程序来修改帧的文件名。或者使用 shell 脚本。

相关内容