Obter legendas do YouTube

Como obter programaticamente legendas de um vídeo do YouTube em reprodução?

Inicialmente, tentei fazê-lo offline viaAPI do YouTube, mascomo parece O YouTube proíbe buscar legendas de vídeos que você não é o proprietário.

Agora estou tentando fazê-lo online. Eu não encontreiAPI do Player do YouTube métodos para legendas, também tentei obter legendas do YouTube como TextTrack comvideojs jogador emda maneira que poderia ser feito para vídeos comuns, mas o seguinte não 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>

Também tentei uma solução feia ao analisar o IFrame do YouTube Player (há uma div dentro dele com a linha das legendas atuais), mas não funciona devido a problemas de segurança de incompatibilidade de origem.

Existe alguma maneira de meu objetivo ser alcançado em java (para soluções offline) ou javascript (para soluções online)?

questionAnswers(2)

yourAnswerToTheQuestion