视频格式

60 fps 转 30 fps:少一半帧,不是慢一半

降帧率与慢动作是两回事。先确认源文件实际帧率,再按交付要求导出,重点检查平移镜头、快速动作和音画同步。

同一时间段内十二个采样帧与六个采样帧的示意对比

Mitch Hedberg 讲过一个看游行的段子:嫌游行无聊,可以朝反方向跑,相当于给游行快进。

但把 60 fps 转成正常速度的 30 fps,不应该让事件变快或变慢。同样的一秒,只是用更少的画面来描述。

「视频交付少抓狂」这一篇,先把输出帧率与播放速度分开。

少了哪些东西,又保留了什么?

理想情况下,一秒的 60 fps 视频有六十帧;30 fps 输出有三十帧。正常帧率转换会把输出帧放在同样的一秒内,动作时长保持。

另一种做法是把原来的六十帧全部按每秒三十帧播放,这段画面就可能变成两秒。那属于慢动作流程,不是这里要做的交付降帧率。

FFmpeg 的 fps 滤镜文档说明,恒定帧率转换会根据需要丢弃或重复帧。具体取舍与时间戳有关,下图只是理解 60 转 30 的简化示意。

在相同时间区间内减少均匀采样帧的帧率转换原理图
原理示意:采样帧减少,时间区间保持;并非某段真实视频的逐帧处理记录。

先确认它真的是 60 fps

相机设置里口头称作“60”的素材,实际可能是 59.94 fps;录屏还可能存在可变帧率。先在编辑器里查看源文件属性,不要只看文件名。

交付要求也要读清楚。29.97 fps 和精确的 30 fps 并不是同一个数值。编辑器支持时,按对方要求填写,不要习惯性四舍五入。

原始录像继续保留。以后需要重新剪辑,或接收平台支持原始运动节奏时,源文件仍然有价值。

在编辑器中导出正常速度的副本

本站当前的视频格式转换工具会保留源尺寸和源帧率,没有开放 60 转 30 fps 的控制项。这一步需要使用能够明确设置输出帧率的编辑器。

  1. 导入原始录像,确认时间线上按正常速度播放。
  2. 保持片段速度为 100%,避免使用会改变播放时长的素材解释设置。
  3. 在导出设置中选择要求的 30 fps。
  4. 保留需要的分辨率和长宽比,帧率变化不要求画面变形。
  5. 包含需要的音轨,用新文件名导出。
  6. 重新打开输出,检查文件属性、时长与声音。

不同编辑器的名称可能不同。有的软件通过序列或项目设置控制输出帧率,就先准备合适的序列,并核对时间线。目标始终是每秒输出三十帧,同时保持动作正常速度。

找一段最容易看出问题的运动

看横向平移、快速挥手、滚动文字,或者球穿过画面的片段。时间采样减少后,快速运动可能没有原来平滑,即使暂停时每一帧都很清楚。

输出也会继承拍摄时形成的运动模糊。减少帧数,并不会自动获得另一种快门设置下直接拍摄 30 fps 的观感。

检查真实源帧率、播放平移和快速动作、确认时长与音画同步的清单
按正常速度检查运动;暂停画面无法反映运动节奏。

分别检查靠近开头与结尾的说话画面。除了帧边界取整可能造成的细小差异,整体时长应基本一致,声音也应保持同步。

格式不合适时,再处理格式

编辑器已经导出对方接受的 MP4,就可能已经完成,不必再转一次来“提升质量”。

如果帧率已正确,只差接收方要求的文件类型,可以用视频格式工具处理这一项。工具会保留你提供的文件帧率。MOV 转 MP4 指南介绍了兼容性检查方法。

如果对方还要求 1080p,可以在编辑器中一次设好两个交付条件,再检查最终导出。4K 转 1080p 指南会解释尺寸怎么降,以及为什么像素减少比例不能当成体积减少比例。