Log in

View Full Version : SRT subtitle timing issues


RobertM
3rd April 2015, 14:39
Hi Folks,

Not BD-RB related in particular, but....

I've got a BD without subs and I am trying to add them manually. What I'm doing is to first have BD-RB make a movie-only BD-25 version, then I add in the new srt file using tsMuxeR. I've done this several times before and it has always been no big deal. This time, when I preview the results with VLC, the subs all show up, but most of them very briefly; just a flicker, basically.

I've tracked the problem down to the srt file itself, and the sub timings. Here's a snip from the beginning of the srt file:

5
00:01:05,815 --> 00:01:07,399
E-R-Z.

6
00:01:07,400 --> 00:01:09,234
Uh, Eunice.

7
00:01:09,235 --> 00:01:10,736
Yes, Dr. Avery?



You can see that each subtitle is set to begin 1ms after the previous one. If I edit the srt so that there is at least 100ms of padding between each sub then it works fine. Kind of makes sense that trying to end a sub and begin another within the same playback frame might not work well. Maybe it's just a VLC thing and it would work fine on my standalone? Haven't burned a disc yet to test that.

Are there rules about this? I couldn't find much about this with a quick google; references to the format, sure, but no specifics about the relationship between the end of one sub to the beginning of the next.

Thanks.

jdobbs
5th April 2015, 19:39
I'm guessing it has to do with packet sequences and the time needed with each of them. Each subtitle line of text has five segments that have to be delivered during the "turn on" phase and an other 3 packets to turn it off. It gets delivered like this:

presentation_composition_segment()
window_definition_segment()
palette_definition_segment()
object_definition_segment() -- this one holds the actual RLE encoded bitmap
end_of_display_set_segment()

... display period ...

presentation_composition_segment()
window_definition_segment()
end_of_display_set_segment()

That's a lot to happen in 1 millisecond. Especially since (I think) each segment is kept in an individual packet that requires time to be read from disc, buffered, extrapolated, decoded, presented, and then acted upon by the player.

musiclover
5th April 2015, 21:26
You can fix the srt-file by using "Subtitle Edit". Go to the Tools menu and apply "Minimum display time between subtitles...". This will change the gap between end time and start time to 24 milliseconds.

You can find it here --> http://www.videohelp.com/software/Subtitle-Edit

RobertM
8th April 2015, 16:07
Thanks for the f/b guys. Much appreciated.