Bug Report Audio/Video/Everything Gradual De-Syncing!

Username117

New Member
Hi,

So basically I am using the Elgato which everyone know has the delay because it's usb 2.0 blah blah blah.

Okay! So my problem is (and this has been a problem for a very long time) that the stream gradually gets de-synced for audio to video and even webcam. At first, when starting the stream, everything is synced up perfect! No problems! Then, as time elapsed, the stream gradually gets out of sync with.... everything!

The only possible thing that I think could be causing this is that i have the use buffering enabled and time on the elgato source at 0 milliseconds.

This is a gradual desync, and I really can't figure out what is causing it! My only guess is that it has to do with it being a bug with the elgato buffering or buffering on obs in general for all sources. Please look into this, or give any tips you know of to fix this problem on my end.

Thank you!
 

UberDragon

Member
Yes, "Use buffering" with 0 ms keeps the gameplay-video and gameplay-sound in sync, but I don't think anyone managed to fix the gradually increasing desync to other sources yet, but as this delay happens in every other broadcasting software and even the original elgato software I assume it's either a driver or hardware issue.
 

Username117

New Member
Okay, now although that may be true, it does not describe how or why two completely different sources (that have nothing to do with elgato) get out of sync with each other over time as well.

For example, I have a virtual webcam set up so I can export a screen capture with a 1600ms delay (to link up with the elgato). I also have my mic set to this same 1600ms delay and that is running through a different line than the elgato. Now, in theory, regardless of how desyned the elgato gets, these two sources should NEVER get desyned, am I correct? Well they do get de-synced and that is what I am addressing here.

Can anyone describe the detailed technical side behind what use buffering with 0 ms on the elgato does? Was it added as a cheap hack to fix only audio and video sync? Shouldn't it attempt to sync video, with all other sources? Help would be appreciated.

Edit: Just realized the use buffering with 0 ms on elgato is for the audio on the elgato itself. I've set my webcam to output the audio that I was inputting earlier, we'll see how this plays out.
 

UberDragon

Member
Here's a link to how Jim explained the state with this specific device: viewtopic.php?f=5&t=2316&p=59865&hilit=elgato#p13377

To make this post more clear, that was posted when OBS had no way to even get game-video and game-sound synced up correctly, so when Jim speaks of "fixing" he probably means that the "use buffering" at 0 ms now has some code kick in that delays the sound based on time stamps to match the video.

But I've never heard of other devices having this issue, I'm not entirely sure what's going on there.
 

Username117

New Member
Right. I have no issue with the game capture sound and the game capture video syncing up when setting the buffer to 0 ms. Everything works fine there, however I'm guessing since the video coming in is still being delayed slightly, that's why my webcam and stuff get desynced over time?

So would there be any possible way to keep the webcam and device in sync with eachother over a long amount of time?
 

UberDragon

Member
Username117 said:
I'm guessing since the video coming in is still being delayed slightly, that's why my webcam and stuff get desynced over time?

Yes that's what I think.

Username117 said:
So would there be any possible way to keep the webcam and device in sync with eachother over a long amount of time?

None that I'd know of, it might be possible somehow though.
 

Username117

New Member
Having another thought on this, I'm still convinced a problem still lies within the OBS software.

Don't get me wrong, I understand the problems with the elgato, however if two separate sources entirely that have nothing to do with the elgato and with the same buffer times, manage to get desynced from one another over time while streaming, this surely has to be an OBS related issue with buffering.

While the elgato was running on my stream, I had two other functions running as well: webcam capture, and audio capture. Now, if it is solely an issue with the elgato, I would expect nothing less than the video of the elgato becoming more and more delayed as time progressed. However, since the mic input and webcam input have nothing to do with the elgato, it makes me wonder why they would go out of sync from eachother.

Granted, I solved this by running the audio through the webcam settings on OBS, however I'm afraid if I have multiple webcam sources set up with a buffer enabled to delay, this cheap fix won't be an option as it will still cause gradual delaying. Please look into the buffering code carefully, as I am extremely convinced something just isn't right!

If more information is needed, feel free to ask. I can provide it. I would like to hear Jim's thoughts on this as well.

Thanks,
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
That was an ancient post of mine, and I had actually fixed that with "use buffering". It was actually my fault partly.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Webcam and mic typically don't desync with each other. Though it's not necessarily unprecedented, if you need to you can disable mic in audio settings, then use it in the webcam's properties, then turn on "use buffering" with the webcam as well to ensure sync.

As for syncing up webcam and elgato for example, more difficult, but should be if you're using "use buffering" on both. (elgato should be at 0, and the webcam should be at 1500)
 
Wait, can you explain what you meant there Jim.

If i set the Webcam to use my Mic instead than telling OBS to use the Mic as a global input, will it then be in sync with the Webcam?

I mean, do you have a different sync "mechanism" when you input the global vs device?
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
When the mic device is attached to the webcam (rather than global) and then 'use buffering' is enabled (at 0 is fine), it does indeed sync the mic to the webcam signal a bit better.
 

DarpiestShezbot

New Member
I'm having the same issue.
My streams will start out perfectly fine with my camera, voice, and videogame feed all being in-sync with each other. Then everything will gradually de-sync.
I think part of the problem is with my hauppauge HD PVR2 software messing up a little bit when I have OBS running for a prolonged period of time but that still doesn't explain why my camera and microphone feeds will go out of sync with eachother when they are both set to the same 'use buffering' time.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Some devices such as the HD PVRs have a variable delay. It's difficult to really get perfect. The only way to truly eliminate the delay issue is to use either PCI-E or USB 3.0, but I know that many people don't really have that option.
 

DarpiestShezbot

New Member
When I stream I often monitor my CPU Usage and Physical Memory percentages just to see how my laptop is performing when I have both OBS and my hauppauge software running. I think the delay from my hauppauge usually starts to fluctuate a bit when my CPU Usage spikes over 65%.
Strange thing is, I had actually been streaming 1080p with OBS on my not so great laptop quite frequently and didn't have a single delay issue once I figured out the perfect frame buffer time for both my webcam and microphone so that it synced up with my game footage.
It wasn't until recently (I think after OBS's most recent update, actually) that I began to get all sorts of weird sync issues midstream with my hauppauge footage not syncing up properly with my voice and camera.

Also, are you telling me that if I plug my hauppauge HD PVR2 into a USB 3.0 slot it will actually perform better? Lol, because I actually have USB 3.0 ports on my laptop but I didn't use them for my HD PVR2 because I heard a while back that it didn't make a difference.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
No, I'm referring to devices that are built for USB 3.0. The HD-PVR will have delay regardless of where you plug it in just due to its design around USB 2.0
 

Tritemare

New Member
I experience this problem too.So, here is my use case.

I have a 2 machine stream setup. I have an audio mixer which handles all of my audio (game, my voice, music, voip). The main output of my mixer goes to the line-in on audio card. In OBS the line-in from my audio card, containing the mixer output, is digested in OBS as the 'microphone/aux' input. I disable the 'desktop' audio device entirely.

Would using your "use buffering" feature be advantageous for my setup? More specifically, will game sound and music in one signal along with my voice combined with the "use buffering" feature cause the feature to work incorrectly?

OR, should I use my mixer to single ONLY out my microphone on a single channel and THEN use the "use buffering" sync feature in webcam settings?
 
Top