Video and Audio Out of Sync After Conversion? Fix Guide
Why Audio Drift Happens During File Conversion
Audio sync problems after conversion are one of the most reported complaints in video processing, and they almost always trace back to a small set of technical causes rather than random software bugs. Understanding those causes is the fastest path to a fix. The most common culprit is a mismatch between the video's frame rate and the audio's sample rate. When a converter re-encodes video from, say, 29.97 fps (the NTSC standard) to a clean 30 fps, it changes the timing of every frame by a tiny amount. Across a two-hour film, those fractions of a millisecond stack up to several seconds of drift. You'll notice this most clearly in dialogue scenes — lips move, the words arrive a beat later. A second cause is Variable Frame Rate (VFR) footage. Smartphones and screen-recording software frequently shoot in VFR, where the camera drops or duplicates frames depending on motion. Most encoders assume Constant Frame Rate (CFR). When a VFR file is fed into a CFR encoder without prior conversion, the audio track — which runs at a perfectly steady 44.1 kHz or 48 kHz — falls out of step with the now-irregular video frames. Third: container format switching. Moving a file from MKV to MP4, for example, involves remuxing the streams. If the source file had a non-zero audio delay baked into its MKV metadata (a value stored in the TrackTimecodeScale or CodecDelay fields), many converters silently drop that offset during remuxing. The result is audio that starts 200–500 ms too early or too late. Finally, transcoding audio from a high-bitrate format like AC3 5.1 (used in DVD and Blu-ray rips) to stereo AAC changes the codec's inherent latency. AC3 has a built-in encoder delay of 256 samples; AAC typically carries 1024–2048 samples of priming. If the converter doesn't compensate for these values, you get a shift in the first few seconds that sometimes corrects itself mid-video, creating a creeping sync problem that's particularly disorienting.
Diagnosing the Exact Size of Your Sync Problem
Before applying any fix, measure the offset. Guessing wastes time and often makes things worse. A precise number — say, 'audio is 340 ms early' — tells you exactly which solution to reach for. The simplest diagnostic tool is VLC Media Player (free, cross-platform). Open your converted file, then press 'G' to delay audio by 50 ms increments or 'F' to advance it by 50 ms. Keep pressing until dialogue matches lip movement, then check the Audio Desynchronization Compensation value under Tools > Track Synchronization. That number, in milliseconds, is your offset. Write it down. For a more precise measurement, open the file in a free editor like Audacity alongside the video in VLC. Find a sharp transient — a clap, a door slam, a gunshot — and note its timestamp in both the waveform and the video. The difference between those two timestamps is your drift value. If the drift grows over time (audio is in sync at minute 0 but 2 seconds off by minute 60), you're dealing with a frame rate mismatch or a VFR problem. If the offset is constant from the first frame, it's almost certainly a container remux issue or a codec delay that wasn't compensated. Also check the source file before blaming the conversion. Open your original file in VLC and run the same test. If the source is already out of sync, the problem predates the conversion and you need to fix the source, not just re-convert. CocoConvert, like any converter, will faithfully reproduce a sync problem that already exists in the input file — it has no way to know what 'correct' sync looks like for your specific content.
Fixing Sync in CocoConvert: Settings That Actually Help
CocoConvert's conversion engine gives you several levers that directly affect audio-video synchronization. Knowing which one to pull for which problem saves a lot of trial and error. For constant-offset problems (audio is always X milliseconds off), use the Audio Delay field in the Advanced Settings panel. After uploading your file, click 'Advanced Options' beneath the format selector. You'll see an 'Audio Delay (ms)' field. Enter a positive number to push the audio later, or a negative number to pull it earlier. If VLC told you the audio is 340 ms early, enter -340 here. This is the fastest fix for remux-related sync issues. For frame rate drift, the most reliable approach is to set the output frame rate explicitly rather than leaving it on 'Auto'. Under Video Settings in the Advanced Options panel, change the Frame Rate dropdown from 'Same as source' to the exact value your target platform expects — 23.976 for most streaming services, 25 for PAL broadcast, 29.97 for NTSC-compatible content. Locking the frame rate forces the encoder to maintain a consistent relationship between frames and audio samples. For VFR source footage (common with iPhone videos and OBS recordings), CocoConvert's 'Normalize Frame Rate' toggle — located in the same Video Settings section — converts the variable-rate stream to CFR before encoding. Enable this before converting. It adds processing time but eliminates the most common cause of creeping drift in smartphone footage. One honest limitation: CocoConvert currently does not expose codec priming delay compensation controls. If your sync problem is caused specifically by the AC3-to-AAC encoder latency difference (256 vs. 1024–2048 samples), you may need to apply a manual offset using the Audio Delay field after testing in VLC, or handle that step in a desktop tool like HandBrake, which has explicit encoder delay handling in its Audio > Advanced tab.
When CocoConvert Isn't the Right Tool for the Job
Honesty matters here. Some sync problems require frame-accurate editing that a cloud conversion service isn't designed to provide, and reaching for the wrong tool wastes your time. If your sync drift is non-linear — meaning the audio and video gradually diverge and then converge, or the drift rate changes at specific points in the video — you're dealing with a broken timecode track or corrupted timestamps in the source file. This is common with footage captured from satellite receivers, old VHS digitizations, or files that were interrupted mid-transfer. Fixing non-linear drift requires a tool that can retime individual segments, such as Avisynth with the TimeStretch filter, or a professional NLE like DaVinci Resolve (free version available) using its Retime controls. CocoConvert applies a single constant offset across the entire file; it cannot retime variable drift. Similarly, if you're working with a 4K ProRes file that has eight discrete audio channels (common in broadcast and cinema workflows), CocoConvert's audio handling may not preserve the channel mapping correctly during conversion, which can create apparent sync issues that are actually channel routing problems. For those workflows, ffmpeg on the command line — or Adobe Premiere's Export Media dialog — gives you explicit control over channel mapping. For batch jobs where dozens of files all have the same known offset (a common situation when converting a season of TV episodes ripped from the same source), CocoConvert's batch upload with shared Advanced Settings works well. But if each file has a different offset, you'll need to set them individually, which is tedious at scale. In that scenario, a local ffmpeg script with per-file offset values is more practical. The point isn't that CocoConvert is limited — it's that sync problems span a wide spectrum of complexity, and matching the tool to the problem is what actually gets you a fixed file.
Using FFmpeg to Apply Precise Audio Offsets
For users comfortable with a command line, ffmpeg offers the most precise audio offset control available without touching a full NLE. It's free, runs on Windows, macOS, and Linux, and handles most sync fixes in seconds without re-encoding the video stream. The key command for applying a constant audio delay is: ffmpeg -i input.mp4 -itsoffset 0.340 -i input.mp4 -map 0:v -map 1:a -c copy output.mp4 Here, 0.340 represents a 340 ms audio delay. The -c copy flag tells ffmpeg to copy both streams without re-encoding, so a 10 GB file processes in under 30 seconds regardless of resolution. To advance the audio instead (make it earlier), use a negative itsoffset value on the video input rather than the audio input: ffmpeg -itsoffset 0.340 -i input.mp4 -i input.mp4 -map 0:v -map 1:a -c copy output.mp4 For VFR-to-CFR conversion, ffmpeg's fps filter handles it cleanly: ffmpeg -i input.mp4 -vf fps=29.97 -c:v libx264 -crf 18 -c:a copy output.mp4 Note that this re-encodes the video stream (unavoidable when changing frame rate), so set -crf appropriately for your quality needs — 18 is near-lossless, 23 is the default, 28 is acceptable for web previews. If you want to avoid the command line entirely, HandBrake's GUI exposes most of these same controls. Under the Audio tab, the 'Track Offset' field accepts millisecond values. Under Video, the 'Frame Rate' dropdown lets you set CFR explicitly. HandBrake also has a 'Peak Framerate (VFR)' option that handles variable-rate footage more gracefully than a hard CFR lock in some edge cases. Once you've fixed the file locally with ffmpeg or HandBrake, you can still use CocoConvert for any subsequent format changes — the corrected file will convert cleanly since the underlying sync issue has been resolved at the source.
Preventing Sync Problems Before They Start
Most audio sync issues are easier to prevent than to fix. A few habits during recording and file management eliminate the majority of problems before conversion ever happens. Shoot in CFR if your camera or software offers the choice. On iPhones running iOS 14 and later, go to Settings > Camera > Record Video and disable 'Auto FPS'. This forces the camera to maintain a constant frame rate rather than dropping frames in low light. On Android, the setting is usually found in the camera app's Pro or Manual video mode under Frame Rate. For screen recording with OBS, set the Output Frame Rate in Settings > Video to a fixed value — 30 or 60 — and make sure 'Common FPS Values' is selected rather than a fractional value. When editing before conversion, export from your NLE in a format that preserves timing metadata cleanly. From Adobe Premiere, use H.264 or ProRes with 'Match Source' frame rate settings. From DaVinci Resolve, the DeliverPage's 'Individual clips' option exports with accurate timestamps even for complex timelines. Avoid exporting to formats with known metadata handling quirks, like older AVI containers, if you plan to convert the file again afterward. Keep your source files intact. A common mistake is deleting the original after conversion and then discovering the converted file has a sync problem. Always keep the source until you've verified the output plays correctly on your target device or platform — not just in the converter's preview window, which sometimes uses a different decoder than the end platform. Finally, test a short clip before committing to a long conversion. Upload the first two minutes of a file, convert it, check sync in VLC, then apply the confirmed settings to the full file. This takes an extra three minutes and saves hours of re-conversion.
Quick Reference: Sync Problem to Solution
To make this actionable, here's a direct mapping from symptom to fix. Use the diagnostic steps from the second section to identify which case applies to you, then go straight to the relevant solution. Constant offset, audio always early or late by the same amount: Use CocoConvert's Audio Delay field in Advanced Options, or ffmpeg's -itsoffset flag. This is the fastest fix and requires no re-encoding if you use ffmpeg with -c copy. Drift that grows over time, source is smartphone or screen recording: Enable 'Normalize Frame Rate' in CocoConvert's Advanced Options before converting. Alternatively, pre-process with ffmpeg using the fps filter to convert VFR to CFR, then upload the corrected file. Drift that grows over time, source is a film or broadcast rip: You likely have a frame rate mismatch (23.976 vs. 24, or 29.97 vs. 30). Set the output frame rate explicitly in CocoConvert's Video Settings, matching the standard your content was originally authored at. Audio starts in sync then drifts and recovers, or drifts irregularly: Non-linear drift from corrupted timestamps. CocoConvert cannot fix this. Use DaVinci Resolve's Retime controls or Avisynth with TimeStretch. Sync is correct in the original file but breaks only after MKV-to-MP4 remux: The MKV had a stored audio delay in its metadata that was dropped during remuxing. Check the original MKV's audio delay in VLC (Tools > Media Information > Codec tab), then apply that value in CocoConvert's Audio Delay field. First few seconds are off, then sync corrects itself: Codec priming delay mismatch, most common when converting AC3 to AAC. Apply a small negative audio delay (try -50 ms to -100 ms as a starting point) or use HandBrake's Track Offset field for finer control. If none of these match your situation exactly, the VLC diagnostic test described earlier will give you the precise offset value you need. Start there, and the correct fix becomes straightforward.