Audio lagging behind video in Teams/Zoom

bda

New Member
I've been trying to setup OBS for teaching next month, and I'm running into a consistent problem that the audio (from Blue Yeti) is always behind the video (from CamLink 4k) when input into Teams or Zoom. If I run the audio through a virtual cable, the delay is around 500-1000ms. If I send it straight from the Yeti to Teams, it's maybe a quarter to half that time. If I record a video in OBS, everything aligns perfectly. I've tried various ways to solve the problem. One solution was to up the buffered frames in the Virtual Cam plugin to 15, which aligned the audio/video fairly well. The problem, though, was that Teams was downgrading the image quality so that text was unreadable. I then got around that by using NDI to send the preview window, but then, the delay was back. This led me to install OBS v26r3 to take advantage of the native camera support. The video is great using it, but the audio delay is still present and consistent with what was happening with v25. However, I can't find a way to buffer the video to slow it down to sync it, so I'm still sitting with video coming before audio by a significant amount. It's odd to me since I would assume audio should be arriving faster, especially if I route it directly from the Yeti to Teams, but nope. Here's the log file of a session where the delay happened. It is also present irrespective of how many sources I'm pulling - if I have a screen grab from another computer with NDI, and a powerpoint window capture, the delay is still the same as if I just had the CamLink 4k video. Any help would be most appreciated, as I need to crack this problem before teaching starts in a couple weeks!


