It is not that unusual that subtitles downloaded from the Internet are not properly synched to the video signal. In those cases, one can use MPlayer to delay (or advance) the subtitles by a certain amount of seconds and, once the correct delay timing has been found, dump a new subtitle file with the timing properly adjusted.
For example, if one has to delay the subtitles by 10 minutes in order to have them synched to the video signal, the following MPlayer command can be used to dump a
dumpsub.srt file with subtitles delayed by 10 minutes:
mplayer video.m2ts -subdelay -600 -dumpsrtsub
MPlayer will dump the subtitles to a file called
dumpsub.srt. Each subtitle entry will have its time delayed by 10 minutes. Using the newly-generated subtitle file means there is no need to play the video using the
-subdelay command-line flag anymore.
A positive value to the
-subdelay command-line flag can also be specified. Subtitles will be brought forward (advanced) instead of being delayed.