Resynchronize subtitles

Summary

Desynchronization types

There are several desynchronization types.

Constant gap
In this case, subtitles are all shifted of the same value. Current timing A and correct timing C are linked by the the formula C = A + K, where K is a constant. This case appears for example when parts of the video are added or removed. The subtitles following he addition or removal are then all shifted of the added or removed part duration.
Affine gap
In this case, subtitles gap increases or decreases constantly with the time. Current timing and correct timing are linked by the formula C = K1 * A + K2, where K1 and K2 are constants. This case appears for example when subtitles beginning and end are based upon the video frames instead of time : changing the video framerate will desynchronize the subtitles.
Non-linear gap
Here, the subtiles gap does not match one of the formulas above. Subs Factory is not able to treat these cases. You will have to do it part by part, as if each part had a constant or affine gap. This is happily a rare case.

Choosing reference subtitles

Start by opening a .srt or .sub file to be resynchronized within Subs Factory.

Then, choose two subtitles for whose you know the correct timing, and that are part of the subtitles to resynchronize. Resynchronization will be more accurate if you choose them as far apart as possible. Take for example the first and last subtitles to resynchronize. Remember their number. Then, place one marker for each of them : either a "In" marker where the subtitle should begin, or an "Out" marker where it should end.

Resynchronization window

Get to the "Actions" palette of the concerned subtitles file. Click on the "Resynchronize" button. The following window should appear :

The controls on this window form a sentence indicating the way subtitles will be resynchronized. Using the controls, you tune this sentence to resynchronize the subtitles the way you want.

The first line allows to choose the subtitles to be resynchronized : if you choose "all subtitles" in the first menu, all subtitles of the file will be resynchronized. If you want to resynchronize only a range of subtitles, choose "subtitles between" in this menu, an then enter the number of the first and the last subtitles to be resynchronized. You also can select the subtitle in the main window (eg. with the subtitles table) to make it current, and click on the "Current" button located under the field to fill. Anyway, the beginning of the subtitle will appear greyed besides, as a confirmation.

The second and third lines allows to indicate the gap for each reference subtitle chosen. This gap will be interpolated to every subtitle to be resynchronized. For each line (ie. for each reference subitle), choose "subtitle" in the first menu. Then, enter its number, or use the "Current" button to choose it. Then, choose "to marker" in the menu and select the marker where it should be. You can also select "of a duration" in the menu, and manually enter the gap of the subtitle.

The checkbox allows to disable the choice of the second subtitle : it is optional in case of a constant gap.

At the bottom of the window, a sentence sums up how you are going to resynchronize the subtitles. It also indicates any mistake. Check it.

Finally, click on the "Go !" button to launch resynchronization. To close this window without resynchronizing, use the "Resynchronize" button of the "Actions" palette that you used to open this window, it turned into a "Cancel" button.