Installation    How to use    Troubleshooting    Manual download   



Installation
  1. Verify your system has Java version 1.6 or higher installed. You can download it from http://www.java.com.
  2. Run the installation package for your platform or decompress the ZIP file.
  3. That's all! From now on you only need to remember that:
    a. If you use Windows, you should open Google2SRT.exe file. google2srt
    b. If you use GNU/Linux, you should open run.sh file. shell script
    c. If you use Mac OS X, you should open Google2SRT.jar file. JAR file
    d. If you use another system, you should run on a shell or similar this command: "java -jar Google2SRT.jar".


How to use
  • Change the language: click on the flags: cat, eng, esp...

  • Choose the source:

    • Web: you may provide one video address (URL) to convert subtitles from one video.
    • URL list: you may provide a list of URL in a text file (one URL per line) to convert subtitles from multiple videos.
    • XML file: you may provide a single XML subtitles file (manually downloaded) to convert it to SRT.

  • Choose the output directory where you want to save subtitles on via SRT subtitles.
    Note: you should choose an empty directory. Files will be overwritten without asking for confirmation.

  • Tracks: select what subtitles you want to convert from the list:

    • You may select individual subtitles.
    • All: all subtitles are selected.
    • Invert: current selection is inverted.

  • Translations: select what translations you want to convert from the list:
    Note: you must select at least one source from Tracks. Suggestion: avoid an ASR source when possible.

    • You may select individual translations.
    • All: all translations are selected.
    • Invert: current selection is inverted.

  • +Track: output file name will include the track name.

  • +Title: output file name will include the video title.

  • Delay (seconds): subtitles are delayed an amount of seconds (if the value is positive). You can obtain the opposite effect, move forward the subtitles, by writing negative values.
    Example: if subtitles appear 6.25 seconds too early, you should delay them 6.25 seconds. If subtitles appear 3.70 seconds too late, you should move them forward adding a delay of -3.70 seconds.

  • Go!: it starts conversion process. If there are many subtitles (one or two hours of video, approximately 180 KB in SRT) it needs 5 seconds approximately (a single local XML file).

  • Usage examples:
Subtitles from one single video (URL)
Subtitles from one single video (URL)
Translations from one single video (URL)
Translations from one single video (URL)
Subtitles from multiple videos (URL list)
Subtitles from multiple videos (URL list)
One single XML subtitles file
One single XML subtitles file


Troubleshooting
  • Problem: I use Web method and I write a valid URL with subtitles but it doesn't appear any subtitles list, appears a subtitles list but I can't convert them, I receive an unknown error or application finishes suddenly...
    Solution: Maybe subtitles obtaining method has changed. You should wait for a newer version or you can try to download subtitles manually (being helped by an sniffer).

  • Problem: I receive meaningless error messages when an URL it's not correct or there is a network error.
    Solution: For now, you must be patient until appears a newer version...


Manual download
What can we do when Google2SRT cannot download the subtitles? We will have to manually download and convert them by choosing the "XML file" option. Currently, it is necessary to use this method if we want to download the subtitles that YouTube automatically translates from the original subtitles.

YouTube
Our video address is like this:
http://www.youtube.com/watch?v=XraeBDMm2PM


1. We will pay attention to the v parameter and we will see the available real subtitles list by browsing this address:
http://video.google.com/timedtext?type=list&v=XraeBDMm2PM


2a. We will see a XML code like this:
<?xml version="1.0" encoding="utf-8" ?>
<transcript_list docid="6824816026201807091">
<track id="2" name="French (fr)" lang_code="fr" lang_original="Français" lang_translated="French"/>
<track id="0" name="German (de)" lang_code="de" lang_original="Deutsch" lang_translated="German"/>
<track id="3" name="Italian (it)" lang_code="it" lang_original="Italiano" lang_translated="Italian"/>
<track id="4" name="Japanese" lang_code="ja" lang_original="日本語" lang_translated="Japanese"/>
<track id="1" name="Spanish (es)" lang_code="es" lang_original="Español" lang_translated="Spanish"/>
</transcript_list>


2b. If subtitles exist in our desired language, we can go to the step 3. If they do not exist, we also can load the available translated subtitles list by browsing this address:
http://video.google.com/timedtext?type=list&v=XraeBDMm2PM&tlangs=1


