StreetJelly BLOG: Community News, Video Streaming, Online Busking, and more…
Home » Posts tagged "obs"

Fix Audio Sync in OBS

Ever notice a live stream that has audio a little off from the video?  We’ll help you fix that when broadcasting with OBS Studio.

You often hear audio issues called “lag.”  However, that term gets confusing since many people use it as a catch-all phrase.  Let’s define when people say lag, but really mean…

Latency  Latency is the term we use to describe the time it takes from the broadcaster to send his or her stream up to the internet, travel across the planet, and get pulled down to the viewer’s computer.  Many factors determine how long this can take, anywhere from a few seconds to 20 or more seconds.  This time is based on the internet speed of the broadcaster AND the viewer.  Different viewers will experience the live broadcast at different times than other viewers.  As a broadcaster, you all have experienced this when you ask your audience a question and have to wait until they respond.  Improving latency is a factor of improving your internet connection (upgrading to a better ISP or broadband connection); and reducing the amount of data your stream (turn down your broadcast quality).  We’ll go into more detail about improving latency in another blog.

Audio Sync  Audio Sync is today’s topic.  It is the synchronization of the audio with the video.  When the audio and video get “out of sync,” you witness the phenomenon where you see the lips move but hear the voice slightly later, or vice versa.  It is like watching a badly dubbed foreign movie.  There can be a number of contributing factors why this occurs, but the chief reason is a slow computer / CPU.  It takes more cycles, or computing power, to process video than it takes to process audio.  The audio is often ready to stream slightly ahead of the video.  When a chunk of audio data gets combined with a chunk of video data that represents two different points in time, the broadcast will be out of sync.

OBS is great broadcasting software and handles many sophisticated internal features.  It typically requires more computing power than simple one-cam broadcasting from within a browser.  Audio Sync issues do appear more often when broadcasting with OBS.  However, there is an easy fix to this problem (without having to upgrade your computer to a monster size CPU and GPU).

In OBS, adjust the “Audio Delay” to bring the timing of the audio precisely in with the video.

On the main screen, click on the Audio Mixer.  (Below are two images, one from OBS v18 and one from v20. They slightly changed the way to open the Audio Mixer between updates.)

OBS v18 – click the Mixer gear icon in middle of screen

v18 – Audio Mixer Icon, click image to enlarge

 

OBS v20+ – click the Mixer gear icon next to your audio device, then choose Advanced Audio Properties

v20+ – Audio Mixer Icons, click image to enlarge

Audio Mixer Menu, click image to enlarge

 

Find the audio device you want to adjust and enter the number of milliseconds (MS) to slow down the sound.

Audio Delay, click image to enlarge

 

Recommended Approach:

  • First, fire up your webcam and microphone.  You should see the video output in the main screen of OBS.
  • Start Recording your stream locally. In other words, DO NOT START live streaming.
  • Perform a short bit by speaking slowly into the camera so you can watch your lip-sync closely later.  Clapping your hands is another good technique to dial in the sync.
  • Watch the recorded video to get a sense how far off the sync is.  Most likely, you will hear the audio first, and then see the video catch up.  It’s tricky at first to tell which way the sync is messed up (sometimes the video comes first and the audio is behind).  But you will get the hang of it.
  • Adjust the Audio Delay for your specific mic by adding a number of milliseconds.  Start with 30ms.
  • Record another video and check the sync again.
  • Repeat this process until you can not notice any sync problems.  Use 30ms increments when adjusting.  For instance, if on the first try 30ms did not fix the sync, next time try 60ms, then 90ms, etc.
  • Last, you can also adjust the Video Delay in OBS v20+. Same principle applies here, too.  Adjust small amounts, record, check, repeat.

When you are all done, you are ready to live stream.  OBS will remember your delay settings for the next broadcast.  But it is good practice to occasionally recheck as your audio/mic setup may have changed in your studio, your computer may have upgraded to newer software, and so on.

A note about “video delay” and your studio sound setup.  For musicians who use a sound board, mixers, auto-tuning, delay pedals, etc; the audio delay may be attributed to the processing in the sound system itself – and not in OBS or your computer.  This is generally the cause when video comes in first and the audio comes in behind.  The fix here is to delay the video so it slows down to match the audio.

