首先,我几乎没有从图像制作视频的经验。
我所拥有的是一组BMP带时间戳的图像,我想从中生成一个视频。 由于时间戳不是等间隔,我不能简单地使用从图像中创建恒定帧率视频的软件。
一种可能的解决方案是以固定的时间间隔创建人工图像,但如果我无法制作VFR视频,我宁愿将其作为最后的手段。
关于如何实现我想要的任何建议?
答案 0 :(得分:2)
您可以使用两种工具的组合来执行此操作:ffmpeg和mp4fpsmod
第1步是使用ffmpeg生成一个固定的帧率文件
ffmpeg -i images%d.bmp -pix_fmt yuv420p ffmpeg-cfr.mp4
第2步是生成如下所示的时间码文件,每行包含一帧的相对时间戳(以毫秒为单位)。
# timecode format v2
0
33
88
100
120
160
200
230
330
347
第3步是使用mp4fpsmod生成VFR文件
mp4fpsmod -o vfr.mp4 -t timecodes.txt ffmpeg-cfr.mp4
此文件与ffplay
按预期播放,但某些播放器可能不播放,在这种情况下运行
第4步使用FFmpeg从VFR生成CFR MP4
ffmpeg -i vfr.mp4 final-cfr.mp4
这是一个CFR文件,但是根据VFR保留时间关系,尽管如果时间码间隔非常不规则,将会有一些PTS调整。这可以通过指定高帧率-r N
答案 1 :(得分:-1)
看一下这个链接。 http://avisynth.nl/index.php/VFR#encoding_to_vfr_.28mkv.29
现在可能有点过时,因为你现在正在从mkvtoolnix(而不是mkvmerge)导入时间码格式文件的过程,但它应该让你这样做。