OBS

Dear Lazyweb:

Any idea why the music videos I'm streaming have a slight A/V de-sync? It feels like video lags audio by around 1/3 second, but I think it varies. My OBS scene has inputs "Display Capture" and "Audio Input Capture: Device iShowU". They're being played by jwztv, which is to say AVFoundation/AVPlayer, so I know it's in sync at that point. But it's out of sync by the time the .ts file arrives at my streaming service. Is there some magic OBS setting that says, "Why yes, I would prefer that Display Capture and iShowU track each other"?

OBS is... extremely frustrating.

Tags: , , , ,

6 Responses:

  1. James Baicoianu says:

    Yeah, frustrating problem. Right now to me it seems to be in-sync, or at least close enough that my humble meat-brain can't discern any problem. I was hoping by now some open source solution existed that could detect sync from an A/V stream and tell me how far out of sync things were so we could graph it over time and see if there's any correlation to things like server load, but all I can find is commercial solutions, some of which are already defunct.

    I'm still leaning towards the idea that this is related to server load, but it's still just a gut feeling. Any chance you have some newer hardware - maybe a laptop or something - that you could run the stream from temporarily and see if it helps? Or maybe dropping the resolution a bit for a while to see if that solves anything?

  2. Rene says:

    I don't know if this will help, but when I fire up OBS and click the gear icon by the audio source, in advanced audio properties there is a "sync offset" property. Perhaps adjust that until things seem to match up?

  3. pnuk says:

    I can't notice the lag, but if it's something you can perceive, you can add some delay to the audio in the OBS Advance Audio Properties of the mixer panel. Also consider re-nicing the OBS process.

    Unless both input devices support timestamps, it's going to be very difficult to quantify any drift. To make it easier to detect qualitatively, try playing back some beep/flash media played back over time. This can generate test media:
    https://github.com/bbc/dvbcss-synctiming/tree/master/test_sequence_gen