Question / Help Does 'Sync Offset' work with Audio Monitoring switched on in Advanced Audio properties

Entelecheia

New Member
I am trying to synch sound to video to be broadcast via VirtualCam into teleconferencing software. I can't fix the lag between audio and video. Somebody on here suggested doing it via Virtual Audio cable and using monitoring. But OBS does not seem to add any delay regardless of the settings in Sync Offset.

Does anybody have any ideas how to sync mic input to the VirtualCam output so that it can be fed into teleconferencing software (GotoMeeting, Zoom etc)?
 

FerretBomb

Active Member
Audio Monitoring will not reflect any sync offsets applied, as Monitoring comes earlier in the stack than the application of delay offsets. It will be reflected on outputs only (on the stream, or in the recording).
You might try adding a delay to the audio line in Voicemeeter itself if VM supports that sort of thing, rather than in OBS.
 

Entelecheia

New Member
@FerretBomb Thank you - that is helpful. I will look at Voicemeeter and other methods for adding delays outside of OBS.

If anybody has any ideas for achieving the goal within OBS that would also be great. The issue is how to synchronise audio to video when the video is sent to teleconferencing software via VirtualCam. The video is delayed because of the capture device from the camera .. but the audio is just pass-through.

I think I need a tool like VirtualCam .. but based on the audio stream output .. so that that output can be piped into other tools as a "microphone" input.
 

Entelecheia

New Member
I tried Voicemeeter .. again .. this really looked as if it would work .. but the maxumum delay it can add to audio is 500ms. This is not enough as I need around 1400-1800ms. The Elgato Game capture device I have seems to add about 1400ms delay to the video. So I am still stuck.

Are there any other virtual audio cables that can add more delay?
 

d_s

New Member
I have had to use Equalizer APO to delay audio before it goes into OBS Studio in several cases where we were using the projector output to monitor/show the stream on a TV in a different room fed via HDMI, but we had no audio until the monitor audio was also sent to the same screen using the HDMI output.
Unfortunately though, the monitor audio stetting in OBS studio is only pre-effects (no delay/filter etc applied) and post-effects or stream/recording audio cannot be selected to be monitored which is a real shame and oversight.
So to get the audio in sync with the video from the IP cameras we were using we had to delay it before OBS studio and found Equalizer APO fixed the problem.
 

FerretBomb

Active Member
I tried Voicemeeter .. again .. this really looked as if it would work .. but the maxumum delay it can add to audio is 500ms. This is not enough as I need around 1400-1800ms. The Elgato Game capture device I have seems to add about 1400ms delay to the video. So I am still stuck.

Are there any other virtual audio cables that can add more delay?
You might be able to stack multiple delays, looping VM back into itself multiple times if only one delay is allowed per cable.
But yes, this is a very well-known problem with USB 2.0 capture devices (like the Elgato Game Capture, and HD60), and why it's recommended NOT to buy one, even if it was extremely cheap. As USB 2.0 lacks the needed bandwidth to send uncompressed audio+video, it has to be compressed on the device, then decompressed by the CPU, adding extra system overhead as well as around a 2000ms delay.
There is no software fix.

Really, the proper fix is to grab a USB 3.0 capture device (like the Elgato HD60S) which will have only a handful of milliseconds of capture delay, as USB 3.0 has the needed bandwidth for uncompressed video+audio transfer.
 

Entelecheia

New Member
OK. Thank you all. I will order a fast, USB 3.0 capture device (although they seem to be in short supply). In the mean-time I will try the Equalizer APO to see if that can add the kind of delay I need as a stop-gap solution.
 

HiDrew

New Member
Hi Entelecheia, I have a similar issue, so I'm curious if either of these solutions worked for you?
 

Riotnaut

New Member
Hey guys I spent some time with this issue and thankfully found a very simple solution to get the audio delay beyond the 500ms cap inside of OBS. I have a 2i2 Scarlett solo 3rd gen sound interface. What I do is I use FL 20 ( audio software), two of them running at once. One of them is using Image-Lines audio driver settings, with the output set to the virtual cable. I then use an audio delay plug-in and set the effect to operare in ms instead of time signatures and then i turn all of the feedback of this audio effect off, so essentially you get the original audio signal without any echoes, only it is delayed to the amount of ms you set the dial to. You can stack these as many as your computer can handle and get delay times of minutes if you wanted to. Then I have the second instance of FL 20 running and have that projects audio driver settings set to Focus rite drivers, and I use this for real time nearly no latency in ear monitoring of my mic into my headset and route the audio away from obs and this project does not have the delay plug-in. Obs gets the same exact signal i am hearing in real time, only there is a ghost project running identical along side or behind it with the exception of the added delay and mastering plug-ins. Make sure obs has desktop audio set to the virtual cable. The result is i can flawlessly use my elgato HD 60 game capture at 1080p 60 and have the audio come in at a perfect time when using my microphone. Currently live audio out is resting at about 775ms delay total to wait for the video feed. I'm sure we can make this more comprehensive but id need to know which parts you're stuck on but I'd be happy to share what I've learned
 

Dahlers

New Member
This post is rather old, but for all others that stumble across a similar problem. A simple solution is to use a VST Delay Plugin to delay your audio. In that way you can also hear the delay in the monitoring. I am using the ReaDelay from ReaPlugs VST FX Suite. I use it all the time to sync video and audio.

1. Just download and install it.
2. In OBS: Right click on audio source -> Filters -> Add (Plus) -> VST 2.x Plugins.
3. Select "readelay-standalone" and "Open plugin interface"
4. Put the "Dry" fader to zero, the rest can stay as it is
5. Set the "Length(time)" value to a delay you want to add (note: the slider is in logarithmic scale)

That's it!

Screenshot of the settings with a 100 ms delay.
ReaDelay.png


Youtube video from ex cogs how to setup ReaPlugs VST FX Suite in OBS (does not show ReaDelay but fir (noise reduction) and compressor, also nice).
 
Top