首先,我对图像制作视频的经验几乎为零。
我拥有的是一组带有 BMP 时间戳的图像,我想从中生成视频。
由于时间戳的间隔不相等,我不能简单地使用从图像创建恒定帧速率视频的软件。
一个可能的解决方案是在固定的时间间隔创建人造图像,但如果我无法制作 VFR 视频,我更愿意将其作为最后的手段。
关于如何实现我想要的有什么建议吗?
您可以结合使用两个工具来执行此操作:ffmpeg 和mp4fpsmod https://github.com/nu774/mp4fpsmod
Step 1就是使用ffmpeg生成恒定帧率文件
ffmpeg -i images%d.bmp -pix_fmt yuv420p ffmpeg-cfr.mp4
Step 2是生成一个如下所示的时间码文件,其中每一行包含一帧的相对时间戳(以毫秒为单位)。
# timecode format v2
0
33
88
100
120
160
200
230
330
347
Step 3就是使用mp4fpsmod生成VFR文件
mp4fpsmod -o vfr.mp4 -t timecodes.txt ffmpeg-cfr.mp4
该文件按预期播放ffplay
但某些玩家可能不会,在这种情况下运行
Step 4使用 FFmpeg 从 VFR 生成 CFR MP4
ffmpeg -i vfr.mp4 final-cfr.mp4
这是一个 CFR 文件,但时间关系按照 VFR 保留,但如果时间码间隔非常不规则,则会进行一些 PTS 调整。这可以通过指定高帧速率来解决-r N
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)