4

I have a friend who does not understand English, and he wants to watch 24. I downloaded it for him, but while the English subtitles are perfect, some Arabic subtitles are not synchronized correctly.

Here’s a section of the English subtitles for season 6 episode 5 (24 - Day 6 - [6x05]_en.srt):

English subtitles

Now an Arabic screenshot of the same dialogue (24.S06E06.720p.WEB-DL.DD5.1.H264-HDB.srt):

Arabic subtitles

(The encoding is wrong so the letters are displayed like that but that's not important, the video player reads them correctly.)

So what I'm looking for is gratis software that works on Xubuntu 14.04 64-bit (Wine is fine), that would allow me to easily synchronize the Arabic subtitles based on the English subtitles, edit it when I have to and read the encoding correctly.

What I mean by synchronizing is just copying the time section from a file to another. I also need to be able to compare between 2 files to see if they match. Any other feature is a plus.

7
  • I have nothing off the top of my head, I personally would prepend a video or cut the video with ffmpeg so that subtitles are in sync with the video. Aug 7, 2014 at 1:52
  • What do want to 'synchronize' to what, and what do you need to edit? I see 3 items: a number, a time interval, a sentence.
    – user416
    Aug 7, 2014 at 7:26
  • you might be able to synchronize by using XBMC, it has a function that will show the subtitles up to 10 seconds earlier or later. I think simply trying to synchronize by another file will fail, because sometimes a sentence will be split in two sentences (and thus two seperate timestamps) in one language, but will have only one sentence & timestamp in the other language.
    – Snicksie
    Aug 7, 2014 at 8:01
  • @FranckDernoncourt how you do that? could you show a simple example
    – Lynob
    Aug 7, 2014 at 9:09
  • @JanDoggen I mean that the subtitles should be displayed when the actor says the words, not before or after that
    – Lynob
    Aug 7, 2014 at 9:10

3 Answers 3

3

As usually, recommendig a perl solution.

By installing a CPAN module called Subtitles you'll get an command line utility called subs.

This utility can do various tasks with subtitles, one of them is the linear transformations of subtitles. Linear transformation is can be used for synchronising your subtitles file with the spoken scentece, or change (transform) the subtitle timing.

The basic logic is:

  • find two points (one of the beginning of the movie and sthe second at the end)
  • get the real (correct) time for them
  • get the same times from your wrong subtitle file
  • run the subs command with the arguments
  • and you're done and get a correctly timed subtitles

e.g.

subs -p first_correct_time first wrong_time_from_your_subs -p sec_corr_time second_wrong_time filename.srt

E.g. for your screenshot the command should be

subs -p 00:08:01.240 00:05:41.358 -p another two_times filename.srt

and you will get an subtitle file with correct timing.

2
  • Do u read my mind? I was going to ask on askubuntu a question about doing it using perl but I changed my mind. And asked for a software. Going to try it tomorrow for sure. Thank you
    – Lynob
    Aug 7, 2014 at 21:14
  • @Fischer I hope, you fill find it as an very useful tool ;)
    – clt60
    Aug 7, 2014 at 21:27
2

Have you tried Subtitle Edit? I am using it on Windows and it have a lot of options to sync the subtitle. Visual sync allows to edit the subtitles while looking at the position on the video. It even have the option of translating the subtitles. I have already created a short tutorial, you can check it here if you like.

6
  • when i click to download the linux version, it's no longer available, i'll try the windows version on wine and let you know
    – Lynob
    Aug 7, 2014 at 9:08
  • Many media players also have the options to do the same. For example SMPlayer, simply press the Y or G button to move to the next/previous line in subtitle, in this way you don't have to sync anything.
    – SarmadK
    Aug 7, 2014 at 10:47
  • i know but please read my comment above, besides i'm looking for a fast way to do it, without having to watch to entire episode
    – Lynob
    Aug 7, 2014 at 15:33
  • Its not like that. You only have to fix the first line, rest will be adjusted accordingly
    – SarmadK
    Aug 7, 2014 at 15:42
  • 1
    some episodes are like that, others are just messed up, you never know when subtitles will pop up, some are delayed, others not, it's not like i delay 1s and everything will be fixed, no, i wished it was that simple, and i have smplayer
    – Lynob
    Aug 7, 2014 at 15:51
1

You can use FFmpeg to instead modify the video so that subtitles are synchronized correctly:

1
  • yes i know what ffmpeg is and i might have to use your solution if there's no faster ways
    – Lynob
    Aug 7, 2014 at 16:17

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.