VLC
In VLC: find the exact offset before you fix the file
- Load the video and the subtitle file in VLC and play a scene where someone starts speaking after a moment of silence.
- On Windows and Linux, press G or H while it plays: each press moves the subtitles by 50 ms in one direction, and the current delay appears in the corner of the picture.
- For bigger or more precise values, open Tools > Track Synchronization and type a number in the subtitle track synchronization field in the Subtitles/Video section.
- When the line matches the voice, note the value. A positive delay means the subtitles needed to be later, so pick “Later” here with that number; a negative one means “Earlier”.
VLC forgets this delay when you close the video, which is why writing it into the file helps. On a Mac the hotkeys are different and the dialog sits under the Window menu; check VLC > Preferences > Hotkeys for the subtitle delay keys.