Get closed caption "cc" for Youtube video

Mohanad57 picture Mohanad57 · May 14, 2014 · Viewed 14.4k times · Source

Does any one know how to get the CC for any Youtube video that has the caption available? I know on the API 2.0 documentation mentions that it is only available for the owner of the video... but I was able to get some of the video's caption even though I'm not the owner of any....

There are two APIs (or links to API) can be used. they both rout to timpedtext API. before I mention them we should note the parameters the API need. which are:

  • lang: {en, fr,...} required.
  • v: {video ID} required.
  • name: the track name, Required only if it is set. (and with this is my problem.)
  • tlang: translation to language. optional (should be set if you like to translate the CC to other language.

The API links are:

  1. http://video.google.com/timedtext?lang=fr&v=PILzP-bIeLo&name=french Note the above example would return nothing if you remove the name=French or set it to something else...

  2. http://www.youtube.com/api/timedtext?v=zzfCVBSsvqA&lang=en Note this example would return nothing if you set the name=...

  3. http://www.youtube.com/api/timedtext?v=ZdP0KM49IVk&lang=en yet the actual video has caption.

Example 3 does not return the CC data.

So I'm guessing that example 3 need to have the name parameter set. and my main problem is how do I find the name parameter if it is set or not. and if it is set how do I know what is it?

Answer

dont_trust_me picture dont_trust_me · Jun 2, 2015

Your first example should work without the name= part. This did the job for me:

video.google.com/timedtext?lang={languageID}&v={videoId}

To fetch the english CC version from the previous answer, it would look like this:

http://video.google.com/timedtext?lang=en&v=zzfCVBSsvqA