IP Camera input delay on audio without streaming

Alexanderkerk

New Member
Hello all,

We are trying OBS Studio as possible replacement for our streaming application in our church.
But we ran into a problem with audio-video out of sync.
I would like to know if it is possible to delay the audio in presentation mode realtime, so without streaming or recording?
And if so, how can this be achieved?
Why would I want that?: The streaming service we use is an external device, which acts like a second screen recorder.

Our setup:
- Windows 10, 64-bit, I5 core, laptop.
- 3x Zavio B8220 IP bullet cameras (connected to OBS Studio by a RTSP connection) http://www.zavio.com/product.php?id=111
- OBS Studio v25.0.8, fps is set to 29.97, x264 decoding.
- Audio amplifier with RCA connection output, connected to the laptop by an external audio to USB converter.
- Our streaming service is done by SiKN, kerkomroep (Netherlands)

When the IP cameras are viewed realtime by the application of the manufacturer the image is the same as the audio.
But when the cameras are connected to OBS studio, then the video images are delayed on the audio (2 seconds)

I tried:
1. Delaying the audio via advanced audio settings, but this does not have any effect on the realtime output (not streaming and not recording, just showing on the second screen).
2. Adjusting the video decoding settings, lowering frame rate, lowering output quality.

I think I can make it work by window capturing the manufacturer application, but that would remove the presentation mode advantage of OBS completely...

Searched some other topic's as well, but my 'setup'/intention does not completely match.
- Fixing audio sync when not streaming, just previewing
- Video & Audio Drift
- Audio and video sinc

Thanks for your input!
 

emil@obs

New Member
I would recomand you to change the setup. Get a camera where you can input your audio directly.

Audio Delay via VST Plugin:
Mybe the reaper plugins will help. Just google it, there are a lot of videos how to install and setup.
 

Alexanderkerk

New Member
I would recomand you to change the setup. Get a camera where you can input your audio directly.

Audio Delay via VST Plugin:
Mybe the reaper plugins will help. Just google it, there are a lot of videos how to install and setup.

Thanks!
Well changing the setup is easier said then done.
It is a church so you can imagine that the funding is not that high, so budget for 3 new cameras aint easy.
So therefore i am curious if there is a possibility of fixing it without directly changing the setup.
I will lookinto the VST plugin.
 

emil@obs

New Member
What protocolls are supported by the IP cam‘s? If udp is supported you can use the udp stream directly in OBS (VLC input). Mybe better performance as RTSP.
 

Alexanderkerk

New Member
What protocolls are supported by the IP cam‘s? If udp is supported you can use the udp stream directly in OBS (VLC input). Mybe better performance as RTSP.
Hi Emil, where can I find this out? Because for the moment, I do not understand it.

Update: We tried something else --> We used the mainconsole application output as an input for OBS, and via this we are in sync between video & sound. Only now we have to switch between the camera application and OBS, so it is quite a disadvantage.
 

emil@obs

New Member
Hi Emil, where can I find this out? Because for the moment, I do not understand it.

Update: We tried something else --> We used the mainconsole application output as an input for OBS, and via this we are in sync between video & sound. Only now we have to switch between the camera application and OBS, so it is quite a disadvantage.

The communication between your computer and camera has different layers. One side of it is hardware layer, all the network wires, wifi. But there is also a software side of it. It is the communication layer —> protocols (RTMPS, RTMP, UDP, HLS). Same of the protocols have native support inside OBS like UDP. If your camera supports UDP you can include it directly.

Normaly the protocols supported by the camera should discriped inside the manual.
 

Alexanderkerk

New Member
The communication between your computer and camera has different layers. One side of it is hardware layer, all the network wires, wifi. But there is also a software side of it. It is the communication layer —> protocols (RTMPS, RTMP, UDP, HLS). Same of the protocols have native support inside OBS like UDP. If your camera supports UDP you can include it directly.

Normaly the protocols supported by the camera should discriped inside the manual.

UDP Connection?
So I checked the manual of the camera and yes they support a UDP connection ('Link') but it is still unclear to me how I can set this up in OBS, do you have some kind of example / youtube video or something?

Our hardware overview:
Current camera connection.png


Here we still encounter a couple of problems:
  1. Playing a video on the beamer laptop results in a very low quality + stutter on the broadcast (video was 240p, internet connection 100 Mb/s down, 30 Mb/s up)
    Can this still be tweaked in NDI plugin or something?
  2. We have an delay in which the sound is 2 seconds quicker than the video and this cannot be controlled with the "Advanced Audio Properties" "Sync Offset".
    OBS is not streaming or local recording, only showing on second screen which is duplicated to the broadcast device.
    1606342830483.png

    I think this is the reason that OBS cannot sync the video & sound.
    The workaround is: using the camera console application output (source: window capture) as an input for OBS, and via this program we are in sync between video & sound. Only now we have to switch between the camera application and OBS, so it is quite a disadvantage.
Any suggestions to try?
 

emil@obs

New Member
To my mind the best way is change your setup. It is more effectiv to get the job done with the right hardware. I don´t know if there is a way to fix all your problems in your setup. Maby the hardware isn´t able to achive this aim.

UDP Connection:
I had in mind to change the transport layer from rtsp to udp, but it is not supported by your cam.
 

Alexanderkerk

New Member
Well, we solved both problems.

1) The wireless connection was still the biggest hurdle for the videoquality from beamer laptop towards OBS laptop.
Changed both to wired internet connection and that removed the stuttering and loss of frames even for 720p

2) The external audio card we used was directly transfering the sound to the 'kerkomroep' so the laptop could even be muted and the sound would still be broadcasted. We deplugged the output of the external audio card and connected a JACK to RCA cable from headphone to 'kerkomroep'.
We used a plugin to adjust the SYNC between audio and video: "VST 2.x Plug-in" : "readelay-standalone"
1608586066059.png

Keep in mind you still have to enable the audio monitoring! = MIC/AUX Audio monitoring: "Monitor and Output".
If this is not set, then the audio will not be outputted on the laptop headphone output.
1608585632768.png

And in Settings, Audio, Advanced, Monitoring Device: Speakers/Headphone out.

So our correct setup is like this:
1608586311488.png



@emil@obs, Thanks for the check.
@cyclemat, the CPU/GPU load is very low, because like I previously sad, we are not streaming, we are using the "Fullscreen Projection output".
"main aplication is running in BG" what does that mean?
" when its a traffic problem use an external USB Ethernet Device to Connect the Presenter Direct over Crossover cable with the stream PC " Thanks, we used a direct wired connection to the ethernet switch for both laptops, and that did the trick, wireless was not the answer here.
 
Top