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).
 

banjogit

New Member
...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 don't want to hear the VST-Delay in the Monitoring. It just should be applied to the recording/stream.
Does your solution work for this, too?
 

FerretBomb

Active Member
I don't want to hear the VST-Delay in the Monitoring. It just should be applied to the recording/stream.
Does your solution work for this, too?
Then just apply a delay in the Advanced Audio Properties, as per normal. Those are NOT reflected in the Monitoring.
This thread was/is for people who DO want to hear the delay in the Monitoring, which normally isn't possible with base OBS Studio.
 

banjogit

New Member
The Sync Offset in the Advanced Audio Properties doesn't have any effect on media sources like audio wav files. That's why I was looking for a solution, and I thought a VST plugin could help. But now I found a better solution. Thanks anyway ;-)
 

jsetsaas

New Member
I see above that "the sync offset are NOT reflected in the monitoring". However...

I've a setup where I use the monitoring to send my audio to zoom using a virtual AV cable (VB audio software) . I play a MP4 file in obs, and can view that video in the other zoom member (which I have running on a different machine). Everything good.

To test, I change the "sync offset" for the video. Setting it to 1000ms, causes the sound to be delayed, (i.e. the video comes before the audio, also on the zoom client. So it seems that the monitor is indeed affected by the sync offset.

However, changing to a negative number does nothing.
I realize that this would mean having to delay the video, to let the audio come first
Is this a bug or a feature?
 

Jyrtto

New Member
I'm having absolutely no luck adding delay to my microphone used in Zoom with Virtual Cable. All the VST plugins seem to ignore the monitoring.

What I've done is to add ReaDelay to my audio device with delay on, set monitoring on for this and picking Virtual Cable as monitoring device on settings. In Zoom, I pick Virtual Cable as input. But it's always the same offset, whatever I set the delay on filters for my microphone.

Can anyone tell me what I'm doing wrong? Seems like the offset is not reflecting the monitoring and the delay has to be done before the audio even gets into OBS (with some mixing console etc). That adds another layer of things in the process what I would like to avoid.

Thank you.
 

Jyrtto

New Member
I'm having absolutely no luck adding delay to my microphone used in Zoom with Virtual Cable. All the VST plugins seem to ignore the monitoring.

What I've done is to add ReaDelay to my audio device with delay on, set monitoring on for this and picking Virtual Cable as monitoring device on settings. In Zoom, I pick Virtual Cable as input. But it's always the same offset, whatever I set the delay on filters for my microphone.

Can anyone tell me what I'm doing wrong? Seems like the offset is not reflecting the monitoring and the delay has to be done before the audio even gets into OBS (with some mixing console etc). That adds another layer of things in the process what I would like to avoid.

Thank you.


Equalizer APO worked for me as the delay is done BEFORE it goes into OBS. That eliminates the virtual cable need and makes things easier. It seems like there is no way to affect the monitoring delay via virtual cable with OBS. At least, it didn't work for me.
 

map1001

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.
View attachment 62471

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).
Hey brother, I specifically made an account to respond to you. Your solution worked like a charm. This is useful as I am using OBS to capture my El Gato for Xbox One recording and yeti microphone while I stream for twitch (ruceblee). However, you made an error. The "dry" is not set to 0 in your photo, it's at negative inf. So I after trying both, it was negative infinity that worked, not 0. I didn't even have to put in a time delay!

And frankly, I am getting annoyed at the people who are all saying, "Sync offset only works for audio output." Well no duh! When I used said feature on the game capture audio it works instantly, but when I used it on my microphone it doesn't? And I would go ahead and record to see if the audio delay would kick in after I watch my recording, but lo and behold, the delay was not there, hence the mic audio and video were not in sync. (The mic audio came in instantly.) But after setting "dry" to negative inf.,my mic audio and game capture and in perfect sync. Again, thank you so much.
 

doobre

New Member
The Sync Offset in the Advanced Audio Properties doesn't have any effect on media sources like audio wav files. That's why I was looking for a solution, and I thought a VST plugin could help. But now I found a better solution. Thanks anyway ;-)
Hi there banjogit.... what was your better solution.? can you elighten us all here..?? cheers
 

doobre

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.
View attachment 62471

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).
Hi there Dahlers - will this effect work to delay the audio coming through a usb interface..??? cheers
 
Top