Question / Help Mic Sync Offset appears not to be working

JackAttackNZ

New Member
Hi there!

I've recently installed OBS for streaming gameplay to Twitch and after a few days of setup and tweaking, my setup is as follows:

Main video input is from Dxtory - Works fine
Main audio is default audio channel from computer - Works fine and is in sync with video
Microphone audio is recorded through a Blue Yeti microphone, taken into VSTHost to have real time effects added. It is outputted to a virtual cable and OBS pick this up.

Due to the microphone input being processed there is a delay on this audio seems about 600ms. Now I've been reading plenty of forum posts saying to set the Mic Sync Offset to a negative value (probably -600 in my case) to solve this issue, but this has no effect when I preview the stream. I've even tried setting the Mic Sync Offset to 4000 with a buffer of 5000 to see if that would delay the audio even further to check the Mic Sync Offset further but this seems to cause the stream preview to start with a massive delay then preview the same as before (mic delayed after the video/main audio).

I've tried restarting the stream, restarting OBS, loads of different settings within OBS but would appreciate the help of someone more knowledgeable to diagnose this issue. My latest log file is below.

Thanks in advance,

Jack
JackAttackNZ

Code:
19:58:54: Open Broadcaster Software v0.637b - 64bit ( ^ω^)
19:58:54: -------------------------------
19:58:54: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
19:58:54: CPU Speed: 3400MHz
19:58:54: Physical Memory:  8075MB Total, 4934MB Free
19:58:54: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
19:58:54: monitor 1: pos={0, 0}, size={1920, 1080}
19:58:54: monitor 2: pos={1920, 0}, size={1440, 900}
19:58:54: Windows Version: 6.2 Build 9200
19:58:54: Aero is Enabled
19:58:54: -------------------------------
19:58:54: OBS Modules:
19:58:54: Base Address     Module
19:58:54: 00000000EEB80000 OBS.exe
19:58:54: 0000000064060000 OBSApi.dll
19:58:54: 0000000065230000 DShowPlugin.dll
19:58:54: 0000000064C10000 GraphicsCapture.dll
19:58:54: 000000006E4C0000 NoiseGate.dll
19:58:54: 0000000064D40000 PSVPlugin.dll
19:58:54: ------------------------------------------
19:58:54: Adapter 1
19:58:54:   Video Adapter: NVIDIA GeForce GTX 660 
19:58:54:   Video Adapter Dedicated Video Memory: 2086469632
19:58:54:   Video Adapter Shared System Memory: 2147807232
19:58:54:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
19:58:54:   Video Adapter Output 2: pos={1920, 0}, size={1440, 900}, attached=true
19:58:54: ------------------------------------------
19:58:54: Adapter 2
19:58:54:   Video Adapter: Intel(R) HD Graphics 4000
19:58:54:   Video Adapter Dedicated Video Memory: 33554432
19:58:54:   Video Adapter Shared System Memory: 1711276032
19:58:54: =====Stream Start: 2014-10-09, 19:58:54===============================================
19:58:54:   Multithreaded optimizations: On
19:58:54:   Base resolution: 1920x1080
19:58:54:   Output resolution: 1280x720
19:58:54: ------------------------------------------
19:58:54: Loading up D3D10 on NVIDIA GeForce GTX 660 (Adapter 1)...
19:58:54: ------------------------------------------
19:58:54: Audio Format: 48000 Hz
19:58:54: ------------------------------------------
19:58:54: Audio Channels: 2 Ch
19:58:54: Playback device Default
19:58:54: ------------------------------------------
19:58:54: Using desktop audio input: Speakers (Logitech G930 Headset)
19:58:54: Global Audio time adjust: 0
19:58:54: Using 7.1 surround speaker setup
19:58:54: ------------------------------------------
19:58:54: Using auxilary audio input: VoiceMeeter Output (VB-Audio VoiceMeeter VAIO)
19:58:54: Mic time offset: -600
19:58:54: ------------------------------------------
19:58:54: Audio Encoding: AAC
19:58:54:     bitrate: 128
19:58:54: ------------------------------------------
19:58:54:     device: Dxtory Video 1,
19:58:54:     device id (null),
19:58:54:     chosen type: RGB32, usingFourCC: false, res: 1280x720 - 1280x720, frameIntervals: 333333-333333
19:58:54:     use buffering: false - 6500000, fourCC: 00000000
19:58:54:     audio device: Disable,
19:58:54:     audio device id Disabled,
19:58:54:     audio time offset 0,
19:58:54:
19:58:54: Using directshow input
19:58:54: Scene buffering time set to 700
19:58:54: ------------------------------------------
19:58:54: Video Encoding: x264
19:58:54:     fps: 30
19:58:54:     width: 1280, height: 720
19:58:54:     preset: veryfast
19:58:54:     profile: main
19:58:54:     keyint: 60
19:58:54:     CBR: yes
19:58:54:     CFR: yes
19:58:54:     max bitrate: 3500
19:58:54:     buffer size: 3500
19:58:54: ------------------------------------------
19:58:55: Audio timestamp for device 'VoiceMeeter Output (VB-Audio VoiceMeeter VAIO)' was behind target timestamp by 600
20:39:24: FlushBufferedVideo: Flushing 3 packets over 67 ms
20:39:24: Total frames encoded: 72880, total frames duplicated: 129 (0.18%)
20:39:24: Total frames rendered: 72902, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
20:39:24:
20:39:24: Profiler time results:
20:39:24:
20:39:24: ==============================================================
20:39:24: video thread frame - [100%] [avg time: 1.616 ms] [children: 63.8%] [unaccounted: 36.2%]
20:39:24: | scene->Preprocess - [53%] [avg time: 0.856 ms]
20:39:24: | GPU download and conversion - [10.8%] [avg time: 0.175 ms] [children: 8.48%] [unaccounted: 2.35%]
20:39:24: | | flush - [6.25%] [avg time: 0.101 ms]
20:39:24: | | CopyResource - [2.04%] [avg time: 0.033 ms]
20:39:24: | | conversion to 4:2:0 - [0.186%] [avg time: 0.003 ms]
20:39:24: Convert444Threads - [100%] [avg time: 0.362 ms] [children: 99.2%] [unaccounted: 0.829%]
20:39:24: | Convert444toNV12 - [99.2%] [avg time: 0.359 ms]
20:39:24: encoder thread frame - [100%] [avg time: 0.756 ms] [children: 0.397%] [unaccounted: 99.6%]
20:39:24: | sending stuff out - [0.397%] [avg time: 0.003 ms]
20:39:24: ==============================================================
20:39:24:
20:39:24:
20:39:24: Profiler CPU results:
20:39:24:
20:39:24: ==============================================================
20:39:24: video thread frame - [cpu time: avg 0.679 ms, total 49546.9 ms] [avg calls per frame: 1]
20:39:24: | scene->Preprocess - [cpu time: avg 0.094 ms, total 6890.63 ms] [avg calls per frame: 1]
20:39:24: | GPU download and conversion - [cpu time: avg 0.021 ms, total 1593.75 ms] [avg calls per frame: 1]
20:39:24: | | flush - [cpu time: avg 0.012 ms, total 890.625 ms] [avg calls per frame: 1]
20:39:24: | | CopyResource - [cpu time: avg 0.004 ms, total 312.5 ms] [avg calls per frame: 1]
20:39:24: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 31.25 ms] [avg calls per frame: 1]
20:39:24: Convert444Threads - [cpu time: avg 0.136 ms, total 19875 ms] [avg calls per frame: 2]
20:39:24: | Convert444toNV12 - [cpu time: avg 0.135 ms, total 19734.4 ms] [avg calls per frame: 2]
20:39:24: encoder thread frame - [cpu time: avg 0.021 ms, total 1562.5 ms] [avg calls per frame: 1]
20:39:24: | sending stuff out - [cpu time: avg 0 ms, total 15.625 ms] [avg calls per frame: 1]
20:39:24: ==============================================================
20:39:24:
20:39:24: =====Stream End: 2014-10-09, 20:39:24=================================================
20:50:25: Terminating 0x440
 
