Why Subtitles Drift Out of Sync & How to Fix Progressive Delay
Diagnose why subtitle timing drifts 2 to 5 seconds out of sync over a video. Fix 23.976 fps vs 25 fps PAL conversion drift and variable framerate (VFR) mismatches.
Diagnosing the Two Types of Subtitle Desync
When subtitles do not match spoken dialogue, identify whether you are experiencing a constant offset or progressive drift before attempting a fix. Applying the wrong solution will make synchronization worse.
| Symptom | Desync Type | Root Cause | Proper Fix |
|---|---|---|---|
| Subtitles are exactly 2 seconds late throughout the entire video | Constant Delay | Video has an intro logo or slate that the subtitle file lacks | Shift all cues by +2000 ms using SubPreflight Time Shifter |
| Subtitles start in perfect sync, but are 3 seconds late by minute 30 | Progressive Drift | Framerate mismatch (e.g., 23.976 fps vs 25.0 fps) | Apply framerate timecode multiplier or match timeline FPS |
| Subtitles drift in and out of sync unpredictably | Erratic Drift | Variable Framerate (VFR) recording (iPhone, Zoom, OBS) | Convert video to Constant Framerate (CFR) via HandBrake or ffmpeg |
The Mathematics of Framerate Mismatch Drift
Video footage and subtitle tracks rely on timebases. When a film or television show is converted between international broadcast standards, the playback speed changes slightly:
1. Film (24.000 fps) to NTSC Video (23.976 fps):
NTSC television runs at 24 × (1000 / 1001) ≈ 23.976 fps, which is 0.1% slower than true cinema 24 fps.
Speed Difference: 0.1% slower
Drift Rate: 1 frame per 1,000 frames
Cumulative Delay: 3.6 seconds per hour of video 2. NTSC (23.976 fps) to European PAL (25.000 fps):
European broadcast runs at 25 fps. To convert 23.976 fps to 25 fps without drop frames, European broadcasters traditionally speed up audio and video by 4.1% (called the "PAL speedup"):
Speed Multiplier: 25 / 23.976 ≈ 1.0427
Cumulative Delay: 2.5 seconds every minute; 150 seconds per hour If you download an SRT file created for a 25 fps version of a film and play it against a 23.976 fps Blu-ray release, the subtitles will appear early and accelerate away from dialogue rapidly.
Variable Framerate (VFR): The Smartphone Trap
Smartphones (Apple iPhones and Android devices) and screen capture tools (OBS Studio, Zoom, Discord) rarely record at a strict, steady 30.000 or 60.000 frames per second. Instead, the camera sensor throttles frame capture up and down (e.g., between 28.4 fps in low-light scenes to 59.9 fps in bright scenes) to preserve battery life and prevent dropped frames.
When you export subtitles from an automated transcription service and load them into Adobe Premiere Pro or DaVinci Resolve, the editor tries to force the VFR media onto a Constant Framerate timeline. The dialogue and subtitle tracks will drift apart randomly across cuts.
Fixing VFR Video Before Subtitle Export:
Convert your source video to Constant Framerate using ffmpeg before captioning:
ffmpeg -i input_vfr.mp4 -vsync cfr -c:v libx264 -crf 18 -c:a copy output_cfr.mp4 Step-by-Step: Fixing Constant Timing Offset
- Open your video in your player and pause on the first spoken sentence.
- Note the video timestamp where the speaker begins talking (e.g.,
00:00:04,200). - Open the subtitle file and check the start time of Cue 1 (e.g.,
00:00:02,700). - Calculate the difference:
4,200 - 2,700 = +1,500 ms. - Drop your subtitle file into SubPreflight Time Shifter, enter
+1500, and export the adjusted file.
Frequently Asked Questions
- What is the difference between constant delay and progressive drift?
- Constant delay means every subtitle is early or late by the exact same amount (e.g., exactly 1.5 seconds off from start to finish). Progressive drift means subtitles start in perfect sync, but get progressively more delayed or early as the video plays.
- Why do subtitles drift by 2 to 4 seconds over a 30-minute video?
- This almost always indicates a framerate conversion mismatch. If the video was edited at 23.976 fps but the subtitle file was generated from a 25 fps (PAL) or 24.0 fps master, the timecodes will drift by approximately 3.6 seconds every hour.
- How do I fix constant subtitle delay?
- Drop your subtitle file into SubPreflight Time Shifter, enter the offset in milliseconds (e.g., +1500ms to delay or -1500ms to advance), and download your adjusted file. All cue timecodes are shifted instantly.
- Can variable framerate (VFR) smartphone video cause subtitle drift?
- Yes. iPhones and screen recorders often capture in Variable Framerate (VFR) to save battery and storage. When imported into Premiere or DaVinci, the audio and video track timing fluctuates, causing fixed subtitle files to drift.