Streaming A/V Sync Calibration: Full Guide for OBS and Streamlabs
A/V sync calibration is a recurring setup task, not a one-time checkbox. Streaming A/V sync calibration is the process of measuring the timing gap between your webcam video and microphone audio before you go live. Human lip-sync tolerance is content-dependent, but broadcast guidance defines detectability and acceptability limits in the same millisecond scale, so even a small fixed gap can make a stream feel wrong before viewers can explain why.1
Calibrating correctly requires two things: a precise measurement of your specific hardware offset, and the correct location in your streaming software to enter the correction. The measurement changes each time your hardware configuration changes. Consequently, treating calibration as a one-time setup step and never re-measuring means your sync correction can become stale when you add a USB device, update a driver, or switch to a new machine.
Measuring your webcam-to-mic offset
The 5-clap test on this page measures the millisecond gap between your webcam video and your microphone audio under your current conditions. Select your production webcam and microphone in the dropdowns, click Start Test, and clap five times in front of the camera. The tool pairs each audio transient with its corresponding video movement and averages the readings.
Your specific offset depends on your camera model, USB host controller, OS version, and background CPU load. A camera that measures one value on one machine can measure a different value on another because USB timing, drivers, and application scheduling all affect the final path. Measure on the machine you stream from, with the exact USB devices you use during streams.
Run the calibration test with unnecessary streaming apps closed and your browser as the only application accessing the camera and microphone. The browser asks for camera and microphone permission before it can receive those media tracks, so the test should be run in the same permission state you use for production.2 A clean machine state gives the browser less competing device access and usually produces a tighter five-reading spread. Measure first, then open your streaming software and enter the correction without changing any USB device connections between the measurement and the entry.
Keeping calibration tied to the live scene
The correction must match the scene you actually stream. If one scene uses a USB headset mic and another uses an interface-fed studio mic, each scene needs its own measured offset because the audio path changed. Label the OBS value with the scene, webcam, microphone, USB port, and resolution so you can restore the right correction after rebuilding a scene.
After rebuilding a scene, do not assume the old value still applies. The new scene may route audio through a different device or a different USB port than the original, which shifts the offset even when the camera is the same. Restoring the labeled value from your notes is only safe when the scene, microphone, USB port, and resolution all match the setup you measured.
Entering the correction in OBS and Streamlabs
In OBS Studio, open Edit > Advanced Audio Properties. Find your microphone in the source list and enter the measured value in the Sync Offset (ms) column. OBS exposes a source API that gets and sets audio sync offset in nanoseconds, while the Advanced Audio Properties UI converts between milliseconds and nanoseconds for the spin box.3
Streamlabs Desktop is OBS-derived and exposes audio-source sync settings through its audio API, including a syncOffset field on audio sources.4 In the current Streamlabs interface, use the audio-source sync setting available in your version rather than looking for a separate filter named Audio Delay. Enter the measured value for the microphone source, then verify the result with a short recording.
Choosing OBS or Streamlabs as the correction point
Use the software that produces your final output. OBS and Streamlabs share similar source timing concepts, but the panel names and interface paths are not identical, so the correction must be entered where the stream is encoded. If you use OBS for local recordings and Streamlabs for live streaming, measure once and enter the value in both applications because each one applies its own independent offset to the audio source during output.
Verifying sync in a short test recording
After entering the measured value in OBS or Streamlabs, record a short test clip before going live. Clap once near the middle of the clip. Play back the clip and scrub to the clap frame-by-frame. At the correct sync offset, the clap sound lands on the same frame as the peak hand-impact frame. At 30fps each frame is about 33 ms; at 60fps each frame is about 16.7 ms. If the sound arrives one frame early or late after applying the correction, adjust the sync offset by a small amount and re-record until the alignment is close enough for your stream.
Maintaining accurate sync over time
Re-calibrate whenever you update your webcam driver, add a new USB device to your streaming machine, or notice sync issues in recorded content. USB isochronous transfers are designed for time-dependent data such as audio and video streaming, and the host controller reserves bus intervals for those transfers.5 That structure helps steady delivery, but it does not make every device path equal.
Furthermore, re-calibrate after any OS update that touches USB audio scheduling. Windows and macOS updates can change driver behavior or USB scheduling, which shifts the audio path independently of the video path. The 5-clap test takes under two minutes and gives you a fresh correction value every time. Driver updates from USB chipset vendors like Intel, AMD, or ASMedia can also change the host controller's frame delivery timing, which affects the video side of the measurement even when the camera and microphone remain the same.
The safest practice is to re-calibrate at the start of the first streaming session after any major OS update or driver update. Re-calibration confirms your existing OBS or Streamlabs offset is still accurate before viewers see your stream. Keeping a log of your measured offsets alongside the driver versions and OS build numbers helps you correlate future sync shifts with specific updates, making it faster to diagnose whether a recent change caused the problem or whether the shift came from a hardware or USB topology change instead.
When to use this
Watch for a driver update silently breaking your OBS offset before the first stream on a new machine, after any change to your USB device configuration, or any time a viewer reports lip-sync issues on your stream.
Examples
First-time stream setup with Elgato Facecam and Shure MV7+
Measure before the first stream. The Facecam and MV7+ via USB-C on the same machine need a fresh measurement on your machine. Enter the exact measurement in OBS or Streamlabs rather than using a published estimate.
Viewer reports lips are slightly ahead of audio after a Windows Update
The Windows Update may have changed USB audio scheduling. Re-run the 5-clap test to get a new offset. Enter the updated value in OBS Advanced Audio Properties or the Streamlabs audio sync setting and verify with a test recording.
- 1.
International Telecommunication Union, "Relative timing of sound and vision for broadcasting," itu.int, accessed June 2026. https://itu.int/rec/R-REC-BT.1359/en
- 2.
Mozilla Developer Network, "MediaDevices: getUserMedia() method," developer.mozilla.org, accessed June 2026. https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia
- 3.
OBS Project, "Source API Reference (obs_source_t)," docs.obsproject.com, accessed June 2026. https://docs.obsproject.com/reference-sources?highlight=source+properties
- 4.
OBS Project, "adv-audio-control.cpp," github.com, accessed June 2026. https://github.com/obsproject/obs-studio/blob/cd70c2e037c23909d9e4f1b37b1df0303555f79d/UI/adv-audio-control.cpp
- 5.
Microsoft, "How to Transfer Data to USB Isochronous Endpoints," learn.microsoft.com, accessed June 2026. https://learn.microsoft.com/en-us/windows-hardware/drivers/usbcon/transfer-data-to-isochronous-endpoints