如何将视频时间添加到 ffmpeg 文件名?

问题描述

我每 5 秒使用 1 帧从视频中提取

ffmpeg -i vid.mp4 -r 0.2 frames/frame_%04d.png

并且我想在文件名中添加视频时间(即从视频开始以 x1 速度经过的时间)(不是相关问题中询问的时间戳)。可能是这样的

frame_0001_0000.png,frame_0002_0005.png,frame_0003_0010.png,...
# would stand for
# frame #1 at 00:00,frame #2 at 00:05,frame #3 at 00:10,...

由于 ffmpeg 在处理时打印此信息,我认为这可能吗?我不想依赖 (frame_number * 1/r) 因为通常会有一些额外的帧使结果关闭

提前致谢。

解决方法

我认为现在不可能。然而,几年前有一个废弃的票+补丁将这个功能添加到 ffmpeg 中。

https://trac.ffmpeg.org/ticket/1452

您应该能够挽救那个补丁,但鉴于 ffmpeg 从那时起已经发展,它可能需要一些修改。