Question / Help Webcam off sync with Audio

nic

New Member
So essentially I've been trying to stream League of Legends and I found a delay of approximately 500ms is placed on my webcam by default. In an attempt to fix this, I went into Advanced > Audio > Global Audio Time Offset (millisecond) and set it to 500.

For example, on my stream, I lip sync as a joke at times. The audio/ of the song I am playing are off tune with that of my lipsync. Once I add the offset, the Audio and my Webcam are synced, while that of the video is off sync.
This means that once I am in-game, the video of the game is off.

Essentially, what I need to do is apply a -500ms delay to my camera OR delay everything else by 500ms, and as I cannot set a negative delay (because that's just impossible), I would need to do the latter. How would I go about this? Game Capture/Window Capture don't have a delay in their properties
 
I have asked this and did quite a discussion on it.
But the results are this, we need to wait until the Rewrite where it will either be implemented or Can be implemented.

Currently it isn't available, it can be done, but it probably won't be done as the Rewrite is coming.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
You can reduce the delay. For example, plug it in to a 3.0 port instead of 2.0 port can sometimes help. Using a lower webcam resolution. Changing the output format. Sometimes codecs interfere and cause extra delay as well. 500 is unusually high. I would suspect more than anything it's just one of those things.

You cannot set a negative delay on video, only audio. The reason why this is so is because the tremendous amount of VRAM usage that would be required to allow it (500 milliseconds would indeed require a tremendous amount of VRAM, up to a few hundred megs depending on the FPS of the stream). Even the rewrite can't really help with this particular sort of thing.
 
Does 3.0 really help (with 2.0 devices)?

Seems a bit, odd, normally the input doesn't matter when it comes to latency, but if it does, that's really news to me and certainly good to know.


Yes as you say, really sad that there isn't a way to make it work without having to waste resources, but from the discussion i had with another user, it's just not possible no matter how you do it, at least not in the way OBS works.

But well hopefully it will/can be added in the rewrite, and people who can afford to waste the custom amount of VRAM is free to do so.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
It isn't unusual that USB 3.0 helps with it. That's at least what's happened in many cases. Not all cases, but many.

It doesn't particularly have anything to do with how OBS is written. If your device continues to have such a problem and you've tried all of the things I've suggested above (all of them), then it's probably the device itself. I know my webcam has at most 100ms delay when maxing the resolution and using USB 2.0.
 
That's very good to know.

How is your Delay with USB 3.0, is it the same in your case?

Cause mine seems to be 100ms (or 3 frames at 30fps = 99ms) at 640x480, even with 3.0.

Though, i don't have the "true" 3.0, but the first versions which are kinda hackish using the PCI-E or something if i remember correctly.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
For me it's almost instant. If you're running the stream at 30fps, you can turn off "multithreaded optimizations" in advanced to reduce latency by another 33 milliseconds I suppose as well.
 

FerretBomb

Active Member
You cannot set a negative delay on video, only audio. The reason why this is so is because the tremendous amount of VRAM usage that would be required to allow it (500 milliseconds would indeed require a tremendous amount of VRAM, up to a few hundred megs depending on the FPS of the stream). Even the rewrite can't really help with this particular sort of thing.

Jim, just to point this one out... in an era of video cards with 3-4GB memory on board, would it really be a problem to sacrifice 180MB (well, 186... 1920x1080x30fpsx8bits/colorx3colors) of that memory for a full second of video buffer to bring things back into sync? Heck, it'd probably even be able to toss two or three seconds on most modern cards, allowing capture devices to again fit into the sync window (assuming the average 1200ms). I mean, it might pose a problem for people with video cards from the early 2000s with 512MB VRAM or less, but I'm pretty sure almost anyone with a semi-modern card would be able to turn down texture resolutions by a step to be able to have everything sync'd again. Know I would, as I tend to forget and hum along with the in-game music, and get complaints due to the delay.

I mean, even handling it like a video capture device would work... I've noticed that a few people are running DXtory specifically to allow the PC video capture to be delayed, and have been tempted to go this route. I mean, even with the (minor?) performance hit, it'd also be nice to get instant reactions to things on camera, instead of reacting half a second behind the action.
 
Top