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

时间:2015-01-22 10:43:47

标签: video ffmpeg timestamp frame-rate avconv

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

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

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

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

2 个答案:

答案 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)导入时间码格式文件的过程,但它应该让你这样做。