Did you try in Advanced > Audio, Global Audio Sync Offset
Leave default "0" on Audio > Mic Sync Offset

Its what I used to sync my headset mic with both the webcam and game/music audio
 

JackAttackNZ

New Member
Thanks sendblink23 for the suggestion. I tried the settings below in the log file but microphone is still delayed behind the video and game audio, as before.

Quick question: Does "preview stream" show what is happening before or after any set delays?

Code:
07:58:43: Open Broadcaster Software v0.637b - 64bit ( ^ω^)
07:58:43: -------------------------------
07:58:43: CPU Name: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz
07:58:43: CPU Speed: 3400MHz
07:58:43: Physical Memory:  8075MB Total, 4799MB Free
07:58:43: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 4, total cores 4
07:58:43: monitor 1: pos={0, 0}, size={1920, 1080}
07:58:43: monitor 2: pos={1920, 0}, size={1440, 900}
07:58:43: Windows Version: 6.2 Build 9200
07:58:43: Aero is Enabled
07:58:43: -------------------------------
07:58:43: OBS Modules:
07:58:43: Base Address     Module
07:58:43: 00000000847E0000 OBS.exe
07:58:43: 0000000042090000 OBSApi.dll
07:58:43: 000000004C6F0000 DShowPlugin.dll
07:58:43: 000000004C2A0000 GraphicsCapture.dll
07:58:43: 000000004C6C0000 NoiseGate.dll
07:58:43: 000000004C1F0000 PSVPlugin.dll
07:58:43: ------------------------------------------
07:58:43: Adapter 1
07:58:43:   Video Adapter: NVIDIA GeForce GTX 660 
07:58:43:   Video Adapter Dedicated Video Memory: 2086469632
07:58:43:   Video Adapter Shared System Memory: 2147807232
07:58:43:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
07:58:43:   Video Adapter Output 2: pos={1920, 0}, size={1440, 900}, attached=true
07:58:43: ------------------------------------------
07:58:43: Adapter 2
07:58:43:   Video Adapter: Intel(R) HD Graphics 4000
07:58:43:   Video Adapter Dedicated Video Memory: 33554432
07:58:43:   Video Adapter Shared System Memory: 1711276032
07:58:43: =====Stream Start: 2014-10-10, 07:58:43===============================================
07:58:43:   Multithreaded optimizations: On
07:58:43:   Base resolution: 1920x1080
07:58:43:   Output resolution: 1280x720
07:58:43: ------------------------------------------
07:58:43: Loading up D3D10 on NVIDIA GeForce GTX 660 (Adapter 1)...
07:58:43: ------------------------------------------
07:58:43: Audio Format: 48000 Hz
07:58:43: ------------------------------------------
07:58:43: Audio Channels: 2 Ch
07:58:43: Playback device Default
07:58:43: ------------------------------------------
07:58:43: Using desktop audio input: Speakers (Realtek High Definition Audio)
07:58:43: Global Audio time adjust: 600
07:58:43: ------------------------------------------
07:58:43: Using auxilary audio input: VoiceMeeter Output (VB-Audio VoiceMeeter VAIO)
07:58:43: Mic time offset: 0
07:58:43: ------------------------------------------
07:58:43: Audio Encoding: AAC
07:58:43:     bitrate: 128
07:58:43: ------------------------------------------
07:58:43:     device: Dxtory Video 1,
07:58:43:     device id (null),
07:58:43:     chosen type: RGB32, usingFourCC: false, res: 1280x720 - 1280x720, frameIntervals: 333333-333333
07:58:43:     use buffering: false - 6500000, fourCC: 00000000
07:58:43:     audio device: Disable,
07:58:43:     audio device id Disabled,
07:58:43:     audio time offset 0,
07:58:43:
07:58:43: Using directshow input
07:58:44: Scene buffering time set to 700
07:58:44: ------------------------------------------
07:58:44: Video Encoding: x264
07:58:44:     fps: 30
07:58:44:     width: 1280, height: 720
07:58:44:     preset: veryfast
07:58:44:     profile: high
07:58:44:     keyint: 250
07:58:44:     CBR: yes
07:58:44:     CFR: yes
07:58:44:     max bitrate: 3500
07:58:44:     buffer size: 3500
07:58:44: ------------------------------------------
07:59:12: Total frames encoded: 832, total frames duplicated: 2 (0.24%)
07:59:12: Total frames rendered: 856, number of late frames: 0 (0.00%) (it's okay for some frames to be late)
07:59:12:
07:59:12: Profiler time results:
07:59:12:
07:59:12: ==============================================================
07:59:12: video thread frame - [100%] [avg time: 1.496 ms] [children: 62.4%] [unaccounted: 37.6%]
07:59:12: | scene->Preprocess - [54.1%] [avg time: 0.81 ms]
07:59:12: | GPU download and conversion - [8.29%] [avg time: 0.124 ms] [children: 6.55%] [unaccounted: 1.74%]
07:59:12: | | flush - [4.68%] [avg time: 0.07 ms]
07:59:12: | | CopyResource - [1.14%] [avg time: 0.017 ms]
07:59:12: | | conversion to 4:2:0 - [0.735%] [avg time: 0.011 ms]
07:59:12: Convert444Threads - [100%] [avg time: 0.349 ms] [children: 99.1%] [unaccounted: 0.86%]
07:59:12: | Convert444toNV12 - [99.1%] [avg time: 0.346 ms]
07:59:12: encoder thread frame - [100%] [avg time: 0.747 ms] [children: 0.402%] [unaccounted: 99.6%]
07:59:12: | sending stuff out - [0.402%] [avg time: 0.003 ms]
07:59:12: ==============================================================
07:59:12:
07:59:12:
07:59:12: Profiler CPU results:
07:59:12:
07:59:12: ==============================================================
07:59:12: video thread frame - [cpu time: avg 0.876 ms, total 750 ms] [avg calls per frame: 1]
07:59:12: | scene->Preprocess - [cpu time: avg 0.018 ms, total 15.625 ms] [avg calls per frame: 1]
07:59:12: | GPU download and conversion - [cpu time: avg 0.109 ms, total 93.75 ms] [avg calls per frame: 1]
07:59:12: | | flush - [cpu time: avg 0.054 ms, total 46.875 ms] [avg calls per frame: 1]
07:59:12: | | CopyResource - [cpu time: avg 0.037 ms, total 31.25 ms] [avg calls per frame: 1]
07:59:12: | | conversion to 4:2:0 - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
07:59:12: Convert444Threads - [cpu time: avg 0.028 ms, total 46.875 ms] [avg calls per frame: 2]
07:59:12: | Convert444toNV12 - [cpu time: avg 0.028 ms, total 46.875 ms] [avg calls per frame: 2]
07:59:12: encoder thread frame - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
07:59:12: | sending stuff out - [cpu time: avg 0 ms, total 0 ms] [avg calls per frame: 1]
07:59:12: ==============================================================
07:59:12:
07:59:12: =====Stream End: 2014-10-10, 07:59:12=================================================
07:59:19: Terminating 0x114
 
When you say Preview, do you mean your local recordings(saving the files)?
As in watching the preview from the OSB window.. it won't be in sync, but watching the recorded file then there you will see if its sync'd or not.

And to where I suggested did you try both positives and negative values? Because for me it works both ways fine randomly playing on my own side... but of course I have nothing compared to your mic setup(VST+VAC).

Random question but do you really need to use that? You could just settle with simply OBS getting your audio directly and just use the windows sound enhancer if needed(play with mic volumes to lower any background noise, lower the rest of the audio *game/music if needed for balancing)... sorry I don't have your Mic so I have no clue how it sounds by default in OBS. You could just message any of the thousands Twitch streamers who use that Blue Yeti mic(its super common) and ask them what is their setup settings for it for streaming.

The other thing you could try if its true that Mic Sync Offset is not making any effect, you could test older OBS versions to see if previous ones don't have that issue for you. https://github.com/jp9000/OBS/releases
 

JackAttackNZ

New Member
When you say Preview, do you mean your local recordings(saving the files)?
As in watching the preview from the OSB window.. it won't be in sync, but watching the recorded file then there you will see if its sync'd or not.

Well I feel really silly, I sent a stream to Twitch and recorded a local file and everything was in sync. I thought the preview window would show everything after the time changes but I was wrong! Reason for editing the sound in realtime is to use a compresser (so my voice doesn't vary from quiet to loud) and some other small changes.

Thanks for your help, issue is solved!
 
Top