I have a subtitle file that is about 3 to 4 seconds behind. What tools can I use to automatically move all the times in the subtitle file so they are correct with the time of the movie? Something that I can for example just add the time I want to add and it will add this time to the synced times in the subtitle files without having to edit each line individually.
I'm surprised no one mentioned this:
It has impressive features, it's extremely easy to use and very well-polished. A lot of care and detail in its UI (check the char count in each line).
I use it all the time to shift subtitle timings to/from HDTV to BDRip/DVDRip releases.
Side-note: VLC player has on-the-fly subtitle timing shift. It will not change your
.srt file, only the playback, but it's very convenient for movies you'll only watch once and don't care about saving the adjustments. I assign them to UP and DOWN directional keys.
With Gaupol you can edit the subtitles. Select the text you want to adjust, then go to "Tools" > "Shift Positions" and change as you like.
If you don't want to edit the subtitles:
Although it does not make a "permanent change", with VLC you can do that with the movie you are seeing. Just go to "Tools" > "Track Synchronization".
If you prefer a command-line tool, you can try subsync (requires node.js).
Note that it can also fix progressive desynchronization. This means it can fix subtitles that are late by 1 second at the beginning, but progressively get worse and are 20 seconds late at the end
disclosure: I'm the author of subsync
For me the best option is subtitleeditor ( click on the link for instruction on how to use it )
It let you change frame rate in the subtitles and scaling Subtitles size ( useful for progressive desynchronization )
sudo apt-get install subtitleeditor
You can also use an online tool such as sync subtitles to easily synchronize your subtitles online.