What Is AV Sync Error?
Audio/video sync error — commonly called lip sync error — occurs when the audio and video components of a signal are misaligned in time. In broadcast, this manifests as dialogue that appears to come from a speaker either before or after their mouth moves. Even sub-frame offsets (as little as 15–20 ms) are perceptible to trained viewers, and anything beyond 40–50 ms is immediately uncomfortable for general audiences.
The root cause is always the same: video and audio take different amounts of time to travel through the production chain. Video often takes longer due to the computational overhead of scaling, colour conversion, compression encoding, and hardware output buffering. Audio, when processed in dedicated digital audio workstations or routing matrices, typically travels faster — arriving ahead of its corresponding video frame.
EBU R37 Standard (European Broadcast Union):
Audio must not lead video by more than 15 ms.
Audio must not lag video by more than 45 ms.
The practical target for broadcast output is ±5 ms.
Step 1: Measure Your Actual Offset
Before applying any compensation, measure the actual offset in your system. Guessing and adjusting by ear is unreliable. Use one of these methods:
Method A: Online Sync Test Tool
Use the JEM Productions A/V Sync Calibrator. This tool fires a visual flash and audio beep simultaneously. The offset between what you see and hear is your system's latency. Record the millisecond reading.
Method B: Clapperboard Reference
Film a traditional clapperboard on the camera and feed it through your production chain. In editing software, scrub frame-by-frame to find the frame where the clapper hits, then align it with the audio transient. The frame difference × (1000 ÷ frame rate in fps) = offset in ms.
Method C: Oscilloscope / Audio Analyser
For highest accuracy, route a single reference tonal burst through video as a visual flash and through audio simultaneously. Capture both on a dual-channel oscilloscope or a high-speed DAW to measure the time difference between the two events to sub-millisecond precision.
Step 2: Identify the Source of Delay
Once you know the magnitude and direction of the offset (audio early = video delayed; audio late = audio delayed), identify which component in the chain is causing it. The most common culprits are:
- Capture card processing: Hardware capture cards apply ADC, cable equalisation, scaling, and colour space conversion. Budget USB capture cards can add 80–150 ms. Professional PCIe cards (Blackmagic DeckLink, AJA) operate in the 10–30 ms range.
- Video software processing: vMix, OBS Studio, and similar software add some latency for their internal compositing pipeline. This is typically 16–50 ms depending on GPU load and buffer settings.
- NDI High Bandwidth: Adds approximately 16–33 ms glass-to-glass (one frame at 60fps). Full NDI uses intra-frame SpeedHQ encoding — low but non-zero.
- NDI HX3 / HX2: Short-GOP H.264/HEVC adds 2–4 additional frames (33–130 ms). Long-GOP HX2 can add 100–300 ms.
- Dante / AES67 audio network: Adds 1–10 ms depending on the configured latency setting and network path length. This is a fixed, predictable offset that must be accounted for when audio and video travel via different paths.
- Audio interface buffer: Each buffer cycle adds latency equal to (buffer size ÷ sample rate). A 256-sample buffer at 48 kHz adds 5.33 ms. Multiple processing stages cascade.
Step 3: Apply Compensation
There are two compensation strategies: delay the faster signal to match the slower one, or reduce the latency of the slower path. In live production, reducing latency is often preferable since adding delay worsens the overall end-to-end delay for the operator. However, for broadcast output the critical requirement is sync, not minimum latency.
Fixing Sync in OBS Studio
- Open the Audio Mixer panel.
- Click the gear icon (⚙) next to the audio source that is early.
- Select Advanced Audio Properties.
- In the Sync Offset column, enter a positive value in milliseconds to delay the audio.
- If audio is late (video is early), you cannot delay video in OBS — reduce the audio processing latency instead, or add delay to the video path via a hardware frame synchroniser.
Typical values: Blackmagic capture card → audio sync offset +25–40 ms. USB capture card → +80–120 ms. NDI Full source → +20–33 ms.
Fixing Sync in vMix
- Go to Settings → Audio.
- Find the affected input and click its audio settings.
- Use the Delay slider to add milliseconds of audio delay to align it with the video output.
- vMix also has a global audio delay output option — useful when the entire production is delayed uniformly by video processing.
Fixing Sync in TriCaster
- In the Audio Mixer, locate the affected input channel.
- Access the channel's delay settings (available in the routing matrix view).
- Set the audio delay in frames. Convert your ms offset to frames: frames = ms ÷ (1000 ÷ fps). Round to nearest whole frame.
- TriCaster can also apply delay via its internal frame synchroniser on each input — useful for SDI sources with known per-input delays.
Fixing Sync in Dante Networks
Dante latency is set at the transmitter (sending device) side in Dante Controller. When audio travels over Dante while video takes a different, longer path:
- Open Dante Controller and select the transmitting device.
- Under Device Settings → Latency, increase the Dante latency to add delay to the audio path, matching the video path's total latency.
- Standard settings: 1 ms for a single-switch LAN, 5 ms for WAN or multi-switch paths, 10 ms for complex or intercontinental routing.
Note: Dante latency affects all receivers of that transmitter equally. If different receivers need different offsets, use delay on the per-receiver device or apply offset in the destination mixing engine.
Step 4: Verify with the Sync Test Tool
After applying compensation, run the A/V Sync Test again and verify the offset is within ±5 ms for programme output, or ±15 ms at minimum to meet EBU R37. Re-check after any changes to the signal chain.
Persistent or Variable Sync Drift
If your sync error changes over time or is inconsistent, you are experiencing jitter. A fixed offset can be compensated statically; jitter cannot. Common causes:
- Network congestion causing variable NDI or Dante packet delivery timing
- Missing or unstable PTP/IEEE 1588 clock synchronisation on Dante networks
- GPU render time variation causing frame latency fluctuation in software mixers
- Temperature-driven clock drift in non-genlocked systems over multi-hour productions
For jitter, the solution is to address the root cause — stable network QoS configuration, proper PTP grandmaster setup, and genlock where possible — rather than applying static compensation. Use the Audio Latency Calculator to model your Dante configuration and find the minimum stable latency setting for your network topology.