Использование Google Speech API для записи <iframe>видео YouTube в режиме реального времени - PullRequest
0 голосов
/ 08 марта 2020

В настоящее время я создаю веб-приложение HTML / JS / CSS, которое выводит живую транскрипцию данного видео на YouTube. Мне нужна поддержка видео в прямом эфире, а также видео без подписей, поэтому использование API подписей YouTube не решит проблему.

Для этой задачи мне бы хотелось использовать Google Speech-to-Text API способом, аналогичным Live Transcribe Android App , за исключением того, что вводом является видео с YouTube вместо микрофона.

Ниже приведен приведенный ниже пример моей настройки (взят из здесь ):

<!DOCTYPE html>
<html>
  <body>
    <div id="player"></div>
    <div id="transcript">Text transcript of video</div>

    <script>
      var tag = document.createElement('script');

      tag.src = "https://www.youtube.com/iframe_api";
      var firstScriptTag = document.getElementsByTagName('script')[0];
      firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);

      var player;
      function onYouTubeIframeAPIReady() {
        player = new YT.Player('player', {
          height: '390',
          width: '640',
          videoId: 'M7lc1UVf-VE',
          events: {
            'onReady': onPlayerReady,
            'onStateChange': onPlayerStateChange
          }
        });
      }

      function onPlayerReady(event) {
        event.target.playVideo();
      }

      var done = false;
      function onPlayerStateChange(event) {
        if (event.data == YT.PlayerState.PLAYING && !done) {
          done = true;
        }
      }
      function stopVideo() {
        player.stopVideo();
      }
    </script>
  </body>
</html>

Видео встроено в iframe с id="player", и по мере воспроизведения видео я хочу стенограмма, которая появится в id="transcript".

Мне известны примеры, такие как учебник Google по выполнению потокового распознавания речи в аудиопотоке , но все они используют локальные аудиофайлы или внешние микрофон. Мне было интересно, есть ли способ удобно перенаправить аудио из iframe в API в режиме реального времени, поэтому мне не нужно возиться с локальной загрузкой аудио YouTube.

Большое спасибо за помощь!

...