我可以从带时间戳的图像创建 VFR 视频吗?

Beg*_*ner 7 video timestamp ffmpeg frame-rate avconv

首先,我从图像制作视频的经验几乎为零。

我拥有的是一组 BMP 时间戳图像,我想从中生成视频。由于时间戳不是等距间隔,我不能简单地使用从图像创建恒定帧速率视频的软件。

一个可能的解决方案是以固定的时间间隔创建人工图像,但如果我无法制作 VFR 视频,我更愿意将其作为最后的手段。

关于如何实现我想要的任何建议?

Gya*_*yan 8

您可以结合使用两种工具来执行此操作:ffmpeg 和mp4fpsmod

第1步是使用ffmpeg生成恒定帧率文件

ffmpeg -i images%d.bmp -pix_fmt yuv420p ffmpeg-cfr.mp4
Run Code Online (Sandbox Code Playgroud)

第 2 步是生成如下所示的时间码文件,每行包含一帧的相对时间戳(以毫秒为单位)。

# timecode format v2

0
33
88
100
120
160
200
230
330
347
Run Code Online (Sandbox Code Playgroud)

第三步是使用mp4fpsmod生成VFR文件

mp4fpsmod -o vfr.mp4 -t timecodes.txt ffmpeg-cfr.mp4 
Run Code Online (Sandbox Code Playgroud)

此文件按预期ffplay播放,但可能无法与某些播放器一起播放,在这种情况下运行

步骤 4使用 FFmpeg 从 VFR 生成 CFR MP4

ffmpeg -i vfr.mp4 final-cfr.mp4
Run Code Online (Sandbox Code Playgroud)

这是一个 CFR 文件,但会根据 VFR 保留时间关系,但如果时间码间隔非常不规则,则会有一些 PTS 调整。这可以通过指定高帧率来解决-r N