WebRTC Streaming Survey Findings …and news

In April 2017, we sent out a survey to the streaming musicians that have used the WebRTC broadcasting method.  The questions were simple, “did WebRTC work for you?”  “What kind of browser / computer did you use?”  And so on.

For the hundreds of surveys we sent out, response was above 60%.  Thank you all so much, that is a great response rate for any survey.

The main question, “how well the WebRTC technology worked for everyone,” is what we really wanted to know.  It also had the most interesting answer:  from a scale of 1 to 7 (1 being it didn’t work at all, and 7 being it worked great) …the responses were evenly spread from 1, 2, 3, 4, 5, 6, 7.  Statistically speaking, that’s really hard to make a conclusion from that answer.  Normally, one would expect a rating-scale answer to skew to one side or the other, or in the middle.  A statistician or survey-guru would probably conclude the question was flawed.  But the question was pretty simple, did it work or not.

So what does it mean for us?  Well, best explanation is that it confirms what we already know:  the new WebRTC technology is not working perfectly and to our complete satisfaction (more about that in a minute).

Some of the other questions in the survey; browser type, operating system, webcam type, were meant to help correlate if those who had problems were using any particular type of platform.  Again, the answers were spread wide.  No correlation to hardware or system could be concluded.

One question did stand out with a surprise answer.  The question was whether a musician relies on viewers in the chat for streaming help, or whether they use a trusted friend or techie.  The sliding scale, 1 to 7, was skewed far to the “rely on any viewers in the chat” side.  In fact, not a single person answered #7 (as of 4/22) that they use “a trusted friend, colleague, or tech person.”

In our opinion, this is quite a surprise.  You all know the admins on StreetJelly are also active in the chat community.  We have a different perspective of what’s going on because we also have access to the video servers, bandwidth logs, etc.  We see many disruptive comments in the chat about video quality, bandwidth, etc. that are just not technically true.  As much as we try to help, those false comments get repeated over and over again.  I hate to say it this way, but it’s much like the “fake news” phenomenon of late.  The surprise answer to this questions means many musicians are unknowingly getting and listening to conflicting advice.  We at StreetJelly need to step up our game and get more help out to those that need it.  But we also need your help.  Nothing disrupts a show more than the same misinformed chat viewers constantly complaining about someone’s low bandwidth.  We can all help by explaining to the viewers that we understand the internet provider and networks are slow – and there is nothing we can change right now in the middle of the performance.  {rant over}

Survey conclusion and a bit of news…  We are not 100% satisfied with the reliability and success of WebRTC, yet.  It’s new technology, for sure, and we fully expect many improvements from the browser makers in the months to come.  But we also have the looming deadlines (not yet exactly known) when all plugins and Flash will be discontinued from all browsers …eventually.  We do not want to be relying on only one broadcast method, specifically WebRTC, when that day arrives.

StreetJelly will be releasing an alternative broadcasting method in the coming weeks by allowing musicians to stream directly to the StreetJelly Cloud with the OBS Studio broadcasting software platform.  This is a significant change in how StreetJelly approaches the complexity of video streaming to our musicians.  We always strive to make it as easy as possible – one click and it should just work.  OBS Studio is fantastic software, and it far surpasses other broadcasting software like Adobe’s FMLE.  However, it is much more complicated to use than a simple webpage click-a-few-buttons approach.

OBS Studio is stand alone, open source, free software you must download and install on your computer.  StreetJelly will give you all the info, URLs, and credentials it will take to connect up to our cloud.  There will still be a “broadcaster page” on StreetJelly for the musician.  This page will bind the stream coming from OBS to a show and chat on StreetJelly.  We will try to make it as simple as possible for those who wants to tackle OBS, and provide as much help and tutorials as we can.

This is a major change in streaming for some.  But for those wanting to take it on, it also brings with it many new features to your performance.  A few examples include multi-cameras, video transitions and fades, alternate audio sources, audio mixing, and so on.  Exciting times ahead.

We will be releasing the OBS broadcasting in phases.  Stay tuned.