Audio Sync and Multicam Editing — Oak Video Editor Manual

Audio Sync and Multicam Editing

Oak provides audio-sync tools based on timecode and waveforms, as well as basic multicam editing support.

Audio Sync

Synchronize by Source Time

  • Use case: different cameras or recorders share the same source timecode / BWF time reference.

  • Operation: select multiple clips on the timeline → right-click → Synchronize by Source Time.

  • Oak reads each footage item’s source_start_time, calculates the time offset, and moves the clips to the corresponding positions.

Synchronize by Waveform

  • Use case: no reliable timecode, but the audio content is the same across sources.

  • Operation: select two or more clips with cached waveforms on the timeline → right-click → Synchronize by Waveform (shortcut Ctrl+Shift+W).

  • The algorithm extracts an RMS envelope and estimates the offset using normalized cross-correlation.

  • Window size is 50 ms; maximum supported offset is 10 minutes.

Timecode / BWF Auto-Detection

  • When footage is imported, FFmpegDecoder automatically probes:

    • timecode: LTC / VITC timecode strings.

    • time_reference: the BWF bext chunk sample reference.

  • Detected source start times are written to the footage’s FootageDescription and saved with the project.

  • If a file does not contain these metadata fields, Synchronize by Source Time cannot be used.

Multicam Editing

Oak’s basic multicam feature treats the tracks inside a nested Sequence as different camera angles.

Creating a Multicam Clip

  1. Place each camera’s footage on a different track of the same Sequence and align them using the methods above.

  2. On the timeline, select the nested Sequence clip (its connected_viewer must be a Sequence).

  3. Right-click → check Multi-Cam.

  4. Oak creates a MultiCamNode, rewires the Sequence output into it, and connects each track to kSourcesInput.

Switching Angles

  • Open the Multicam panel (hidden by default; open it from the Window menu) to see a grid of angle thumbnails.

  • Shortcuts:

    • 19: switch to the corresponding angle and split the clip at the playhead.

    • Ctrl+1Ctrl+9: switch angle without splitting.

  • Clicking a thumbnail in the Multicam panel also switches and splits.

  • Switching creates an undo command; press Ctrl+Z to undo.

Multicam Output

  • MultiCamNode’s kCurrentInput determines which angle is currently output.

  • In preview mode, RenderProcessor generates a multicam_output attribute for MulticamDisplay to show all angles; final output is still controlled by the currently selected angle.

Limitations

  • There is no dedicated multicam sync wizard; you must first align the tracks inside a Sequence manually.

  • Only the simple Sequence MultiCamNode structure is supported.

  • There is no cut-list export.

  • The README roadmap lists “full multicam angle switching” as a 0.5 milestone, so the current implementation is still early.

Audio Sync Limitations

  • Waveform sync relies on cached regions of the AudioWaveformCache; uncached regions are filled with zeros, which may reduce accuracy.

  • There is no UI for manually entering or correcting source start times; detection is fully automatic.

  • Only overall offset alignment is supported; stretch / speed-change sync is not supported.