可变帧率 VFR:时间戳不均匀的坑
帧率 30fps 的视频,每帧间隔未必是 1/30 秒——如果间隔忽长忽短,它就是可变帧率(VFR)素材,一系列"玄学"问题的根源。
CFR 与 VFR:两种时间戳形态
固定帧率(CFR)下,帧间隔恒定:30fps 的视频每帧严格间隔 1/30 秒。可变帧率(VFR)下,帧间隔随内容变化:画面静止时少存几帧,动起来时密一点——省体积,录制端也省算力。
VFR 本身不是缺陷,它是录像场景的合理优化:录屏时大部分时间画面静止,VFR 可以少编码重复帧。问题出在后续处理——绝大多数剪辑与合并工具按 CFR 假设对齐时间轴,VFR 素材一进来,时间轴就对不齐了。
VFR 的典型症状
三个高发症状:合并多段素材后,越到后面音画偏得越多——各段的时间轴漂移量不同,误差随拼接累积;进度条拖动不准,拖到某处画面与声音对不上;上传平台后异常二压或清晰度迟迟不出来——平台转码管线对不规范时间戳敏感。
这些症状的共同点是"越处理越明显":直接播放看不出问题,一旦进入合并、剪辑、转码链路就开始漂移。遇到"单独看正常、合并后漂移"的素材,第一怀疑对象就是 VFR。
谁在产出 VFR
手机录屏几乎都是 VFR:iOS 与安卓的屏幕录制按需存帧,静止画面长时间不产生新帧。部分直播录制、老 FLV、个别相机的高帧率模式也会输出 VFR。手机正常拍摄的视频多为 CFR 或接近 CFR,受影响的主要是录屏与直播链路。
判断方法:用编码检测看帧率——显示"平均帧率"且实际间隔不均,或两个不同帧率数值并存,就是 VFR 的信号。更直接的办法是做一次合并测试:单独正常、合并漂移,基本可以定案。
处理策略:什么时候转 CFR
原则:素材要进入合并、剪辑、多段拼接的流程,就先重编码统一成 CFR——转码过程会按均匀时间戳重建帧序列,后续链路不再漂移。单独播放或直接上传的素材不必动,VFR 的省体积优势还在。
重编码时帧率选素材的名义帧率(录屏通常 30 或 60fps)。转成 CFR 后体积会略增(静止画面也要存帧),这是把时间轴捋直的合理代价。音频不受影响,音轨本身没有帧率概念,漂移的是视频时间轴与音频时钟的对齐关系。