How to fix audio and video synchronization issues when streaming

My video doesn’t seem to be in sync with my audio? 

If you are using audio processing software it can sometimes cause delays that you need to compensate for. You may need to adjust the delay to make your voice / mouth sync up with your audio for your viewers. 

In some instances you may need to delay your video, others your microphone audio: 

To adjust audio delay in OBS, click the Settings  icon below your audio sources and click Advanced Audio Properties. From there adjust your Sync Offset (ms) to a value that looks and sounds correct for viewers. 
To adjust video delay in OBS, right click your game capture source and click Filters. From there click the + button at the bottom left and add a Render Delay filter. Select the filter you just added and adjust the render delay (ms). 

Watching your stream on another computer, smartphone, or listening to your chat is the best way to confirm your audio and video are in sync.

If your video looks like it is delayed compared to the audio on your stream you can figure out the correct amount of delay needed to sync everything using VLC and apply that value in OBS.

Open the video in VLC Media Player

Go to Tools > Effect and Filters

Click on the Synchronization tab

Under Audio/Video enter a numerical value

(On a Mac it's Window > Track Synchronization > Audio/Video Track Synchronization)

When you enter a value that syncs the audio and video you can enter it into the OBS Advanced Audio Properties Sync Offset

The 'advanced audio properties' allows you to set a delay on all audio sources

Mixer > Gear > Advanced Audio Properties

Set an audio delay 

Under the Sync Offset (ms) column, enter a delay for the audio source in milliseconds. 1000ms = 1 sec. You might need to experiment with this option in order to correctly sync the audio with the video.

As a reference I set my Logitech cameras to a 250ms sync offset delay.

https://twitch.afteraudio.com/