Tag Archives: synchronize

Adjust and synchronize AVI & DivX movie subtitles, the guide

October 2008: I updated this guide to the use of Subtitle Workshop, a freeware utility which does the same job I explained back then, in a tenth of the time, or even less, since all the manual steps are now condensed into a few passages. To read the old guide, which insteadused the program SubAdjust, scroll down right past the horizontal line.

First of all, download the free program Subtitle Workshop, you can just as easily google for it. Keep in mind I used the latest 4 beta version in this guide. Then you can follow the image tutorial below.

subtitle workshop opening window
This is how the Subtitle Workshop free utility appears right after the first start; you may want to first open the subtitles file, from File>Open, or by pressing the open button, and then browsing to the actual subtitles.
subtitle workshop with opened subtitles
This is a subtitles file opened in Subtitle Workshop, no more, no less; right now, it’s the time to open the video file the subtitles are associated with, from Video>Open
subtitle workshop with opened subtitles and video file
This is after opening both subtitles file and video file inside Subtitle Workshop (the video file still is not visible, as the ScreenRip32 utility which I used cannot properly capture overlay… same thing happened if I tried the PrintScreen key). The video will start playing automatically along with the subtitles. There are two choices now to start adjusting the subtitles, which are, well, pretty much the same. Either you select the first line of the subtitles, and play the video where that first line is spoken, and when that happens you press the third button from the right below the video, which says “1”; then you select the last line of the subtitles and jump to the point where that line is spoken, pressing instead the second button from right which says “2”. At this point, a little window will appear with a summary of the details regarding the timings, asking you if you want to adjust the subtitles accordingly. Check that the timings reported in that window are correct, then press adjust. At this point the subtitles are synchronized (verify by playing the video inside Subtitle Workshop) and you can save the results. OR, you can use the other method instead, just see the picture below.
subtitle workshop timings adjust dialogue
Second method: manual timing. First of all, write down the exact times when the first and last spoken lines of the subtitles file are said in the video, then to manually set the timings to adjust the subtitles, follow the menu Edit>Timings>Adjust subtitles. A dialogue like the one in the picture will appear, and you just have to fill in those times you just wrote down and press adjust. Check the results by playing back the video in Subtitle Workshop to see if subs are really synched, then save the file.

IMPORTANT NOTE: what follows is the very first guide to subtitles synchronization that I wrote, and which is now substituted with the guide above. I just didn’t have the heart to remove it altogether, so I left it here for the sake of posterity.

This guide has been thought for you non-english users who, even if top-grade in this language, very often encounter those uber-fast pronounciations or that slang sub-dialect or again that nasty accent (and every link to “Snatch” or “Trainspotting” is NOT casual), that really beat you. So you download a subtitles file, and you either don’t know how the heck to use it (but if it’s the case, then search elsewhere because this guide won’t tell you how), or you find it begins almost synchronized, but gets really messed up, just to go wildly desynched at the end.

Important incroduction: this guide is related to SubViewer 2.0 subtitle format, and it’s referred to an ideal situation in which you see the movie using BSPlayer (get it from the Downloads/AudioVideo section). Which means, if you prefer to use other players which don’t support properly SubViewer format, or you hate SubViewer format yourself for some reason, you can still use this guide, yet the instructions, found right at the end, on how to resolve this “compatibility” issue, are not tested in any way by me, since I’ve always, and I’lll always, use the couple BSPlayer/SubViewer for my DivX subtitles needs.

Download SubAdjust from the Downloads/AudioVideo section of the website, then proceed to the basic preformatting of the file, which means removing the comments or the sign of the ripper, like:

  02:43:08,687 --> 02:43:09,722
  02:43:13,167 --> 02:43:15,681
  ...I'm glad you are with me.
  02:51:01,967 --> 02:51:02,956
  Subtitles by
  SDI Media Group

which for example is at the end of the file (a special prize to the ones who will guess what movie was that one; c’mon it’s easy), but you can find them also at the beginning:

{0}{900} ****Le Garçon Française   SUBS****|Vive la France!!
  {905}{1002}- Le 3 septembre 1973|à 18 h 28 min et 32 s,
  {1010}{1062}...une mouche bleue|de la famille des Calliphoridés,
  {1070}{1138}...pouvant produire 14,670 battements|d'ailes à la minute...
  {1145}{1220}...se posait rue Saint-Vincent,|à Montmartre.
  {1318}{1378}A la même seconde,|à la terrasse d'un restaurant,
  {1385}{1458}...le vent s'engouffrait|sous une nappe,
  {1462}{1555}...faisant danser les verres|sans que personne ne s'en aperçoive.

(another special prize to the ones who will guess this other movie which the subs where taken from, it’s easy as well; BTW this sign was made up, I couldn’t find any signed file on the fly).

