Sound out of sync by several seconds

karlchap

New Member
Greetings,
My apologies in advance if this is posted, I couldn't find what I need.
I am an older man and not computer savvy. I am trying to copy old home videos to a SSD using a video capture card. It is RCA cables in, usb out to the computer. It is a i7 processor and 32gig of ram on my computer. It is working beautifully, except for the sound. Is there a setting somewhere I need to change? It is off by several seconds.
Thanks for any help.
Regards,
Karl
 

AaronD

Active Member
You need to be more granular than that. OBS has several different outputs, only one of which is physical, and they have different problems for different reasons with different solutions or workarounds.
 

polarbearonfire

New Member
THANK YOU. I knew I wasn't crazy. I am doing a very similar thing to you, and if I don't restart OBS in between each and every recording, then my video and sound are out of sync for every 3rd or 4th video. It is driving me crazy! Anybody, please help!
 

AaronD

Active Member
If the problem is variable sync for everything, where everything tracks each other - Monitor/headphones/speakers, Stream, and Recording - then the problem is probably in the capture card.

I had a set of 4 cheap HDMI -> USB ones, each for a different camera angle, and they were always out of sync with each other by different amounts and directions every time I turned the rig on. I didn't use their audio - took that from a physical mixing console instead - but the picture was enough to see that.

Replaced all 4 with a 4-input internal card, and the problem went away:

You probably don't need 4 inputs, but I think the idea still holds. If you can, use a good quality internal card. If you can't, look at name-brand USB, not the cheap knock-offs on Amazon where the company name is perhaps literally someone bashing the keyboard:

If you do need multiple inputs, don't use one that is designed for security. Those only have a single converter and a quick-and-dirty switch to choose which one input that converter looks at. They're cheaper that way, since the converter is the expensive part, but it also means that you can only have one input in OBS at a time, even if the driver makes it look like multiple separate inputs.
 

AaronD

Active Member
If the problem is only the Monitor/headphones/speakers, and the Stream and Recording are okay, then it's probably the device that you're sending the Monitor to, combined with the naive way that the Monitor is written.

The device itself is fine, it just uses a different clock source than the rest of the system does. That's usually because the manufacturers actually care enough to not trust the system clock, or because the device has its own processing that was just easier to have its own clock for. Regardless of how it happens, that separate clock can't be *exactly* synced to the main clock. It drifts a little bit. So the same nominal setting is still just a little bit off.

Instead of resampling "like you're supposed to", OBS's Monitor treats it like a generic network stream. If anything hiccups, expand the buffer. Period. No upper limit. That's fine if you're watching a sports game from your living room, but not when you're listening to a mic in the same room!

There's no fix for that, but two workarounds:
  1. Send the Monitor to a different device. This could be a physical sound card that just happens to look at the system clock instead of its own, or it could be a virtual one that almost certainly uses the system clock since it's entirely software *on* that system. Then the question becomes, "How to get audio from there to where you really want it?"
    1. The easiest way to do that is probably Voicemeeter:
      Pick one of those, send OBS's Monitor to one of the virtual devices that it creates, and then use the virtual mixing console send it to your actual physical device. It's a bit Rube Goldberg, but it gives something else its own chance to get it right, which that one does.
  2. If you can't use a different device, disrupt the flow of audio to the Monitor. There are several ways to do that:
    1. Change the routing for each source so that it's no longer going to the Monitor, and then change it back.
    2. Send the Monitor to a different device anyway, even if you can't listen to that device, and then change it back.
    3. Mute each source and unmute again. There's a script somewhere that does this very quickly so that you probably won't notice.
    4. Have a second copy of every source. One copy goes only to the stream and recording, and the other copy goes only to the Monitor. Then you can "blink" the Monitor copy without affecting the main output at all.
 

polarbearonfire

New Member
thank you Aaron, I'm going to try purchasing a good quality capture card. I did indeed buy a cheap one off of Amazon...and it's both the recording AND the sound output that are out of sync, so I think I get what you are saying -- get a better capture card, right?
What about you, KarlChap? Do you also have a cheaper capture card? I will let you guys know what happens.
 

AaronD

Active Member
thank you Aaron, I'm going to try purchasing a good quality capture card. I did indeed buy a cheap one off of Amazon...and it's both the recording AND the sound output that are out of sync, so I think I get what you are saying -- get a better capture card, right?
Yep!

For HD video, you should expect to spend about $100 per channel. Old analog home videos are probably not HD, so it might be cheaper, but I haven't actually looked either.
 

polarbearonfire

New Member
Yep!

For HD video, you should expect to spend about $100 per channel. Old analog home videos are probably not HD, so it might be cheaper, but I haven't actually looked either.
one more question for you ... do I really need a capture card? Couldn't I just buy an HDMI - to - USB converter and plug the usb straight into my laptop? OBS would recognize that, right? Or do I HAVE to have the card?
 

AaronD

Active Member
one more question for you ... do I really need a capture card? Couldn't I just buy an HDMI - to - USB converter and plug the usb straight into my laptop? OBS would recognize that, right? Or do I HAVE to have the card?
"Card" is a generic term now, that includes USB.
 

Lawrence_SoCal

Active Member
OP - I have an i7 that is over 10 years old, and totally not up the task of real-time video encoding.
As for RCA cables, is that 3 cables (left & right stereo audio, typically red and white, with yellow for video signal)?
My recommendation is to check/test at Operating System level before even starting OBS Studio on Audio and Video Sources. You could test using the Operating System Recorder to briefly confirm if audio and video in sync from capture card.

Is the issue no sound in the Recording? for this, make sure audio signal getting to Operating System (as noted above)
If sound in the Recording, you just aren't hearing while Recording, that is likely the Monitoring vs Output option in OBS Studio Advanced Audio properties (default setting is to avoid users getting echo from mic and speakers)

one more question for you ... do I really need a capture card? Couldn't I just buy an HDMI - to - USB converter and plug the usb straight into my laptop? OBS would recognize that, right? Or do I HAVE to have the card?
A HDMI converter to accepting incoming video over HDMI and output video on USB _IS_ a "capture card" {name is carryover from desktop add-in cards from days gone by.. name stuck}
 
Top