Extract automatic captions from YouTube video Extract automatic captions from YouTube video php php

Extract automatic captions from YouTube video


You need to call another API first: http://video.google.com/timedtext?type=list&v=3wszM2SA12E

This will give you the list of the tracks available. In your case only one track can be obtained: id="0" name="Automatic" lang_code="en" lang_original="English" lang_translated="English" lang_default="true"

In this particular video I could get the track by name name=Automatic:

https://video.google.com/timedtext?type=track&v=3wszM2SA12E&name=Automatic&lang=en

But for another video id= worked fine:

http://video.google.com/timedtext?type=track&v=zenMEj0cAC4&id=0&lang=en


Here my suggestions after spending some time:


A great way about going to get data from a page is by using file_get_contents however this only works if the video has a 'CC' or captions button but when it does you can get all the text elements from the xml file unfortunately as documented by one of the 'Youtube to caption' services stated it needs captions enabled by the youtuber to get the captions so unfortunately you cannot get captions from videos without 'CC' enabled, however if you still want you can use file_get_contents on the xml file then find all the 'text' tags and then turn those into captions.