2c. We will see a XML code like this:
<?xml version="1.0" encoding="utf-8" ?>
<transcript_list docid="6824816026201807091">
<target id="42" lang_code="ca" lang_original="Català" lang_translated="Catalan"/>
<track id="2" name="French (fr)" lang_code="fr" lang_original="Français" lang_translated="French" cantran="true"/>
<track id="1" name="Spanish (es)" lang_code="es" lang_original="Español" lang_translated="Spanish" cantran="true"/>
...
</transcript_list>

Subtitles with <track> and cantran="true" are real; the other ones (with <target>) are languages which are available to translate the real subtitles to. It means that we will have to choose the real subtitle we want to use as source (for the translation) and the language that we really want.

3. We will pay attention to the name and lang_code parameters of the subtitle that we are interested in and we will go to:
Example: Spanish subtitles (real subtitles):
http://video.google.com/timedtext?type=track&v=XraeBDMm2PM&name=Spanish (es)&lang=es

Example: Catalan subtitles (translated subtitles from Spanish):
http://video.google.com/timedtext?type=track&v=XraeBDMm2PM&name=Spanish (es)&lang=es&tlang=ca

Note that lang_code from the previous XML file is lang (real subtitle) or tlang (translated subtitle) in the URL address.
If some of the name or lang_code parameters are empty in the XML code that appeared in the step 2/2c, i.e., there is name="" or lang_code="", we will pass these parameters as empty parameters. See Google Video English subtitles example.

4. We will see a XML file like this:
<?xml version="1.0" encoding="utf-8" ?>
<transcript>
<text start="0" dur="1.96">El Nissan Sunny.</text>
<text start="3" dur="1.48">No sé por dónde empezar</text>
<text start="4.52" dur="3.96">Quiero decir que hay coches más feos y hay coches peores de conducir, pero ese no es el asunto.</text>
...
</transcript>


5. We will save it with XML extension and it is ready to be converted to SRT by Google2SRT.


Google Video
Our video address is like this:
http://video.google.com/videoplay?docid=-3916654796029228812


1. We will pay attention to the docid parameter and we will see the available subtitles list by browsing this address:
http://video.google.com/videotranscript?frame=c&type=list&docid=-3916654796029228812


2. We will see a XML code like this:
<?xml version="1.0" encoding="utf-8" ?>
<transcript_list docid="-3916654796029228812">
<track id="4" name="Deutsch" lang_code="de" lang_original="Deutsch" lang_translated="Alemany" lang_default="true"/>
<track id="2" name="" lang_code="en" lang_original="English" lang_translated="Anglès" lang_default="true"/>
<track id="0" name="العربية" lang_code="ar" lang_original="العربية" lang_translated="Àrab" lang_default="true"/>
<track id="9" name="한국어" lang_code="ko" lang_original="한국어" lang_translated="Coreà" lang_default="true"/>
<track id="13" name="Español" lang_code="es" lang_original="español" lang_translated="Espanyol" lang_default="true"/>
<track id="3" name="Français" lang_code="fr" lang_original="Français" lang_translated="Francès" lang_default="true"/>
...
</transcript_list>


3. We will pay attention to the name i lang_code parameters of the subtitle that we are interested in and we will go to:
Example: Spanish subtitles:
http://video.google.com/videotranscript?frame=c&type=track&name=Español&lang=es&docid=-3916654796029228812

Example: English subtitles (name is empty):
http://video.google.com/videotranscript?frame=c&type=track&name=&lang=en&docid=-3916654796029228812

Note that lang_code from the previous XML file is lang in the URL address.
If some of the name or lang_code parameters are empty in the XML code that appeared in the step 2, i.e., there is name="" or lang_code="", we will pass these parameters as empty parameters, like in the example of the English subtitles, where name does not have any value.

4. We will see a XML file like this:
<?xml version="1.0" encoding="utf-8" ?>
<transcript>
<text start="1.8" dur="1.95">Información sobre la amiloidosis.</text>
<text start="5.06" dur="1.29">¿Qué es la amiloidosis?</text>
<text start="6.69" dur="2.97">La amiloidosis es un grupo de enfermedades en las que muchas clases diferentes</text>
...
</transcript>


5. We will save it with XML extension and it is ready to be converted to SRT by Google2SRT.