When Audio and Video Drift Apart: A Triage Guide
Lips out of sync with words, drift getting worse minute by minute — desync comes in two diseases: the fixed offset that is wrong from second one, and the progressive drift that gets worse as it plays. Different symptoms, different roots, different fixes.
Name the symptom first
Fixed offset: the gap is the same from start to finish (audio late by 0.5s means 0.5s everywhere) — like a subtitle shifted wholesale. The root sits at the origin: recorder timestamps, capture-card latency, or wrong header values.
Progressive drift: aligned at the start, further apart every ten minutes — the root is rate: the two clocks disagree. The classic is a mislabeled frame rate: header says 30fps, content is really 29.97, drifting about 0.6 seconds per minute — half a minute over an hour.
The triage order
Step one, swap players: if the file plays fine in VLC but drifts in another player, the problem is that player’s decoding performance, not the file. Step two, inspect parameters: a codec check showing "too clean" numbers (a round 30.00 from a 29.97 source) is the rate-root fingerprint.
Step three, locate the disease: drift in a merged file points to mixed segment parameters (frame rates or sample rates disagreeing); a single source that drifts on its own is source-borne. The location decides the fix.
Fixes and prevention
Merge-mixing caused it: unify every segment to the same frame rate and sample rate, then re-merge — re-encode to common parameters is the standard cure. Rate drift from a mislabeled frame rate: re-encoding at the true rate eases mild cases; deeply embedded drift has limited repair value.
Source-borne fixed offset: re-record or accept it — post tools do not shift audio tracks, and hand-alignment is not realistic. Prevention is cheaper than all of it: stable recording tools, unified parameters before merging (the iron rule), and never changing frame rates mid-pipeline — three roots eliminated at the source.