【发布时间】:2015-01-22 10:43:46
【问题描述】:
首先,我从图片制作视频的经验几乎为零。
我有一组带 BMP 时间戳的图像,我想从中生成视频。 由于时间戳不是等距的,我不能简单地使用从图像创建恒定帧率视频的软件。
一种可能的解决方案是以固定的时间间隔创建人造图像,但如果我无法制作 VFR 视频,我更愿意将其作为最后的手段。
关于如何实现我想要的任何建议?
【问题讨论】:
标签: video ffmpeg timestamp frame-rate avconv
首先,我从图片制作视频的经验几乎为零。
我有一组带 BMP 时间戳的图像,我想从中生成视频。 由于时间戳不是等距的,我不能简单地使用从图像创建恒定帧率视频的软件。
一种可能的解决方案是以固定的时间间隔创建人造图像,但如果我无法制作 VFR 视频,我更愿意将其作为最后的手段。
关于如何实现我想要的任何建议?
【问题讨论】:
标签: video ffmpeg timestamp frame-rate avconv
您可以结合使用两个工具来执行此操作:ffmpeg 和mp4fpsmod
第一步是使用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
第三步是使用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
【讨论】:
ffmpeg -i ref.mp4 -f mkvtimestamp_v2 timecode.txt
看看这个链接。 http://avisynth.nl/index.php/VFR#encoding_to_vfr_.28mkv.29
现在可能有点过时了,因为您现在执行从 mkvtoolnix(而不是 mkvmerge)导入时间码格式文件的过程,但它应该让您这样做。
【讨论】: