How can I re-sync the subtitle and the video using VLC media player?

91

25

When I play a movie with subtitles (on VLC media player), the text is often displayed too soon or too late. Is there a way to delay the starting point of the subtitles?

Pierre Watelet

Posted 2010-01-14T12:26:15.770

Reputation: 4 269

Answers

81

  1. Open VLC media player.
  2. Click the File Menu.
  3. Click Open File.
  4. Click Browse to Open the Movie.
  5. Check the "Use a subtitle file" Box.
  6. Click Browse to Open the Subtitle.
  7. Click "Advanced Settings"
  8. Move the Delay into the minus if the subtitles are too fast. Move it into the positive if the subtitles are too slow.

You can also just press H and G while the video is running to align the subtitles backward and forward in time; for the voice use J and K. The increments are in milliseconds, so it can be pretty easily fine tuned that way.

Source

If you want to fix the subtitles 'for good', I recommend Subtitle Workshop; it's free.

Molly7244

Posted 2010-01-14T12:26:15.770

Reputation:

I'm using Version 2.1.2 Rincewind (Intel 64bit) on Mac OS and the correct keys are F and G for Audio delay and H and J for subtitles. – Tim Büthe – 2015-01-31T20:34:51.327

4Why would VLC not allow you to simply save this setting out to a file that gets automatically loaded with the movie when you open it? – Jake Wilson – 2016-04-16T05:02:22.643

Note: This method does not work with all subtitles. Sometimes you can make the subtitle sync for a short time, but the next minute they're desync again. As if there is a growth in delay. So you can set an additional value in VLC a factor for delay or so, but that sometimes also doesn't help, because the delay then seems to be exponential. I am convinced, that VLC does not handle subtitles correctly in some cases causing this kind of issue. – Also when you check the subtitle files their timings don't seem to be THAT much wrong. – Zelphir Kaltstahl – 2016-05-22T14:54:31.317

3This solution permit to "slide" the subtitle starting point. But I have the problem that the subtitles slowly become de-sync with time. Just as the "pitch" was a little bit higher... Is there a way to "to accelerate" or "to slow down" the subtitles speed ? – Pierre Watelet – 2010-06-18T12:09:30.930

1All the steps are correct except for step 8. If the subtitles are too fast, then you need to induce some positive delay and vice versa. So 1. If subs come before audio -> set subtitles delay in +ve. 2. If audio comes before subtitles -> set subtitles delay in -ve. – None – 2012-07-01T02:39:06.843

3with the kmplayer you could adjust the timing of your subtitles while you watching the video AND saving it. (And you could also set the amount of milliseconds incremented by the hotkeys) – fluxtendu – 2010-01-14T13:33:37.617

true enough, subtitle handling of VLC was always somewhat 'orphaned' compared to KMPlayer or SMPlayer. – None – 2010-01-14T13:42:02.053

3it's G & H on my fresh install of VLC 1.0.3, and the default jump is around 50ms. J/K are the audio delay. (i expect your source just reported the keys wrong.) – quack quixote – 2010-01-14T23:15:51.437

93

There is a much more easy way to do this via the advance synchronisation functionality of VLC

  1. Detect (“hear and see”) that subtitles are out of sync
  2. Press Shift + H when you hear a sentence that you will be able to easily recognize
  3. Press Shift + J when you read the same sentence in the subtitle
  4. Press Shift + K to correct the sync

NoNameProvided

Posted 2010-01-14T12:26:15.770

Reputation: 1 996

4Nice one - solves the problem when the subtitles are out of sync. I wish there was a similar facility for solving issues when the subtitles have a different FPS. – axel22 – 2014-12-24T13:29:14.623

3

@axel22 Wishes of Christmas often are fulfilled. You can start it from command line with the option --sub-fps and the new fps, or change it in the options windows. Give it a look to another answer and to the full help of vlc.

– Hastur – 2015-01-19T08:19:56.013

5This is better than the accepted answer. – Computist – 2016-01-17T19:15:13.183

Agree. This one is better and so much easier to perform. – Bryan CS – 2016-11-24T04:59:19.917

how do you perform this when the subtitles are ahead of sound? I cannot press SHIFT+J before pressing SHIFT+H – johni – 2018-01-20T19:42:42.820

You can rewind the movie after pressing Shift+H, no? – NoNameProvided – 2018-01-20T19:48:40.370

Way better than the accepted answer. – Diaa – 2018-08-14T13:16:21.117

1Doesn't seem to work properly when the sub is ahead of sound, with rewinding. – woony – 2018-12-11T20:13:45.883

Is there any way to save the modified / synced .SRT after performing this action? – topher – 2019-02-08T17:21:52.273

I don't think so. – NoNameProvided – 2019-02-09T13:31:17.840

6

By command-line is possible to use the option --sub-delay followed by the number positive or negative of 1/10 of seconds of delay to add. So to shift the subtitle of 3 second you can run vlc with the following command line

 vlc --sub-delay 30  myfile.avi

In a similar way acts the option --sub-fps that override the normal fps.

--sub-fps Frame per second
Override the normal frames per second settings. This will only work with MicroDVD and SubRIP (SRT) subtitles.

With VLC 3.0.0 there are some other option that can be useful (and almost self-explicative)

  • --sub-fps
  • --sub-delay
  • --sub-type
  • --sub-file
  • --sub-language
  • --sub-autodetect-file

More options maybe interesting:

  • --sub-description, --sub-autodetect-fuzzy --sub-autodetect-path --sub-margin -sub-source --sub-filter --sub-track --sub-track-id

Specifically with subsdelay

  • --subsdelay-mode --subsdelay-factor --subsdelay-overlap --subsdelay-min-alpha --subsdelay-min-stops --subsdelay-min-start-stop --subsdelay-min-stop-start

For further information invoke vlc -H or check the online vlc user manual

Hastur

Posted 2010-01-14T12:26:15.770

Reputation: 15 043

is there any option to save the modified timings to file? – Zimba – 2019-09-12T16:30:23.293

@Zimba If I correctly understood... you can use any subtitle editor (the 1st I found open source)... or you can write a script with the used command line (.sh or *.bat if you are under Linux or Windows)... :-)

– Hastur – 2019-09-12T19:00:00.140

1

2017 VLC version 2.2.6

Open

Tools => Track Synchronization => Subtitle Track Synchronization

Here you can increase/decrease the speed.

Atul Soman

Posted 2010-01-14T12:26:15.770

Reputation: 111

are we actually changing the speed here? isn't it supposed to shift the position in time instead? – Ulf Gjerdingen – 2020-02-11T20:48:27.243

1

With VLC for Mac (mine is v3.0.6),

  1. Use the menu File > Advanced Open File ...;
  2. In the prompt, select the File tab, and browse to your video file;
  3. Check Add Subtitle File, then click Choose... to bring up the next prompt;
  4. In that prompt, browse to your subtitle file;
  5. Check Override parameters;
  6. Set your delay in seconds in Delay. Minus values speed up subtitle and vice versa;
  7. Hit OK then hit Open. The video either restarts or continues depending on your related settings in your Preferences;
  8. If the delay is not quite there, repeat #1-7 with adjustments; if that still doesn't seem to work, then after resetting, close and reopen VLC.

One trick: Use big numbers at first, e.g., 20s, to test water, then fine-tune to close in on the actual delay.

kakyo

Posted 2010-01-14T12:26:15.770

Reputation: 260

1If only I could up vote twice – Karuhanga – 2019-03-01T21:21:59.947

1

The best way to synchronize your subtitles is not via VLC (tho it is possible). To permanently synchronize subtitles you would need to use tools like SubtitleWorkshop and through that tool you can easily edit subtitles the way you want, even set first and last spoken like synchronize subtitles even with more accuracy.

Amanda Blake

Posted 2010-01-14T12:26:15.770

Reputation: 19

Question is asking about VLC. Your answer is promoting another tool, not answering the question. – Zimba – 2019-09-12T16:28:17.660

1

VLC has an advanced support for subtitles. You can easily synchronize subtitles with keyboard shortcuts G and H within the application.

This way, you can sync subtitles by +/- 0.5 seconds by default.

However, if you want more functions and possibility to save synchronization permanently in your subtitle file, then you would need to use tools such as Subtitle Workshop.

Through this app, you can easily set the first and the last spoken word in the movie and subtitle timings are automatically adjusted between these two lines.

John Siemens

Posted 2010-01-14T12:26:15.770

Reputation: 87

Subtitle Workshop is quite poor, at least on macOS, menus don't open, I tried to open a file from the splash menu, hung forever, two times. – zakmck – 2019-08-28T16:47:03.640