13:36:29.637: CPU Name: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
13:36:29.637: CPU Speed: 3192MHz
13:36:29.637: Physical Cores: 6, Logical Cores: 12
13:36:29.637: Physical Memory: 16163MB Total, 12987MB Free
13:36:29.637: Windows Version: 10.0 Build 19041 (release: 2004; revision: 508; 64-bit)
13:36:29.637: Running as administrator: true
13:36:29.637: Aero is Enabled (Aero is always on for windows 8 and above)
13:36:29.637: Windows 10 Gaming Features:
13:36:29.637: Game Bar: Off
13:36:29.637: Game DVR: Off
13:36:29.637: Game DVR Background Recording: Off
13:36:29.637: Game Mode: Off
13:36:29.639: Sec. Software Status:
13:36:29.639: Microsoft Defender Antivirus: enabled (AV)
13:36:29.639: Windows Firewall: enabled (FW)
13:36:29.640: Current Date/Time: 2020-09-24, 13:36:29
13:36:29.640: Browser Hardware Acceleration: false
13:36:29.640: Portable mode: false
13:36:29.917: OBS 26.0.0-rc3 (64-bit, windows)
13:36:29.917: ---------------------------------
13:36:29.918: ---------------------------------
13:36:29.918: audio settings reset:
13:36:29.918: samples per sec: 44100
13:36:29.918: speakers: 1
13:36:29.919: ---------------------------------
13:36:29.919: Initializing D3D11...
13:36:29.919: Available Video Adapters:
13:36:29.921: Adapter 0: Radeon RX 550
13:36:29.921: Dedicated VRAM: 4274876416
13:36:29.921: Shared VRAM: 4179251200
13:36:29.921: PCI ID: 1002:699f
13:36:29.922: Driver Version: 27.20.1010.2001
13:36:29.922: output 0: pos={0, 0}, size={1920, 1200}, attached=true, refresh=59, name=DELL U2412M
13:36:29.922: output 1: pos={-1920, 0}, size={1920, 1080}, attached=true, refresh=60, name=HP E231
13:36:29.922: Adapter 1: Intel(R) UHD Graphics 630
13:36:29.922: Dedicated VRAM: 134217728
13:36:29.922: Shared VRAM: 4179251200
13:36:29.922: PCI ID: 8086:3e92
13:36:29.922: Driver Version: 26.20.100.7757
13:36:29.923: Loading up D3D11 on adapter Radeon RX 550 (0)
13:36:29.954: D3D11 loaded successfully, feature level used: b000
13:36:29.954: DXGI increase maximum frame latency success
13:36:29.954: D3D11 GPU priority setup success
13:36:30.291: ---------------------------------
13:36:30.291: video settings reset:
13:36:30.291: base resolution: 1920x1080
13:36:30.291: output resolution: 1920x1080
13:36:30.291: downscale filter: Lanczos
13:36:30.291: fps: 30/1
13:36:30.291: format: NV12
13:36:30.291: YUV mode: 709/Partial
13:36:30.291: NV12 texture support enabled
13:36:30.292: Audio monitoring device:
13:36:30.292: name: CABLE-A Input (VB-Audio Cable A)
13:36:30.292: id: {0.0.0.00000000}.{fe43ae15-ba63-4355-ba94-241da96b2a4b}
13:36:30.292: ---------------------------------
13:36:30.294: [CoreAudio encoder]: CoreAudio AAC encoder not installed on the system or couldn't be loaded
13:36:30.295: Failed to load 'en-US' text for module: 'decklink-ouput-ui.dll'
13:36:30.486: [AMF] Version 2.7.0 loaded (Compiled: 1.4.14.0, Runtime: 1.4.17.0, Library: 1;4;17;0;20.10.10.02;202005071232;CL#2111686).
13:36:30.582: [AMF] [Capability Manager] Testing Direct3D 11 Adapter 'Radeon RX 550 (VEN_1002/DEV_699f/SUB_90fa103c/REV_00c7)':
13:36:30.582: H264/AVC: Supported
13:36:30.582: H265/HEVC: Supported
13:36:30.582:
13:36:30.594: [obs-browser]: Version 2.8.7
13:36:30.597: [obs-ndi] hello ! (version 4.9.0)
13:36:30.597: [obs-ndi] Trying 'C:\Program Files\NewTek\NDI 4 Tools\Runtime'
13:36:30.597: [obs-ndi] Found NDI library at 'C:/Program Files/NewTek/NDI 4 Tools/Runtime/Processing.NDI.Lib.x64.dll'
13:36:30.599: [obs-ndi] NDI runtime loaded successfully
13:36:30.603: [obs-ndi] NDI library initialized successfully (NDI SDK WIN64 01:27:52 Sep 10 2020 4.5.3.0)
13:36:30.628: Couldn't find VLC installation, VLC video source disabled
13:36:30.633: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
13:36:30.634: No blackmagic support
13:36:30.636: ---------------------------------
13:36:30.636: Loaded Modules:
13:36:30.636: win-wasapi.dll
13:36:30.636: win-mf.dll
13:36:30.636: win-dshow.dll
13:36:30.636: win-decklink.dll
13:36:30.636: win-capture.dll
13:36:30.636: vlc-video.dll
13:36:30.636: text-freetype2.dll
13:36:30.636: rtmp-services.dll
13:36:30.636: obs-x264.dll
13:36:30.636: obs-vst.dll
13:36:30.636: obs-virtualoutput.dll
13:36:30.636: obs-transitions.dll
13:36:30.636: obs-text.dll
13:36:30.636: obs-qsv11.dll
13:36:30.636: obs-outputs.dll
13:36:30.636: obs-ndi.dll
13:36:30.636: obs-filters.dll
13:36:30.636: obs-ffmpeg.dll
13:36:30.636: obs-browser.dll
13:36:30.636: image-source.dll
13:36:30.636: frontend-tools.dll
13:36:30.636: enc-amf.dll
13:36:30.636: decklink-ouput-ui.dll
13:36:30.636: coreaudio-encoder.dll
13:36:30.636: ---------------------------------
13:36:30.636: ==== Startup complete ===============================================
13:36:30.639: All scene data cleared
13:36:30.639: ------------------------------------------------
13:36:30.717: WASAPI: Device 'Speakers (Synaptics HD Audio)' [48000 Hz] initialized
13:36:30.717: [Loaded global audio device]: 'Desktop Audio'
13:36:30.739: WASAPI: Device 'Microphone (Yeti Stereo Microphone)' [48000 Hz] initialized
13:36:30.764: [Loaded global audio device]: 'Yeti Microphone'
13:36:30.764: - filter: 'VST 2.x Plug-in' (vst_filter)
13:36:30.764: - filter: 'Noise Gate' (noise_gate_filter)
13:36:30.764: - filter: 'Compressor' (compressor_filter)
13:36:30.764: - filter: 'Noise Suppression' (noise_suppress_filter_v2)
13:36:30.764: - monitoring: monitor and output
13:36:30.778: WASAPI: Device 'CABLE-B Output (VB-Audio Cable B)' [44100 Hz] initialized
13:36:30.780: [Loaded global audio device]: 'Mic/Aux 2'
13:36:30.780: - monitoring: monitor and output
13:36:30.782: adding 46 milliseconds of audio buffering, total audio buffering is now 46 milliseconds (source: Yeti Microphone)
13:36:30.782:
13:36:30.792: WASAPI: Device 'CABLE-A Output (VB-Audio Cable A)' [44100 Hz] initialized
13:36:30.795: [Loaded global audio device]: 'Mic/Aux 3'
13:36:30.795: - monitoring: monitor only
13:36:30.796: [window-capture: 'Powerpoint Window'] update settings:
13:36:30.796: executable: POWERPNT.EXE
13:36:30.796: method selected: WGC
13:36:30.796: method chosen: WGC
13:36:30.796:
13:36:30.806: Switched to scene 'Camera'
13:36:30.806: ------------------------------------------------
13:36:30.806: Loaded scenes:
13:36:30.806: - scene 'Camera':
13:36:30.806: - source: 'CamLink 4K' (dshow_input)
13:36:30.806: - filter: 'Color Correction' (color_filter)
13:36:30.806: - source: 'Yeti Microphone' (wasapi_input_capture)
13:36:30.806: - monitoring: monitor and output
13:36:30.806: - filter: 'VST 2.x Plug-in' (vst_filter)
13:36:30.806: - filter: 'Noise Gate' (noise_gate_filter)
13:36:30.806: - filter: 'Compressor' (compressor_filter)
13:36:30.806: - filter: 'Noise Suppression' (noise_suppress_filter_v2)
13:36:30.806: - scene 'OneNote':
13:36:30.806: - source: 'Surface - NDI Link' (dshow_input)
13:36:30.806: - scene 'OneNote+Powerpoint':
13:36:30.806: - source: 'Powerpoint Window' (window_capture)
13:36:30.806: ------------------------------------------------
13:36:30.874: ---------------------------------
13:36:30.874: [DShow Device: 'CamLink 4K'] settings updated:
13:36:30.874: video device: Cam Link 4K
13:36:30.874: video path: \\?\usb#vid_0fd9&pid_0066&mi_00#6&14afb1a&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global
13:36:30.874: resolution: 1920x1080
13:36:30.874: flip: 0
13:36:30.874: fps: 59.94 (interval: 166833)
13:36:30.874: format: NV12
13:36:30.877: ---------------------------------
13:36:30.877: [DShow Device: 'Surface - NDI Link'] settings updated:
13:36:30.877: video device: NewTek NDI Video
13:36:30.877: video path: \\?\root#media#0004#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\vidsource0
13:36:30.877: resolution: 1920x1080
13:36:30.877: flip: 0
13:36:30.877: fps: 29.97 (interval: 333667)
13:36:30.877: format: UYVY
13:36:30.892: using video device audio: no
13:36:30.892: separate audio filter
13:36:30.892: sample rate: 44100
13:36:30.892: channels: 2
13:36:30.892: audio type: Capture
13:36:31.168: adding 162 milliseconds of audio buffering, total audio buffering is now 208 milliseconds (source: CamLink 4K)
13:36:31.168:
13:37:27.906: Virtual output started
13:37:27.908: ==== Virtual Camera Start ==========================================
 

bda

New Member
As an update, I found the video delay in the filters, but it would be much better if I could get rid of the 500ms delay between the video playing and then the audio playing.
 
Top