I very often use subtitles on my mkv player to watch movies. I have frequently observed that there is sometime a lag between the subtitles and the actual video. Even after setting the subtitle offset one would have to go on increasing it as the movie proceeds. This is something i find extremely annoying and would like to know if there is any way when one can check if a subtitle file is the ideal one for a given video.

  • How do you reckon this would happen automatically? If there's a drift in the subtitle file, you would only be able to find out if you also had the ideal subtitles as well, or some way to match the audio track against the words in the subtitle file (goes without saying that this is not practical). Your only chance is to skip to the end and see if they still line up. Do you have anything else in mind? – slhck Jun 18 '12 at 8:37
  • As to your question- No i dont have any other preconcieved ideas in mind. I was thinking more along the lines of - Why exactly do the subtitles not match up for the same movie. If it is only because of the beginning trailer then i should simply be able to offset the subtitle by that many seconds and enjoy the rest of the movie with perfectly synced subtitles. But this does not happen. If i find a solution to this question i may be closer to finding the answer. – Sab Jun 18 '12 at 8:43
  • But you said your subtitles were drifting. If it's just a matter of adding a fixed offset, well, that's not really hard – but if the subtitles become shifted at the end even though they're perfectly fine in the beginning, that's going to be difficult to trace. – slhck Jun 18 '12 at 8:44
  • Yes. Thats exactly what i am saying. I dont understand why they drift. – Sab Jun 18 '12 at 8:47

There's no way to automatically check if given subtitles match a video perfectly. You would need the ideal ("gold standard") subtitles as well, or some way to match the audio track against the words in the subtitle file, and it goes without saying that this is not practical.

Your only chance is to …

  1. Align the subtitles manually at the beginning
  2. Skip to the end of the video and see if they still line up

Or, alternatively, manually export the subtitles and check their timestamps: How to extract subtitles from MP4 and MKV movies

The question why subtitles drift and run out of sync is very broad. There could be various reasons for that:

  • The video source and subtitle source are not the same. There are always different cuts of movies, or the version you have doesn't include a trailer, et cetera.

  • The video was converted. In that case, converting between different frame rates. For example, NTSC specifies 23.97 frames per second whereas for cinematographic material, this is sped up to 24 frames per second. And then there's 25 fps and 50 fps too, depending on the release.

Either way, the presentation timestamps of the subtitles don't match anymore, since they're not aligned to frames, but timecodes. Since the presentation timestamp of a frame can change with conversion, you see the subtitles drifting gradually.

To summarize, all you can do is check your given subtitles manually and try to replace them. If it happens with all material you have, then I'd rather suspect a hard- or software issue at the player side, which incorrectly demultiplexes the MKV container. Try another player or hardware solution and see if it fixes the problem.

  • +1 for the info on frame-rates. it never occurred to me that this could make difference as well... i always thought it was all about scenes cut short.lengthened... – tumchaaditya Jun 18 '12 at 9:15
  • It does not happen on all videos. Just a couple of them occasionly. However i was interested in knowing the cause. Your answer is pretty well laid out. However there is till one point which i am missing out. Will the different frame rates lead to an almost 160 second and increasing lag after the initial offset of how many ever seconds. – Sab Jun 18 '12 at 9:16
  • @Sab No, that's unusual. You could try to extract the subtitles from the MKV and manually check the included timestamps. See my answer here: How to extract subtitles from MP4 and MKV movies – slhck Jun 18 '12 at 9:20
  • @slhck:a clarification i seek here: tenchically doubling the framerate will halve the length of movie, right? or am I doing something wrong here? – tumchaaditya Jun 18 '12 at 9:29
  • @tumchaaditya No, doubling the frame rate will just copy every frame, which shouldn't be an issue. The problems could come from pulling down 23.97 to 24 or 25 – depends on how it was recoded – slhck Jun 18 '12 at 9:32

You see.....all the copies are not same...a few scenes are usually cut short in some copies.

So, even if you adjust the subtitles, it is quite possible for them to lag/lead after a while.

Bottomline is, get subtitles for the copy that you are watching.

Especially, the source should same. I mean, if your copy is sourced from a blu-ray then subtitles must also be for blu-ray. Likewise for DVD and other sources.

You can go to subscene.com, opensubtitles.org for subtitles.

  • I dont think the cut scenes is an issue as the subtitle plays exactly what the chracter says. i observer it carefully throughout the movie. – Sab Jun 18 '12 at 9:17
  • yes i know....not the entire scenes are cut... just a part; without any dialogue...enough to introduce a difference of 2-3 seconds... also take into account the frame rates as slhck has said. anyways, its always better to get subtitles to copies that you have. subs out of sync destroy movie experience. – tumchaaditya Jun 18 '12 at 9:24
  • I completely agree and if i had enough rep i will definitely upvote your answer. Is it enough if i have an mkv file and get an mkv sub or is there something else i have to do – Sab Jun 18 '12 at 9:27
  • it not usually about file. its about source and codec. e.g. HDTV source and DivX codec. If these 2 are same then subs work well. the above 2 sites have that info for all the subtitles. – tumchaaditya Jun 18 '12 at 9:32

You need to "reencode" your subtitles. It's an option on most subtitle software, like Jubler. Check your video for fps rate (usually in tools>video information), there's a good chance your video is 23.97 and your subtitles are set for 24 or 25. Once you know the fps of your video, there are only a few options so just try them all (reencode from 24 to 23.97, if it does not work reencode from 25 to 23.97, etc.) knowing that each time, you must also "shift" all your subtitles forward or backward depending on if they start early or late. So to sum up:

  • find the .fps of your video
  • Open your subtitle file and select all your subtitles
  • change the .fps of you subtitles (I never found out how to know what .fps the subtitles are set for so I pick randomly)
  • select all your subtitles again
  • Add or substract as many seconds as needed so your first subtitle starts right on time
  • If it does not work, go back to your subtitle file, cancel everything you just did (CTRL+Z on jubler, twice)
  • try reencoding again with another original .fps
  • this will change the time your first subtitle starts so shift all your subtitles so the first one falls into place with a slightly different number than last time Good luck!

Good luck!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.