Вообще по хорошему все субтитры можно получить по такой ссылке
https://www.youtube.com/api/timedtext?hl=ru_RU&v=7Y7LGxinPH0&caps=asr&key=yttt1&expire=1486219007&asr_langs=en%2Cja%2Cfr%2Cde%2Cko%2Cit%2Cnl%2Cpt%2Ces%2Cru&sparams=asr_langs%2Ccaps%2Cv%2Cexpire&lang=en&fmt=srv3
Это можно сделать для любого видео, для которого есть субтитры. В параметр
v
надо подставить идентификатор видео из URL, например для
https://www.youtube.com/watch?v=7Y7LGxinPH0 в ссылку для получения субтитров нужно подставить
7Y7LGxinPH0
, а дальше уже относительно полученного XML обрабатывать субтитры по времени.
Но можно и просто слушать их. Подключим JQuery к странице с видео:
var jq = document.createElement('script');
jq.src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js";
document.getElementsByTagName('head')[0].appendChild(jq);
Подождем когда загрузится библиотека, и можно прописать событие на получение субтитров:
jQuery.noConflict();
jQuery('body').on('DOMNodeInserted', 'span.captions-text span', function () {
console.log(jQuery(this).text());
});