【问题标题】:Can I create a VFR video from timestamped images?我可以从带时间戳的图像创建 VFR 视频吗?
【发布时间】:2015-01-22 10:43:46
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: video ffmpeg timestamp frame-rate avconv


    【解决方案1】:

    您可以结合使用两个工具来执行此操作: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

    【讨论】:

    • 你好,请问有什么工具或者代码sn-p可以生成时间码文件吗?
    • @erdoganonur 抱歉,刚看到这个。使用ffmpeg -i ref.mp4 -f mkvtimestamp_v2 timecode.txt
    • @gyan,在 VFR 的情况下,时间码似乎不正确,因为它似乎输出“平均”时间戳
    • 它将输出四舍五入到毫秒的时间戳。
    【解决方案2】:

    看看这个链接。 http://avisynth.nl/index.php/VFR#encoding_to_vfr_.28mkv.29

    现在可能有点过时了,因为您现在执行从 mkvtoolnix(而不是 mkvmerge)导入时间码格式文件的过程,但它应该让您这样做。

    【讨论】:

      猜你喜欢
      • 2019-02-03
      • 1970-01-01
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 2014-09-24
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      相关资源
      最近更新 更多