音频同步和多机位剪辑 — 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 分钟。
时间码 / BWF 自动探测¶
导入素材时,
FFmpegDecoder会自动探测以下元数据:timecode:LTC / VITC 等时间码字符串。time_reference:BWFbext块中的采样点参考。
探测到的源起始时间会写入素材的
FootageDescription并随项目保存。如果文件不含这些元数据,则无法使用“按源时间同步”。
多机位剪辑(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 版本目标,当前实现仍属早期。
音频同步限制¶
波形同步依赖
AudioWaveformCache已缓存区域;未缓存部分会用 0 填充,可能降低精度。没有手动输入 / 修改源起始时间的 UI,完全依赖素材元数据自动探测。
当前只支持整体偏移对齐,不支持 stretch / 变速同步。