I don't understand why the framerate of the video should affect timestamps in SubRip (*.srt) subtitles. If I am correct, when you convert a video from one framerate to another, the length of the video remains the same—the only thing which changes is the total number of frames. But tools which change the subtitle framerate seem to follow an equation like

timestamp_1 x framerate_1 = timestamp_2 x framerate_2.

Which seems to imply that the frame numbers are equal. For instance, in the SRTLab documentation, in order to convert from PAL (25.000 fps) to NTSC (23.976 fps), it says that each timestamp should be scaled by a factor of 25.000/23.976. I don't understand this. This would make the subtitles appear after the same number of frames in both videos, which is not what we're after. Obviously, I'm not getting something right.

1 Answer 1


I think that you have misread the formula

Let's say you want the subtitle to appear at 50.5 seconds. Current video rate is 25 frames per second.

This will mean that the subtitle will appear at the frame number 50.5*25 = 1263 (rounding up).

If you then convert the frame rate to 30 frames per second, your new start frame much change and will be 50.5*30 = 1515.

Perhaps you have gotten confused with this:

new_start_frame = new_frame_rate / old_frame_rate * old_frame

This is not ts_1 x f_1 = ts_2 x f_2, but rather ts_1 x f_2 = ts_2 x f_1.

Let's check with the numbers i have calculated above:

ts_1 = 1263
f_1 = 25
ts_2 = 1515
f_2 = 30

1263 * 30 = 1515 * 25
37890 = 37875

the error here was due to rounding.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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