音频同步和多机位剪辑 — Oak Video Editor Manual
音频同步和多机位剪辑¶
Oak 提供基于时间码与波形的音频同步功能,以及基础的多机位剪辑支持。
音频同步¶
按源起始时间同步(Synchronize by Source Time)¶
适用场景:不同机位或录音设备记录了相同的源时间码 / BWF 时间参考。
操作:在时间轴中选中需要对齐的多个片段 → 右键 →
按源时间同步。Oak 会读取每个素材的
source_start_time,计算时间偏移并把片段移动到对应位置。
按波形同步(Synchronize by Waveform)¶
适用场景:没有可靠时间码,但各机位/录音的音频内容相同。
操作:在时间轴中选中 ≥2 个带有已缓存波形的片段 → 右键 →
按波形同步``(快捷键 ``Ctrl+Shift+W)。算法提取音频 RMS 包络,通过归一化互相关估计偏移量。
未缓存的波形区域不再被当作静音:包络提取会把未缓存窗口标记为无效,互相关计算时跳过这些窗口,因此只缓存了部分波形的片段也能准确对齐。
窗口大小为 50 ms,最大偏移支持 10 分钟。
按波形同步(调整速度)用于各源播放速率略有差异的情况(如 24 fps 与 25 fps 的 pull-down)。当单纯偏移对齐无法得出可信结果时,它会在 0.75–1.34 的速率范围内搜索,把估计的速率作为片段变速应用,并同时完成偏移放置;整个过程是一次可撤销操作。
时间码 / BWF 自动探测¶
导入素材时,
FFmpegDecoder会自动探测以下元数据:timecode:LTC / VITC 等时间码字符串。time_reference:BWFbext块中的采样点参考。
探测到的源起始时间会写入素材的
FootageDescription并随项目保存。如果文件不含这些元数据,则无法使用“按源时间同步”,除非手动设置源起始时间(见下文)。
手动设置源起始时间¶
右键素材 →
属性打开素材属性对话框,其中包含源起始时间字段:一个启用复选框和一个以秒为单位的数值。适用于元数据中缺少时间码 / BWF 信息,或自动检测结果不正确的素材。
对话框还会标明当前值是自动检测得到的(并注明来源元数据)还是手动设置的。
该值会被
按源时间同步使用,并随项目保存。
多机位剪辑(Multicam)¶
Oak 的基础多机位功能允许把嵌套 Sequence 内的多个轨道作为不同“机位”进行切换。
创建多机位¶
先把各个机位的素材放到同一个 Sequence 的不同轨道上,并按上述方法对齐。
在时间轴中选中该嵌套 Sequence 的片段(其
connected_viewer必须是 Sequence)。右键 → 勾选
多机位(Multi-Cam)。Oak 会自动创建一个
MultiCamNode,把 Sequence 的输出改接到该节点,并把各轨道接到kSourcesInput。
切换机位¶
打开 多机位 面板(默认隐藏,通过
窗口菜单打开),会显示各机位缩略图网格。快捷键:
1–9:切换到对应机位,并在当前播放头处分割片段。Ctrl+1–Ctrl+9:切换机位但不分割片段。
点击多机位面板中的网格也会切换并分割片段。
切换动作会记录为撤销命令,可
Ctrl+Z撤销。
多机位输出¶
MultiCamNode的kCurrentInput决定当前输出哪个机位。在预览模式下,
RenderProcessor会生成multicam_output属性供MulticamDisplay显示所有机位;最终输出仍由当前选中的机位决定。
限制¶
没有专门的“多机位同步向导”,需要先手动把素材放到同一 Sequence 的不同轨道上并对齐。
仅支持
Sequence → MultiCamNode的简单结构。没有切点列表(cut list)导出功能。
README 路线图中将“完整多机位角度切换”列为 0.5 版本目标,当前实现仍属早期。