Full Diagnostic Tree & Step-by-Step Overview
What specific pattern of audio desynchronization or distortion are you experiencing in OBS Studio?
- Audio sync gradually drifts further apart over long streams or recordings (progressive delay)
- Audio is out of sync by a constant, static millisecond offset from the start of the stream/recording
- Audio exhibits crackling, popping, pitch shifts, or robotic distortion alongside latency
- External capture card or webcams (HDMI/USB audio) lag behind local microphone and system sound
Where is the progressive audio clock drift originating from in your system configuration?
- System audio input/output device sample rates differ from the OBS Studio global settings (e.g., 44.1 kHz vs 48 kHz)
- USB audio interface or DAC hardware clock is drifting relative to the system motherboard clock
- Windows Audio Endpoint Builder or WASAPI resampling buffer is introducing cumulative latency
- Variable Frame Rate (VFR) video sources are causing media stream timeline desynchronization
Global System Sample Rate Mismatch (44.1 kHz vs 48.0 kHz)
Solution:
Root Cause: Real-Time Sample Rate Resampling Drift
When OBS Studio's global audio engine is initialized at $48.0\text{ kHz}$ while physical input/output hardware endpoints (such as a USB microphone or realtek sound card) operate at $44.1\text{ kHz}$, the libobs audio subsystem must continuously execute real-time sample rate conversion (SRC). Over time, minor floating-point inaccuracies in the resampling ratio algorithm cause the audio buffer pointer to drift relative to video presentation timestamps (PTS), accumulating progressive latency at roughly $88.2\text{ ms}$ per minute.
# Diagnostic Verification:
Open OBS Studio and navigate to Help -> Log Files -> View Current Log.Search the log text for the audio settings: block and adding 2-channel 44100 Hz input warnings.If you see lines indicating swresample initialization or sample rate mismatch warnings, the audio pipeline is performing active conversion.# Step-by-Step Fix:
1. Realign OS Sound Endpoint Sample Rates (Windows):
Press Win + R, type mmsys.cpl, and press Enter to open the classic Sound Control Panel.Under the Playback tab, right-click your default device, select Properties, and go to Advanced.Set Default Format to 24-bit, 48000 Hz (Studio Quality) or 16-bit, 48000 Hz.Repeat this exact configuration under the Recording tab for all microphones and line inputs.2. Realign OS Sound Endpoint Sample Rates (macOS):
Launch Audio MIDI Setup from /Applications/Utilities/.Select each connected input/output device in the left sidebar and change the Format dropdown to 48,000 Hz.3. Configure OBS Global Audio Settings:
In OBS Studio, open Settings -> Audio.Change Sample Rate to 48 kHz to match modern video containers and broadcast standards.Restart OBS Studio to re-initialize the audio pipeline.# Prevention & Long-Term Monitoring:
Standardize all studio devices (mics, DACs, webcams, mixers) strictly to $48.0\text{ kHz}$ across operating system properties.Disable software suites like Realtek Audio Console or Nahimic from automatically changing sample rates upon device re-connection.
Hardware Crystal Oscillator Asynchronous Clock Drift
Solution:
Root Cause: Unsynchronized Hardware Crystal Oscillators
Every audio device contains an internal quartz crystal oscillator that generates its sampling clock. Independent hardware components (e.g., a USB microphone vs. an onboard motherboard audio chipset) inevitably experience clock drift due to component tolerances and thermal variance. If OBS uses system timestamps for audio frames originating from a device running on an un-slaved hardware clock, the audio stream gradually leads or lags behind the video stream.
# Diagnostic Verification:
Record a 30-minute test clip containing a slate clap or metronome beat.Import the resulting file into a video editor (such as DaVinci Resolve or Premiere Pro).Inspect the waveform: if the audio marker aligns at 00:00:00 but drifts by $>100\text{ ms}$ at 00:30:00, hardware clock drift is confirmed.# Step-by-Step Fix:
1. Force OBS Device Timestamps:
In the Sources dock of OBS, right-click the problematic Audio Input Capture source and select Properties.Uncheck Use Device Timestamps (or check it if currently disabled) to force OBS to utilize system wall-clock timestamps (QueryPerformanceCounter on Windows).2. Lock Clock Source via ASIO / Word Clock (Advanced Production Environments):
If using a multi-channel audio interface, use an official ASIO driver plugin for OBS.Refer to the Microsoft Official Windows Audio Architecture Guide to understand how WASAPI shared mode handles hardware clocks versus kernel streaming.3. Utilize Device Clock Resampling Filter:
Apply the Async Delay filter to the source if available, or adjust the pitch/speed compensation filter in advanced audio setups.# Prevention & Long-Term Monitoring:
Connect high-end audio interfaces to the same USB host controller bus to minimize hub bridge timing variance.Use dedicated ASIO drivers instead of MME/DirectSound emulation layers wherever possible.
WASAPI Audio Endpoint Buffer Underrun and Resampling Queue Creep
Solution:
Root Cause: WASAPI Shared Mode Buffer Underruns
When Windows Audio Session API (WASAPI) operates in Shared Mode, the OS mixer manages audio buffers for multiple concurrent applications. If system CPU usage spikes or DPC latency increases, WASAPI suffers micro-underruns. To prevent audio dropouts, WASAPI pads the stream with silent samples or extends buffer queues, introducing step-wise cumulative delays that compound over prolonged streaming sessions.
# Diagnostic Verification:
Download and run LatencyMon during an active OBS stream.Check the Drivers tab for high execution times in nvlddmkm.sys, Wdf01000.sys, or storport.sys.Inspect the Main tab: if LatencyMon reports "Your system seems to be having difficulty handling real-time audio", DPC latency is forcing WASAPI buffer expansion.# Step-by-Step Fix:
1. Disable Windows Audio Enhancements:
Open mmsys.cpl -> Right-click default audio endpoint -> Properties -> Signals / Enhancements.Check Disable all enhancements or Disable all sound effects.2. Exclusive Mode Buffer Optimization:
In device Properties under the Advanced tab, check both options under Exclusive Mode:*Allow applications to take exclusive control of this device**Give exclusive mode applications priority*3. Mitigate DPC Latency Spikes:
Update GPU drivers and motherboard chipset drivers to the latest WHQL release.Set Windows Power Plan to High Performance or Ultimate Performance (powercfg -duplicatescheme e9a42b02-d5df-448d-aa00-03f147491613 via administrative PowerShell).# Prevention & Long-Term Monitoring:
Keep background audio utilities (e.g., Sonic Studio, Voicemeeter, Waves MaxxAudio) disabled unless strictly required for signal routing.
Variable Frame Rate (VFR) Video Track Timeline Desynchronization
Solution:
Root Cause: VFR Media Container Timecode De-synchronization
When importing screen captures, display captures, or remote video feeds (such as NDI or smartphones) that utilize Variable Frame Rate (VFR) encoding, the video track dynamically alters frame duration based on render load. Audio, however, maintains a Constant Bitrate/Sample Rate timeline. Container formats like MP4/MKV experience drift when multiplexing VFR video alongside CFR audio in real-time.
# Diagnostic Verification:
Inspect recorded files using MediaInfo CLI or GUI.Check the Video section: if Frame rate mode indicates Variable, the source video container is dynamically shifting timestamps.# Step-by-Step Fix:
1. Force Constant Frame Rate in Capture Sources:
In OBS Settings -> Video, ensure Common FPS Values is set to an integer lock (e.g., 60 or 59.94).If using display/game capture, limit in-game frame rates to a multiple of your OBS canvas (e.g., 60, 120, or 240 FPS) to prevent frame dropped timecode slips.2. Enable Network Frame Buffering for NDI / Capture Sources:
Right-click the NDI or media source -> Properties.Change Network Buffering to Lowest (Unbuffered) for LAN or Normal to lock timecodes.3. Transcode Existing Media via FFmpeg:
Run the following command in PowerShell to convert VFR video to CFR prior to importing into OBS: powershell
ffmpeg -i input_vfr.mp4 -vsync cfr -r 60 -c:v libx264 -crf 18 -c:a copy output_cfr.mp4
# Prevention & Long-Term Monitoring:
Avoid using smartphone camera apps via USB/Wi-Fi unless forced to constant frame rate via specialized apps (e.g., Filmic Pro).
What type of static offset or processing delay is affecting your OBS audio pipeline?
- Constant offset caused by Bluetooth or wireless audio hardware transmission latency
- VST2 / VST3 real-time audio processing plugin buffer latency on microphone filters
- Encoder or rendering queue buffering delay on high-load video encoding pipelines
- Hardware audio monitoring delay (hearing yourself late in headphones)
Bluetooth / Wireless A2DP Audio Transmission Latency
Solution:
Root Cause: Bluetooth Codec Transmission Buffering
Wireless Bluetooth audio endpoints (headphones, earbuds) utilize lossy compression algorithms (SBC, AAC, aptX) that introduce an inherent $100\text{ ms}$ to $300\text{ ms}$ encoding/decoding buffer latency. While this does not affect the actual recorded stream file, it causes severe monitoring sync issues where live monitoring audio trails the OBS visual scene meters.
# Diagnostic Verification:
Connect wired headphones directly to the $3.5\text{mm}$ output of your audio interface or motherboard.If monitoring audio is synchronized on wired connections but delayed on Bluetooth, the wireless transport protocol latency is the cause.# Step-by-Step Fix:
1. Apply Negative Sync Offset to Audio Source (for Recorded/Streamed Sync):
Open OBS Studio.In the Audio Mixer dock, click the gear icon (Settings) next to any audio source and select Advanced Audio Properties.Locate your microphone or playback device line and enter a value in Sync Offset (ms) (e.g., -150 ms or 150 ms).2. Switch Bluetooth Profile to Low Latency:
If supported, switch your Bluetooth receiver to aptX Low Latency (aptX-LL) or FastStream mode.Avoid using standard A2DP profiles for live broadcast monitoring.3. Standardize Direct Hardware Monitoring:
Plug monitoring headphones directly into the $3.5\text{mm}$ monitor jack of your USB microphone or audio interface to achieve zero-latency direct hardware monitoring.# Prevention & Long-Term Monitoring:
Always use wired monitoring systems (IEMs or studio headphones) when hosting live broadcasts or performing real-time commentary.
VST Filter Pipeline Algorithmic Delay
Solution:
Root Cause: Lookahead and Convolution Buffer Latency in VST Plugins
Applying heavy digital signal processing (DSP) filters—such as linear-phase equalizers, multi-band compressors, or AI noise suppression plugins (e.g., iZotope RX, RNNoise, or NVIDIA Broadcast)—introduces algorithmic processing delay. Linear-phase filters and lookahead limiters buffer incoming audio frames ($10\text{--}50\text{ ms}$ per plugin), shifting the processed audio out of alignment with raw video frames.
# Diagnostic Verification:
Click the gear icon on the affected Audio Source -> Filters.Toggle filters off one by one (especially noise suppression and limiters) while observing the visual audio meter relative to your voice movement.Look for log entries in obs-studio/logs indicating filter processing delays exceeding $20\text{ ms}$.# Step-by-Step Fix:
1. Calculate Total Plugin Latency:
Record a short clip with a hand clap visible on camera.Frame-step through the recording in OBS preview or a video editor to count the exact number of frames between the physical clap impact and the audio waveform spike.Convert frame delay to milliseconds: $\text{Delay (ms)} = \left(\frac{\text{Frames}}{60}\right) \times 1000$.2. Set Compensating Sync Offset:
Open Advanced Audio Properties in OBS Studio.Enter the calculated millisecond value into the Sync Offset (ms) field for that specific input source.3. Optimize VST Selection:
Replace linear-phase VST plugins with minimum-phase low-latency alternatives.Lower FFT frame sizes in noise reduction filters (e.g., reduce block size from 4096 samples to 512 samples).# Prevention & Long-Term Monitoring:
Limit the use of complex multi-plugin chains directly inside OBS. Offload processing to hardware DSPs (e.g., Elgato Wave Link, TC Helicon GoXLR, or Universal Audio Apollo consoles) whenever possible.
Video Encoder Queue Buffering & Render Latency Offset
Solution:
Root Cause: Hardware Video Encoder Frame Queuing
High-load video encoding architectures (such as NVENC, AMF, or QuickSync) buffer several video frames in VRAM to execute B-frame spatial compression and lookahead rate control. If video processing takes $3\text{--}5$ frames of pipeline depth at 60 FPS, the video output is delayed by $\sim 50\text{--}83\text{ ms}$ relative to the immediate pass-through audio pipeline.
# Diagnostic Verification:
Inspect OBS Stats dock (View -> Stats).Check for Frames missed due to rendering lag or Skipped frames due to encoding lag.If rendering or encoding lag is present, the video stream timeline is experiencing processing delay relative to unbuffered audio.# Step-by-Step Fix:
1. Disable High-Latency Encoder Options:
Open OBS Settings -> Output (Set Output Mode to Advanced).Under the Streaming / Recording tab:Disable Look-ahead (reduces frame buffer queue).Reduce Max B-frames from 4 down to 2 or 0.Set Psycho Visual Tuning to Off if GPU render load is near 100%.2. Apply Global Audio Sync Offset:
In Advanced Audio Properties, apply a positive sync offset (e.g., +60 ms) to all audio sources to delay audio so it matches the buffered video stream.3. Cap GPU Render Load:
Limit in-game frame rates or enable V-Sync to keep overall GPU utilization below 90%, preventing OBS rendering queue stalls.# Prevention & Long-Term Monitoring:
Monitor the OBS Stats panel during high-intensity gameplay to ensure 0.0% dropped frames across rendering and encoding stages.
OBS Monitoring Latency (WASAPI Audio Monitor Queue)
Solution:
Root Cause: Software Audio Monitoring Loop Buffer
When enabling Audio Monitoring inside OBS (Monitor Only or Monitor and Output), the audio signal travels from the input driver, through libobs filters, through the OBS master software mixer, and finally back out through the designated desktop monitoring endpoint. This software loopback adds $50\text{--}150\text{ ms}$ of buffer delay compared to direct hardware monitoring.
# Diagnostic Verification:
Set audio source in Advanced Audio Properties to Monitor and Output.Speak into the microphone: if you hear an echoing slap-back effect in your headphones while the recorded file plays fine, software monitoring queue latency is active.# Step-by-Step Fix:
1. Select High-Performance Monitoring Device:
Go to OBS Settings -> Audio -> Advanced.Set Monitoring Device explicitly to your primary headphone DAC/Interface, avoiding default virtual devices or software cables.2. Enable Direct Hardware Monitoring:
Disable OBS software monitoring by setting the source to Monitor Off in Advanced Audio Properties.Use the physical Direct Monitor knob/button on your USB audio interface or mic to listen to zero-latency hardware side-tone.3. Disable Windows Sound Spatial Audio:
Open mmsys.cpl -> Right-click monitoring device -> Properties -> Spatial sound.Set Spatial sound format to Off to remove OS spatial processing buffers.# Prevention & Long-Term Monitoring:
Use software monitoring in OBS only when auditing live VST filter configurations or testing stings/alerts.
What is the primary physical characteristic of the audio corruption?
- Frequent micro-pops, clicks, or metallic crackling in the audio track
- Audio pitch shifts up or down dynamically, sounding like chipmunks or slow-motion voice
- Audio becomes robotic, distorted, or heavily degraded after switching scenes or default devices
- USB audio interface drops out intermittently and reconnects with desynchronized timing
WASAPI Buffer Starvation and Sample Rate Clipping (Pops and Crackles)
Solution:
Root Cause: Audio Buffer Underflow / Sample Rate Interpolation Artifacts
Crackling and popping occur when the audio buffer size configured in the hardware driver is too small for the OS thread scheduler to replenish before the buffer empties. When a buffer underflow occurs, the audio device outputs zero-value samples, causing sharp digital clipping impulses (pops) accompanied by immediate timing slips.
# Diagnostic Verification:
Open the Control Panel software for your audio interface (e.g., Focusrite Control, Universal Audio Console, MOTU Discovery).Check the Buffer Size (Samples) setting.If buffer size is set to $\le 64\text{ samples}$ while streaming under heavy CPU load, buffer starvation is occurring.# Step-by-Step Fix:
1. Increase Hardware ASIO/WASAPI Buffer Size:
Open your audio interface vendor control panel.Increase Buffer Size from 64 or 128 samples to 256 samples or 512 samples.For standard non-ASIO USB microphones, open OBS Settings -> Audio and verify sample rates strictly match device settings.2. Disable Fast Startup and USB Selective Suspend:
Open Windows Power Options (powercfg.cpl).Click Choose what the power buttons do -> Change settings that are currently unavailable -> Uncheck Turn on fast startup.Edit current power plan -> Change advanced power settings -> USB settings -> USB selective suspend setting -> Set to Disabled.3. Adjust Process Priority of OBS:
In OBS Settings -> Advanced, change Process Priority to Above Normal or High to ensure the OS prioritizes audio thread scheduling.# Prevention & Long-Term Monitoring:
Avoid running low buffer sizes ($ 64\text{ samples}$) intended for DAW recording during live streaming sessions.
Real-Time Resampling Pitch Distortion (44.1 kHz Material Stretched to 48 kHz)
Solution:
Root Cause: Fractional Resampling Interpolation and Speed Stretching
When an audio stream formatted at $44.1\text{ kHz}$ is forcefully read by an application expecting $48.0\text{ kHz}$ without an active resampler filter, $44,100$ samples are pushed through a clock designed to consume $48,000$ samples every second. This playback speed mismatch causes the audio pitch to shift upward by approximately $1.47$ semitones (sounding like chipmunks) while running $8.8\%$ faster than real-time, destroying video synchronization.
# Diagnostic Verification:
Record a short clip of a voice sample.Play back the recording: if voices sound unnaturally high-pitched or slowed down/deep like slow-motion, an unmitigated sample rate cross-read is occurring.# Step-by-Step Fix:
1. Lock Hardware Clock in Device Control Software:
Open the control utility for your microphone/interface.Force the hardware internal clock rate setting strictly to 48000 Hz.2. Reconfigure Windows Default Format:
Execute mmsys.cpl via Win + R.Double-click your input source -> Advanced tab.Select 2 channel, 24-bit, 48000 Hz (Studio Quality) from the drop-down menu.Click Apply and OK.3. Reset OBS Audio Engine:
In OBS, navigate to Settings -> Audio.Toggle Sample Rate to 44.1 kHz, click Apply, then toggle it back to 48 kHz and click Apply to force the audio graph to rebuild.# Prevention & Long-Term Monitoring:
Verify sample rate locks after major Windows Cumulative Updates, which frequently reset sound endpoint properties to system defaults ($44.1\text{ kHz}$).
Audio Endpoint Invalidation and Driver State Corruption
Solution:
Root Cause: Dynamic Device Disconnect / Driver Re-initialization Failure
If a USB audio device momentarily drops power or re-initializes (e.g., during display resolution changes, HDMI handshakes, or USB power state transitions), Windows invalidates the active WASAPI handle. When OBS re-attaches to the newly created device handle, driver state corruption can force the endpoint into fallback fallback modes ($8.0\text{ kHz}$ or mono), resulting in robotic distortion and extreme latency.
# Diagnostic Verification:
Check the OBS Studio log file (Help -> Log Files -> View Current Log).Search for repeated entries showing: WASAPI: Device '...' disconnected followed by WASAPI: Device '...' re-initialized.If re-initialization logs are frequent, physical or driver connection drops are resetting the audio pipe.# Step-by-Step Fix:
1. Replace Virtual Audio Sources with Explicit Endpoints:
Avoid setting OBS audio sources to Default in Settings -> Audio.Explicitly select the exact hardware device name (e.g., Microphone (Focusrite Scarlett 2i2)) for each audio track.2. Fix Physical USB Bus Power Fluctuation:
Connect USB microphones/interfaces to direct rear I/O motherboard ports (USB 3.0/3.1 colored blue or red), avoiding unpowered front-panel headers or cheap USB hubs.Disable USB Selective Suspend in Windows Power Options.3. Re-initialize Audio Device in OBS:
Right-click the affected source -> Properties -> Change device to Disabled, click OK, then reopen Properties and re-select the target audio device.# Prevention & Long-Term Monitoring:
Use powered USB hubs with dedicated external power adapters if operating multiple USB audio controllers simultaneously.
USB Isochronous Transfer Packet Loss / xHCI Host Controller Drops
Solution:
Root Cause: xHCI USB Host Controller Isochronous Packet Loss
USB audio interfaces stream data using Isochronous Transfers, which prioritize real-time delivery over error correction. If the motherboard's xHCI USB Host Controller experiences high bus traffic (such as high-bitrate webcams or external hard drives sharing the same root hub), audio packets are silently dropped without retransmission. The missing packets collapse the audio timeline, causing immediate audio-video desynchronization.
# Diagnostic Verification:
Download and run USBTreeView (USB Device Tree Viewer).Locate your USB audio interface in the device tree and check which Root Hub and Companion Controller it shares.If high-bandwidth webcams (4K capture cards, Logitech Brio) reside on the same Host Controller ID, bus saturation is occurring.# Step-by-Step Fix:
1. Isolate High-Bandwidth USB Devices:
Move webcams and USB capture cards to a separate physical USB host controller (e.g., move webcams to top USB 2.0/3.0 ports, and audio interfaces to bottom USB 3.2 ports).2. Update xHCI Driver and Chipset Firmware:
Visit your motherboard manufacturer's support site and update the System Chipset drivers (AMD Architecture / Intel Management Engine) to resolve xHCI controller timing bugs.3. Lower USB Transfer Bandwidth:
Lower webcam video resolution in OBS properties (e.g., from 4K down to 1080p) to free up Isochronous bus bandwidth for audio endpoints.# Prevention & Long-Term Monitoring:
Install a dedicated PCIe USB expansion card (with independent controller channels) to isolate critical broadcast audio interfaces from video capture hardware.
Which capture hardware or video feed is experiencing audio lag relative to local sources?
- HDMI capture card (Elgato, AverMedia, EVGA) audio trails behind internal system sound
- Webcam integrated microphone audio is out of sync with webcam video feed
- Console / External HDMI Passthrough gameplay audio is delayed in headphone monitoring
- IP Camera, RTSP, or SRT network stream audio is out of sync with video track
HDMI Capture Card Audio Processing and Frame Buffer Delay
Solution:
Root Cause: Hardware Capture Card Video Processing Queue
External HDMI capture cards digitize raw HDMI video signals and process them through internal frame buffers prior to pushing YUV/NV12 video streams across the USB bus. This hardware processing takes between $30\text{ ms}$ and $120\text{ ms}$ depending on resolution and scaling. If audio is captured via a separate direct analog line (like a PC mic), the audio arrives before the processed capture card video frames.
# Diagnostic Verification:
Inspect capture card properties in OBS.Compare a game jump or weapon fire action: if the gunshot sound is heard immediately but the visual muzzle flash on the capture card feed occurs $2\text{--}4$ frames later, video processing delay is present.# Step-by-Step Fix:
1. Extract Embedded HDMI Audio directly from Source:
Right-click the Video Capture Device source in OBS -> Properties.Scroll to the bottom and set Audio Output Mode to Capture audio only.Check Use custom audio device and select the explicit audio driver of the capture card (e.g., Digital Audio Interface (Cam Link 4K)).2. Apply Matching Delay to Local Microphone:
Measure video capture delay (e.g., $60\text{ ms}$ for 1080p60 on standard USB 3.0 capture cards).Open Advanced Audio Properties in OBS.Add +60 ms Sync Offset to your primary desktop audio and microphone sources so they wait for the capture card video frames to render.3. Update Capture Card Firmware:
Download the vendor utility (e.g., Elgato 4K Capture Utility) and flash the latest device firmware to resolve internal clock synchronization bugs.# Prevention & Long-Term Monitoring:
Keep capture cards connected strictly to high-speed USB 3.0/3.2 Gen 1 ports to minimize video frame transmission latency.
Webcam Internal Microphone Buffer Desynchronization
Solution:
Root Cause: Low-Cost USB Controller Multiplexing and Internal Driver Buffering
Integrated webcam microphones share a single USB bridge chip with the camera image sensor. To prioritize video frame transport over limited USB endpoint bandwidth, webcam drivers aggressively compress and buffer the audio stream, introducing variable audio delays relative to the video image.
# Diagnostic Verification:
Record a short video while speaking into the webcam's integrated microphone versus an external USB microphone.Inspect the recorded timeline: if the integrated mic waveform lags behind lip movement while an external mic aligns, the internal webcam audio pipeline is buffering.# Step-by-Step Fix:
1. Disable Integrated Webcam Microphone:
Open mmsys.cpl -> Recording tab.Right-click the webcam microphone (e.g., HD Pro Webcam C920) and select Disable.2. Utilize Dedicated Audio Input Device:
Use a standalone USB condenser mic, XLR microphone, or headset mic as your primary capture device in OBS.3. Align Video and Audio Sources:
Add a Render Delay filter to the Video Capture Device source if the camera video is arriving earlier than a heavily processed XLR microphone pipeline:Right-click Webcam Source -> Filters -> Add Render Delay -> Set value between $20\text{ ms}$ and $100\text{ ms}$.# Prevention & Long-Term Monitoring:
Avoid using built-in webcam microphones for professional streaming or recording due to unconfigurable driver buffering.
HDMI Passthrough and Direct Sound Device Routing Latency
Solution:
Root Cause: OBS DirectSound Audio Driver Emulation for Video Capture Devices
When a Video Capture Device is configured to route audio using Output desktop audio (DirectSound) or Output desktop audio (WaveOut) in OBS properties, the audio is routed through Windows driver emulation layers before hitting your speakers. This legacy software loopback path introduces up to $150\text{ ms}$ of monitoring delay.
# Diagnostic Verification:
Open Video Capture Device Properties in OBS.Scroll to Audio Output Mode.If set to Output desktop audio (DirectSound), software driver re-routing is injecting latency into the monitor chain.# Step-by-Step Fix:
1. Switch Audio Output Mode to Capture Only:
Open Video Capture Device Properties.Change Audio Output Mode strictly to Capture audio only.2. Configure Advanced Audio Properties Routing:
Open Advanced Audio Properties in the OBS Audio Mixer dock.Locate the Video Capture Device audio line.Change its dropdown setting from *Monitor Off* to Monitor and Output.3. Direct Passthrough Connection:
Connect your gaming console or secondary PC audio directly to an optical/line-in port on your sound card or mixer for zero-latency monitoring.# Prevention & Long-Term Monitoring:
Never use DirectSound/WaveOut routing modes in modern OBS Studio releases (version 28.0+).
RTSP / SRT / Network Stream Jitter Buffer Timecode Slips
Solution:
Root Cause: RTP/RTSP Network Jitter Buffer Compensation
Network streaming protocols (RTSP, RTMP, SRT, IP Cameras) utilize adaptive jitter buffers to prevent packet loss drops over unstable network connections. If network latency fluctuates, the OBS Media Source or VLC Source dynamically increases the video jitter buffer to preserve frame continuity, while the audio stream continues real-time playback, resulting in severe desync.
# Diagnostic Verification:
Inspect the OBS Log File during an active network stream intake.Search for entries containing VLC: Network buffer expanded or ffmpeg: RTSP timestamp discontinuity.If timestamp discontinuities occur, network packet jitter is forcing buffer expansion.# Step-by-Step Fix:
1. Enforce SRT Protocol with Latency Locking:
Switch from RTSP/RTMP to SRT (Secure Reliable Transport) protocol for network feeds.Configure explicit latency parameters in the OBS Media Source URL: text
srt://192.168.1.100:9000?mode=caller&latency=120000
Setting an explicit latency=120000 ($120\text{ ms}$) prevents dynamic buffer expansion.2. Configure Media Source Hardware Decoding:
Right-click Media Source -> Properties.Check Use hardware decoding when available.Increase Network Buffering to a fixed value (e.g., 2 MB) to smooth out packet arrival times.3. Network Quality Optimization:
Connect streaming IP sources exclusively over wired Gigabit Ethernet connections, avoiding Wi-Fi bridges or powerline adapters.# Prevention & Long-Term Monitoring:
Ensure network switches handling NDI/RTSP streams support Quality of Service (QoS) and keep network utilization below 80% capacity.