How to troubleshoot audio sync issues
So you recorded a video and noticed that your lips are moving but the words are either late or early or what some people refer to as "lag". For many video editors "lip-sync" is a problem that can happen with any broadcasting software. In Chrome, streaming with WebRTC it happens a bit more often if your computer's processor is not able to keep up. Let's find out why and how to fix it.
WebRTC and how it works:
The way WebRTC streams is by processing the audio and video separately. They are streamed separately, they travel across the internet separately, and it is your computer at home that has to put it back together in-sync. When a moment in time of the audio and video are sent across the internet too far apart from one another, the result is audio that does not match video. That's how WebRTC handles this process.
Audio processing is relatively easy for a computer, there is less data to manage. Video is another story. It takes a substantial amount of data and processing to produce a video signal. Your CPU(central processing unit) or brain of the computer can only handle so many calculations at a time. If there is too much data to process when streaming, generally the video gets processed slower than audio.
The result is audio encoding first, and the video lagging behind. Hearing your audio first then seeing the video catch up.
Here is an example:
The desired result is obvious:
How to troubleshoot this issue:
To fix this issue, or at least get your video working to its optimal performance you need to understand the variables that can free up your computer’s CPU from tasks, or reduce the amount of video data to process
- Make sure your browser is running the latest version. Chrome is constantly making improvements to their browser, with it comes fixes and enhancements. Not being on the latest browser could be causing issues. Check if you need to update: chrome://settings/help
- Try using your internal microphone and camera and see if the audio sync is better. It's a good way to eliminate hardware issues.
- Make sure you are on a stable network! Ethernet connection is the easiest way to ensure a stable network connection. Check if your router/modem are up to date and capable of handling the upload speeds necessary to stream.
- Turn off any software running on your computer you do not need for streaming. Anything to free up your CPU will help. Close multiple browser windows and tabs, close music recording software, close any games and video intensive software. If you don't need it to stream, it shouldn't be open.
- Adjust your webcam to a lower setting. Your webcam may be set at very high HD settings. The encoder then has to convert that video to lower quality for streaming. That takes a lot of CPU power to do that. If you can, try it and see the result.
- Remove/avoid any webcam effects from your broadcast such as: face filters, webcam filters, green screen fx). All these require CPU processing to generate.
- Remove any lighting effects in your home studio. The least amount of background "noise" the better. This reduces the amount of bandwidth needed to stream and process.
- Check if Chrome's "Hardware Acceleration" is enabled. If it is, try turning it off and seeing the result. If it's not, try turning it on. On certain machines this setting can cause issues.
- Check your computer's hardware settings check if there are any "Hardware acceleration" settings. You will want to have those on since streaming is a hardware intensive process. The key here is to maximize the CPU and GPU (graphics processing unit) settings.
Hopefully this answers some questions and gives you some ideas on how to make your stream optimized for your system.
Still looking for an answer?
Contact the Socialive Support team via our Live Chat or via email at email@example.com