Subtitles drift further out of sync as the video plays
If your subtitles are fine for the first few minutes and badly wrong by the end, you do not have an offset problem. Shifting the file will not fix it, and this is the single most common reason people give up on a subtitle file that was actually salvageable.
Updated
Fix drift nowHow to tell drift from an offset
Play the video and check the sync in two places: about a minute in, and about five minutes before the end. Then compare.
- Same gap at both ends. That is a constant offset. One shift fixes it.
- Gap grows steadily. That is drift. The subtitles run at the wrong speed and need stretching.
- Gap wanders unpredictably. The release was cut differently. No single correction will fix it.
The direction matters too. If the subtitles get progressively early, they are running fast and need slowing down. If they fall progressively behind, they are running slow.
Why it happens
Drift is a percentage error, not a fixed one. Three things cause it:
- Frame rate mismatch. The overwhelming majority. The same film ships at 25 fps in PAL regions, 23.976 fps for NTSC broadcast, and 24 fps theatrically. Subtitles timed against one and played against another drift by the ratio between them.
- Speed-adjusted video. PAL speed-up plays a 24 fps film at 25 fps, making it 4% shorter. If the subtitles were made from the unsped version, they drift.
- OCR from hardsubs. Subtitles extracted from burned-in text inherit whatever timing error the extraction had, and it often accumulates.
Measuring it
You need two reference points, one near the start and one near the end. For each, find a clearly spoken line, note the time the words are actually said, and note the time the subtitle currently appears.
Say the first line should be at 00:00:42 but appears at00:00:40, and the last should be at 01:48:30 but appears at 01:44:12. The error grew from 2 seconds to 258 seconds across 6,468 seconds of runtime, which is about 4%. That is the signature of a 25 to 23.976 mismatch.
Fixing it
There are two ways in, and they solve the same equation.
If you know the frame rates
Use frame rate conversion. Tell it what the subtitles were made for and what the video actually is, and every timestamp is rescaled by the ratio. This is the cleaner option because the numbers are exact rather than measured.
If you do not
Use the two-point stretch. Give it the observed and correct time for one early line and one late line, and it solves the correction from those four numbers. This works for any linear drift, including speed-adjusted video and OCR error, not only frame rate pairs.
Pick your two anchors as far apart as possible. Anchors close together make the stretch imprecise, because a small measurement error gets multiplied across the whole runtime. Cuelatch refuses anchors less than a minute apart for exactly this reason.
Or let it work the correction out
Drop the video in alongside the subtitles and Cuelatch will listen to the audio, match it against the subtitle timing, and tell you whether the file needs a shift or a stretch. When it finds a stretch it names the frame rate pair responsible, and it shows you the match strength so you can judge the answer rather than take it on faith. All of it runs on your own machine.
Check before you keep it
After correcting, check the same two points you measured. Both should line up. If the start is right and the end is still off, the stretch was slightly wrong. If both are right but the middle wanders, the release was cut differently and needs a subtitle editor rather than a correction.
Common questions
- Why do my subtitles start fine and end up seconds off?
- The subtitle file runs at a slightly different speed to the video, almost always because it was timed against a different frame rate. The error is a percentage of elapsed time, so it is invisible in the first minute and obvious by the end.
- Can I fix drift by shifting the subtitles?
- No. A shift moves every line by the same amount, which is the wrong shape of correction. Shifting a drifting file makes the middle line up while the start and end are wrong in opposite directions.
- How much drift does a frame rate mismatch cause?
- Playing 25 fps subtitles against 23.976 fps video makes them run about 4.27% fast, which is roughly 2.5 seconds per minute, or a little over 5 minutes across a two-hour film.
- What if the drift is not steady?
- If the subtitles wander rather than drift in one direction, the release was probably cut differently, with scenes added or removed. No single correction fixes that. It needs line-by-line retiming in a subtitle editor.
Related
Cuelatch runs entirely in your browser. Subtitle and video files are never uploaded.