You can easily achieve this by opening the subtitles file (whose extension may be .txt, .sub, .srt or other; I have all these extension associated with notepad anyway) in a text editor, and manually deleting those lines, then saving; when the subtitles have an ordinal number and a timestamp in more lines, like in the first example, you must delete the whole record.
We don’t do this because we are evil and so want to remove every trace of the kind guy who ripped the subtitles from the DVD, but because in most of the operations we need to make in order to resynch the subtitles these additional lines at the beginning or at the end, which have no counterpart in the movie itself, will easily mess up everything.

There are basically 3 kinds of desynchs in subtitles:
1) Simple time shift, the beginning is shifted before or after the correct time, while the rest of the text follows at the right “pace”;
2) Wrong framerate, where the time distance between two lines of text is different from the correct one, but the speed is uniformly increased or decreased throughout the file (with or without time shift, it makes no difference considering the method we use to correct it);
3) FUBAR’d subtitles (don’t worry, they are pretty rare) where either your video, even if correctly watchable, has some glitches in the framerate of internal scenes, so that some video sequences have a framerate different from the nearby scenes, or the subtitles themselves were ripped very bad, or again the original subtitles were timestamped uncorrectly, or again again the subtitles lack some scenes which are present in the movie or have additional scenes missing from the movie: in these cases usually you search for another subtitles file, or you watch the movie without subtitles (this is the worst kind of desynch, since you can realize you have one only AFTER having tried the previous fixes; trying to fix these subtitles is extremely time consuming, and even if I could be able to do that – and I once tried… giving up -, I won’t include the steps in this giude, because I esteem myself a very stubborn person, yet I would never lose all that time to fix such a situation).

In any case, since you need to work with SubViewer format in SubAdjust, you have to convert the subtitles file to that format if it’s using another one. You can recognise a SubViewer file by opening it in a text editor. The beginning of the file will look like:

  On September 3, 1973...

  a blue fly capable of flapping[br]70 beats a minute..


that is, a record storing the general info about the movie (with or without the various fields filled) and then for each line a timestamp indicating the start time and end time, and just below it the subtitle. If the subtitles are not in this format, start SubAdjust and convert them.

Open the subtitles file in “Source File”, write another suitable name for the output, and select “Conversion to SubViewer 2.0”, then press GO. The original filename may have another extension like .txt, .srt and so on.

So let’s start examining the first two cases. When you see subtitles in a movie are shown when they shouldn’t, it doesn’t hurt to try and see if the simple time shift is occurring. So take a note of the time of the first subtitle in the movie; example, given you removed the comments out, you see that the first line in the subtitles file is “Now, children,[br]are you sitting comfortably?“, go play the movie and write down the time at which the thing is actually being said (let’s say 00:00:04, 4 seconds from the start), then start SubAdjust.

For the first try, open the subtitles file in the “Source File” input line, and choose the name you will save the output subtitles with (I usually put the same name followed by one ‘ or more ”’). Select “Adjust”, and in the lower-left corner select the time you just annotated from the movie, press GO and wait.

Open the movie file, and see, jumping to and fro, if the subtitles are shown correctly in all the movie. Chances are they won’t. So we begin examining the second case (wrong framerate).

The drawback of the method is that you will possibly spoil the ending, since you need to see at what time the first line is said in the movie (just like we saw before), then what is the line written at the very end of the file (and thus is the last in the movie), and at what time that last line is said in the movie (so you need to play the end to search for it. I HATE it, too bad I couldn’t find anoter way of telling). You will thus have the time, related to the movie, of the first and the last lines. Keeping note of them, adjust the subtitles files so they start at 0:00:00, then calculate “last-movie-line-time MINUS first-movie-line-time”, you will have the time span that passes between the first and last line in the movie. Since we adjusted the subtitles to start at 0 seconds, that is also the time we will want the last line to appear in the subtitles file. So proceed:

After you adjusted the subtitles to start at 0:00:00, load the adjusted file and select “Change frame rate”, then select the checkbox “Use last ref.time” and in the “Coef. / desired last ref.time” write down the result of the subtraction I told you to make before (note: you need to have cents of second, so just add .00 after the seconds). Press GO to write the file with the name you chose in “Target File”.

After this is done, load in SubAdjust the newly created file, which starts at 0:00:00, and ends at the time you just calculated, then re-adjust it to start at the time of the first line said in the movie, exactly like you did in the first method, but now you will be sure the final time will be correct.

Occasionally you will still need to adjust again the time, matter of one second before or after, but you already know how to do it.


As I told you, this part has not been tested, but if you really want to use subtitles in another format, select “Conversion to [other format here]”, and press GO to save the subtitles in the new format using the filename you chose in “Target File”.