Question / Help Audio/Video syncing (Stream only)

Rayzer88

New Member
Hey, I was hoping someone would guide me on a problem i'm having with camera/audio syncing in my streams.

I used to have the camera and microphone on separate inputs and set a delay on the camera but could never get it just right. I then saw a tip that said disable the microphone, and add it as a custom audio source, in my camera source as show in the picture below

Camera Input.png


That worked perfectly, the sound and camera match up great. I then set an 800ms delay using the Async filter, so that the camera/audio matches up with the game through Elgato. If I stream and record at the same time, theres no issue with the recording at all, its all fine. But people have said (and ive seen it, looking back at old streams on twitch) that you hear me talking before the camera shows me talking

I'm just wondering what this could be (as the recorded version is fine) and if anyone knows anything I can change to fix it?

Thanks for looking!
 

Alberto Campaioli

New Member
Hello, I think I have the same problem. I have two sources, an external camera (and its audio) and the computer's internal webcam (and the computer's internal microphone). The video stream (and also audio) from the external camera comes about 270ms late. I set a delay filter on the webcam video stream and the videos I managed to sync them. Instead the delay I set to the audio stream, as you can see in the video at this link (https://youtu.be/oEc8uwXndxw), does not seem to have any effect. Is this a bug? Also in version 24.0.3 I had the same behavior. Can someone help us?
Thank you for any help!
Alberto Campaioli
 

Alberto Campaioli

New Member
Sorry I have to correct myself. The problem seems to be only on the monitor's audio. In the recording, however, the delay set to the internal microphone audio channel seems to work. Of course not being able to feel the effect of the delay in the monitor does not help to set the delay itself. Even more I am convinced that there would be something to be fixed here.
Now I'm going to try to see if it's okay to stream as well. but I assume so.
Bye.
Alberto
 

Ronald Cz

Member
I am having the same problem through monitoring with focusrite the recording is coming out fine but the monitoring through headphones is a delay. I hear the voice or clap later then the video to adding a delay does not help. What else to check?
 

Narcogen

Active Member
Nothing to check. OBS audio monitoring is input monitoring, not output monitoring, and sync offset only affects output.
 

Alberto Campaioli

New Member
Thank you Narcogen for your clarification.
Ronald Cz, I found this solution for my problem. I recorded a video with a dry and short sound like a single clapping of hands that was received from both audio sources. Next I extracted the audio track in mp3 and edited it with an audio editing program (I still use cool edit) and with which I went to measure how many milliseconds of gap there were between the two sources. So I could set exactly the delay parameter. I don't know if it can help you in your case.
Bye.
Alberto
 

Ronald Cz

Member
yes I tried that no avail. Sam Ash store manager had me try Reaper and that had a delay too. So looks like a driver problem from Focusrite. I have generation 2 18i20 with USB 2 so data is slow. I have a request into Focusrite again see what they say Monday. Yes I did the new update to Control 3.5 and I still hear the delay.
 

carlmmii

Active Member
If you're talking about hearing a delay when attempting to do realtime monitoring from your interface, then actual realtime can only be done by plugging directly into the interface for its own realtime output. Any time you have audio converted to digital form and processed through windows, you're going to have a delay -- this can be anywhere from 5ms (nearly imperceptible) to several hundred milliseconds, or more. Software audio processing is not something that can be relied on for realtime monitoring the way you're intending.
 

Ronald Cz

Member
"actual realtime can only be done by plugging directly into the interface for its own realtime output "

Well my goal to to hear what is being switched between the different cameras, filters added to microphones attached to Focusrite 18i20, levels adjusted between video playing and host talking. All this needs to be monitored by the OBS switcher.

"you have audio converted to digital form and processed through windows,"

Everything OBS does is processed by it's computer that it's running on. The operator has to be able to hear what is being mixed in OBS otherwise you have to monitor off the web. Remember it's a 2 second delay. I don't know what interface to plug in. OBS outputs to channel 1&2 in Focusrite however ever it also inputs 8 microphones coming in Plus ADAT microphones.

Sam Ash manager says it's the drivers of focusrite, B&H audio department says Focusrite should be able to hear without a delay so I just don't know what to do.

If I do a clean running of OBS in my workstation laptop, delete Github ASIO drivers, plus a mic in and headphones yet I still hear a delay in the headphones of the microphones playing on top of the video.
 

Narcogen

Active Member
When B&H says the Focusrite can "hear without delay" they mean it isn't introducing its own lag, and it has local monitoring, so just like OBS, it can monitor it's own input, and that's instant.

OBS considers its output to be RTMP or a file. Its monitoring features are input monitoring, not output monitoring. Even if I do something simple-- like send audio via a separate VST host in order to run a plugin that OBS can't, that host may take only a few ms to do its work, but the OS sending that audio from one virtual device to another and back can easily mean a half second or a full second of delay.

OBS does not have a confidence monitor output feature; an output that is functionally the same as the program output, but sent as a synchronized audio and video signal to another destination. One can be approximated either with NDI or streaming to NGINX-RTMP locally, but that's only going to increase the amount of delay-- but it should be in sync if you've adjusted for any *other* source of delay with a sync offset.
 

Ronald Cz

Member
According to GitHub "The obs-asio plugins allows capture of audio inputs of your ASIO device. " Here

I was not trying to capture OBS output but the inputs of Focusrite. So I have:
  1. two mics coming in from 18i20 input 3 & 5. I use the OBS audio input capture and setup one for input 3, then create another for input 5. Now I want to mix the people talking in the mic, with
  2. video levels playing from Media Source and
  3. Cameras coming in through Video Capture Device.
Now in that scene I need to mix all those sounds and be able to hear what I am mixing and then let it go out to live (which I am not trying to monitor). I am only trying to monitor what is on my screen. Hope this helps.

This post may help
https://obsproject.com/forum/threads/focusrite-scarlett-18i20-2nd-gen-delay.117073/

In an update Focusrite support did have drivers that output from a Audio Output Capture however I still hear a delay. Remember I am not trying to capture what I output I just want host or guest to hear what I put in Audio Output Capture to their headphones.

Sending an output through Focusrite Audio Output Capture.jpg
 

Narcogen

Active Member
Once you're mixing audio sources in OBS, that's output. The only places audio gets out of OBS is 1) the output (RTMP or file) or the audio monitoring feature (on or off, per source, sent to the selected device).

It's not possible to get zero latency monitoring of audio after you've put it into OBS. If you need that, you need to do it with something else, upstream of OBS. I do this with Voicemeeter, and that has less latency than trying to do something similar with OBS, but it's still not zero if I'm doing it with anything other than a real hardware mixer.
 

Jet D

New Member
Narcogen--is there a way that I can monitor only from my DAW interface and still hear it--and not through OBS? As soon as OBS starts (I'm using 19.0.3), my entire audio output is delayed, no matter where I try to monitor from. The degree of latency is difficult to perform with, and I need to monitor myself. The video latency I couldn't care less about.
 

Narcogen

Active Member
If your DAW sends its output to a device that's not configured in OBS (say, a virtual device created by LoopBack, or an external hardware device) you should be able to hear that without any additional delay introduced by OBS.

OBS audio monitoring is not real time.
 
Top