YouTube Audio Out of Sync: Why It Happens and How to Fix It
Variable frame rate is the top cause of audio sync issues on YouTube. Here is how to diagnose, fix, and prevent desync for both creators and viewers.
YouTube audio sync problems fall into two completely separate categories: creator-side issues (your uploaded video has desynchronized audio) and viewer-side issues (the audio syncs fine for others but not on your device). The fix depends entirely on which category you are in, and applying the wrong fix wastes hours.
For creators, the root cause in the vast majority of cases is Variable Frame Rate (VFR) footage. OBS screen recordings, smartphone videos, and game capture software output VFR by default — the frame rate fluctuates depending on system load. When YouTube re-encodes this footage on its servers, the variable timing causes audio to drift progressively out of sync with video. The fix is converting your footage to Constant Frame Rate (CFR) before uploading, using HandBrake, FFmpeg, or your editing software's export settings (source, source).
For viewers, the most common cause is hardware acceleration in your web browser. Disabling it in Chrome or Firefox settings resolves the issue immediately in most cases (source, source).
This guide covers both sides: creator-side diagnosis and prevention (VFR conversion, YouTube's recommended upload settings, OBS configuration, editing software export settings) and viewer-side fixes (browser settings, driver updates, Bluetooth latency, known browser bugs). Whether you are uploading videos that arrive out of sync or watching videos that play out of sync on your device, the fix is here.
For OBS-specific recording configuration, see our OBS Studio setup guide. For editing software options that handle sync well, see our video editing software comparison.
Why Audio Goes Out of Sync on YouTube
Audio sync problems have four primary causes, and identifying which one applies to your situation is the first step to fixing it.
Cause 1: Variable Frame Rate (VFR) — The #1 Creator Problem
This is the root cause of the majority of audio sync issues that creators experience after uploading to YouTube (source, source).
What is VFR? Most recording software does not capture video at a perfectly consistent frame rate. When you record gameplay at "60fps," your GPU may actually render frames at fluctuating intervals — 58fps one second, 63fps the next, 55fps during an explosion. Screen recording software captures these inconsistent frame timings faithfully, producing a Variable Frame Rate video file.
Why it causes sync problems: Audio is always recorded at a constant rate (typically 48,000 samples per second). When video frames arrive at irregular intervals but audio arrives at a constant rate, the two streams gradually drift apart. A 10-second clip might stay in sync. A 15-minute video can drift by several seconds.
When YouTube makes it worse: YouTube re-encodes every uploaded video into standardized formats (H.264 or VP9). During this re-encoding, YouTube assumes constant frame timing. When it processes a VFR file, the encoder forces inconsistent frames into a constant grid — but it cannot fix the fundamental timing mismatch with the audio track. The result is audio that was slightly off becoming noticeably off after YouTube's processing (source).
VFR sources you might not realize are VFR:
- OBS Studio recordings (VFR by default unless you change the setting)
- iPhone and Android phone recordings (VFR by default)
- Screen capture tools (Bandicam, Camtasia, ShareX — many default to VFR)
- Game capture cards (Elgato, AVerMedia — output can be VFR depending on settings)
Cause 2: YouTube Re-Encoding
Even if your footage is CFR, YouTube's re-encoding process can introduce sync drift if your upload does not match YouTube's recommended specifications. YouTube re-encodes every video — there is no way to upload a file and have YouTube serve it as-is (source, source).
YouTube's recommended upload settings that minimize re-encoding sync issues:
| Setting | Recommended Value |
|---|---|
| Video codec | H.264 (AVC) |
| Audio codec | AAC-LC |
| Audio sample rate | 48 kHz |
| Frame rate | Constant (match source: 24, 25, 30, 48, 50, or 60fps) |
| GOP structure | Closed GOP |
| Keyframe interval | Half the frame rate (e.g., 30fps → keyframe every 15 frames, or every 0.5 seconds) |
| Container | MP4 |
| Audio channels | Stereo (2 channels) |
Deviating from these settings — especially using variable frame rate, open GOP, or non-standard keyframe intervals — increases the probability that YouTube's re-encoder will introduce timing errors (source).
Cause 3: Browser Hardware Acceleration — The #1 Viewer Problem
Hardware acceleration offloads video decoding from your CPU to your GPU. On most modern systems, this works perfectly. But on systems with outdated GPU drivers, incompatible hardware, or certain GPU/driver combinations, hardware acceleration introduces a timing mismatch between the decoded video frames and the audio playback (source, source).
This is a viewer-side issue — the video is fine on YouTube's servers and plays in sync for other viewers. The desync only occurs on your specific device.
Cause 4: Bluetooth Audio Latency
Bluetooth headphones and speakers introduce inherent transmission latency — the audio signal must be encoded, transmitted wirelessly, and decoded by the receiving device. This adds 50-300 milliseconds of delay depending on the Bluetooth codec (SBC, AAC, aptX, LDAC). YouTube's player does not compensate for Bluetooth latency, so audio consistently arrives slightly after the corresponding video frame.
Creator Fixes: How to Fix Sync Before Uploading
Fix 1: Convert VFR to CFR with HandBrake (Free)
HandBrake is the most common free tool for converting Variable Frame Rate footage to Constant Frame Rate. Critical warning: HandBrake's default framerate setting is "Variable Framerate" — you must explicitly change it (source).
Steps:
- Download and open HandBrake (handbrake.fr)
- Open your source video file
- Go to the Video tab
- Under Framerate, select the frame rate that matches your recording (e.g., 30 or 60)
- Select Constant Framerate (not "Variable Framerate" or "Peak Framerate")
- Under Video Encoder, select H.264 (x264)
- Set quality to RF 18-20 for high quality
- Go to the Audio tab and ensure the codec is AAC and sample rate is 48 kHz
- Click Start Encode
The output file will be CFR and should upload to YouTube without sync issues.
Fix 2: Convert VFR to CFR with FFmpeg (Free, Command Line)
FFmpeg is faster and more precise than HandBrake for batch processing, but requires command line knowledge.
Single file conversion:
ffmpeg -i input.mp4 -c:v libx264 -preset slow -crf 18 -r 30 -c:a aac -b:a 192k -ar 48000 -vsync cfr output.mp4
Key flags explained:
-r 30— forces output to 30fps constant-vsync cfr— explicitly sets constant frame rate synchronization-ar 48000— sets audio sample rate to 48kHz (YouTube recommended)-crf 18— high quality encoding (lower = better quality, 18-20 is visually lossless)
Replace 30 with 60 if your source material is 60fps.
Fix 3: Export Correctly from Your Editing Software
If you edit in Premiere Pro, DaVinci Resolve, or Final Cut Pro, the export settings determine whether the output is CFR or VFR.
Adobe Premiere Pro:
- File → Export → Media
- Format: H.264
- Ensure "Match Sequence Settings" is checked, or manually set frame rate to match your sequence
- Under the Video tab, verify the frame rate is not set to "Variable"
- Audio: AAC, 48 kHz, Stereo
DaVinci Resolve:
- Deliver page → Custom Export
- Format: MP4, Codec: H.264
- Frame rate: match your timeline (ensure it is a fixed value, not "auto")
- Audio: AAC, 48 kHz
- DaVinci Resolve handles VFR source material well during import — it conforms footage to the timeline frame rate. But the export settings must still be verified.
Final Cut Pro:
- File → Share → Master File
- Settings: H.264, frame rate matching project settings
- Final Cut Pro automatically exports at constant frame rate when using standard presets
Fix 4: Configure OBS to Record in CFR
If you record with OBS Studio, change the recording settings to prevent VFR output from the start (source):
- Open OBS → Settings → Output
- Set Output Mode to Advanced
- Under the Recording tab:
- Encoder: x264 (software) or NVENC (hardware)
- Rate Control: CRF (for quality) or CBR (for consistency)
- Go to Settings → Video
- Set Common FPS Values to your target (30 or 60)
- Go to Settings → Advanced
- Under Recording, ensure Automatically remux to mp4 is checked
Important: OBS does not have a single "CFR toggle." The combination of a fixed FPS value in Video settings and a consistent encoder configuration produces effectively constant frame rate output. If you experience sync issues even with these settings, add a sync offset in OBS (Settings → Advanced → Audio → Sync Offset) to manually compensate.
Viewer Fixes: How to Fix Sync While Watching
If videos play out of sync only on your device (and other people confirm the same video plays fine for them), the problem is on your end.
Fix 1: Disable Hardware Acceleration in Your Browser
This resolves the issue for the majority of viewers experiencing audio desync (source, source).
Chrome:
- Click the three-dot menu → Settings
- Search for "hardware acceleration"
- Toggle off Use graphics acceleration when available
- Restart Chrome
Firefox:
- Click the hamburger menu → Settings
- Scroll to Performance
- Uncheck Use recommended performance settings
- Uncheck Use hardware acceleration when available
- Restart Firefox
Edge:
- Settings → System and performance
- Toggle off Use graphics acceleration when available
- Restart Edge
After disabling, test a video that was previously out of sync. If the problem resolves, the cause was a GPU driver or hardware compatibility issue. You can try updating your GPU drivers and re-enabling hardware acceleration afterward.
Fix 2: Update GPU Drivers
Outdated GPU drivers are the second most common cause of viewer-side sync issues. Hardware acceleration relies on GPU-specific video decoding capabilities, and driver bugs can cause timing mismatches (source).
NVIDIA: Download the latest driver from nvidia.com/drivers AMD: Download from amd.com/en/support Intel: Download from intel.com/content/www/us/en/download-center
After updating, restart your computer and test YouTube playback with hardware acceleration re-enabled.
Fix 3: Switch from Bluetooth to Wired Audio
If you are using Bluetooth headphones or speakers and experiencing consistent audio delay (audio arriving slightly after the video), switch to a wired connection. Bluetooth inherently introduces 50-300ms of latency that YouTube's player does not compensate for. Wired connections eliminate this variable entirely.
If you must use Bluetooth, ensure your device supports a low-latency codec like aptX Low Latency (< 40ms) rather than the default SBC codec (170-270ms).
Fix 4: Clear Browser Cache and Restart
A corrupted browser cache can cause playback anomalies including audio desync. Clear your browser's cache (not cookies — just cached files), restart the browser, and test again. This is a simple fix that resolves more cases than you would expect.
Fix 5: Known Firefox Bug — Long-Form Playback Drift
Firefox has a documented bug (Bugzilla #1164966) where audio gradually drifts out of sync during HTML5 video playback after 5-8 minutes of continuous viewing. The desync worsens the longer you watch. Pausing and resuming the video temporarily resets the sync (source).
If you experience this, the workaround is to pause and unpause every few minutes, or switch to Chrome or Edge for long-form YouTube viewing until Mozilla resolves the issue.
How to Diagnose Whether Your File Is VFR
Before uploading, you can check whether your video file is VFR using free tools.
Using MediaInfo (Free, All Platforms)
- Download MediaInfo from mediaarea.net
- Open your video file
- Look for Frame rate mode in the Video section
- If it says Variable, your file is VFR and needs conversion
- If it says Constant, your file is CFR and should be safe to upload
Using FFprobe (Free, Command Line)
ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate,avg_frame_rate -of default=noprint_wrappers=1 input.mp4
If r_frame_rate and avg_frame_rate show different values, or if the avg_frame_rate is a non-standard number (like 29.876 instead of exactly 30/1), your file is likely VFR.
Pre-Upload Checklist for Sync-Safe Videos
Run through this checklist before every upload to prevent sync issues:
- Verify CFR: Check with MediaInfo or FFprobe that your export is Constant Frame Rate
- Codec: H.264 (AVC) video codec
- Audio: AAC-LC at 48 kHz sample rate, stereo
- Frame rate: Fixed value matching your project (24, 25, 30, 48, 50, or 60fps)
- Container: MP4
- GOP: Closed GOP, keyframe interval at half the frame rate
- Quick preview: Play the last 2 minutes of your exported file locally — sync drift is most noticeable toward the end of longer videos
- File size sanity check: A 10-minute 1080p30 video should be roughly 1-2 GB at high quality. If your file is drastically smaller, your export settings may be too aggressive
Key Takeaways
- Variable Frame Rate (VFR) is the #1 cause of creator-side audio sync issues. OBS, smartphones, and screen capture tools output VFR by default. Convert to CFR before uploading using HandBrake (set Constant Framerate explicitly) or FFmpeg.
- YouTube re-encodes every video, and VFR source files make re-encoding worse. Follow YouTube's recommended upload settings: H.264 video, AAC audio at 48 kHz, constant frame rate, closed GOP. This gives YouTube's encoder the cleanest possible input.
- Browser hardware acceleration is the #1 cause of viewer-side sync issues. Disabling it in Chrome, Firefox, or Edge settings resolves the problem in most cases. Update your GPU drivers before re-enabling.
- Diagnose before you fix. Use MediaInfo to check whether your file is VFR or CFR before spending hours troubleshooting. If the Frame rate mode says "Variable," convert it — that is almost certainly your problem.
- HandBrake defaults to Variable Framerate. This catches many creators who use HandBrake specifically to fix VFR issues. You must manually select Constant Framerate in the Video tab settings — it is not the default.
FAQ
Why does my video play in sync on my computer but go out of sync after uploading to YouTube?
YouTube re-encodes every uploaded video into standardized formats. Your local media player can handle Variable Frame Rate files by adjusting playback timing in real time. YouTube's encoder cannot — it forces VFR frames into a constant timing grid, which shifts frames relative to the audio track. The longer the video, the more the drift accumulates. Converting your file to Constant Frame Rate before uploading prevents this because YouTube's encoder receives frames that already match the expected timing.
Does YouTube's processing always cause audio sync issues?
No. YouTube's re-encoding works correctly for the vast majority of uploads. Sync issues during re-encoding only occur when the source file deviates from YouTube's expected input format — particularly Variable Frame Rate files, non-standard keyframe intervals, or unusual audio sample rates. If you export with YouTube's recommended settings (H.264, AAC at 48 kHz, constant frame rate, closed GOP), the re-encoding process should preserve sync perfectly.
Can I fix audio sync after a video is already published on YouTube?
Not directly on YouTube — there is no post-upload sync adjustment tool in YouTube Studio. Your options are: (1) download the original source file, fix the sync using HandBrake or your editing software, and re-upload as a new video; or (2) use YouTube Studio's editor to trim the beginning or end of the video, which forces a re-process that occasionally resolves minor sync issues. For significant sync drift, re-uploading a fixed version is the only reliable solution.
Why is audio out of sync only when I use Bluetooth headphones?
Bluetooth transmission adds inherent latency — typically 50-300 milliseconds depending on the Bluetooth codec your device uses. The default SBC codec has the highest latency (170-270ms). YouTube's player does not compensate for Bluetooth delay, so you perceive the audio arriving slightly after the video. Switching to wired headphones eliminates this, or you can use Bluetooth headphones that support aptX Low Latency (under 40ms delay) if your device supports it.