Obtén subtítulos de YouTube
¿Cómo puede obtener subtítulos mediante programación de un video de YouTube en reproducción?
Inicialmente he intentado hacerlo sin conexión a través deAPI de YouTube, perosegún parece YouTube prohíbe buscar subtítulos de videos que no eres el propietario.
Ahora estoy tratando de hacerlo en línea. No he encontradoYouTube Player Api métodos para subtítulos, también he tratado de obtener subtítulos de YouTube como TextTrack convideojs jugador enla forma en que se podría hacer para los videos habituales, pero lo siguiente no funciona:
<html>
<head>
<link href="//vjs.zencdn.net/4.12/video-js.css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script type="text/javascript" src="//vjs.zencdn.net/4.12/video.js"></script>
<script type="text/javascript" src="../lib/youtube.js"></script>
</head>
<body>
<video id="myvideo"
class="video-js vjs-default-skin vjs-big-play-centered"
controls
preload="auto"
width="640"
height="360">
</video>
<script type="text/javascript">
var myvideo = videojs(
"myvideo",
{
"techOrder": ["youtube"],
"src": "https://www.youtube.com/watch?v=jNhtbmXzIaM"
},
function() {
console.log('Tracks: ' + this.textTracks().length); //zero here :(
/*var aTextTrack = this.textTracks()[0];
aTextTrack.on('loaded', function() {
console.log('here it is');
cues = aTextTrack.cues();
console.log('Ready State', aTextTrack.readyState())
console.log('Cues', cues);
});
aTextTrack.show();*/
});
</script>
</body>
</html>
También probé una solución fea al analizar el IFrame del reproductor de YouTube (hay un div dentro con la línea de subtítulos actual), pero no funciona debido a problemas de seguridad de desajuste de origen.
¿Hay alguna forma de alcanzar mi objetivo en java (para soluciones fuera de línea) o javascript (para soluciones en línea)?