В настоящее время я создаю веб-приложение 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.
Большое спасибо за помощь!