Метаданные / субтитры в реальном времени для потокового аудио - PullRequest
0 голосов
/ 20 апреля 2020

Как я могу добиться добавления дорожки точно выровненных «дополнительных» данных в реальном времени с потоковым аудио? Здесь в первую очередь интересует браузер, но в идеале решение было бы возможно на любой платформе.

Идея в том, что если у меня есть живая запись с моего компьютера, отправляемая в Icecast через что-то вроде DarkIce, я хочу прослушивателя (кто может присоединиться к потоку в любое время), чтобы иметь возможность разместить какую-то аннотацию над несколькими примерами и позволить им отправлять только аннотацию обратно (например, с помощью обычного HTTP-запроса) , Однако для этого необходим механизм для выравнивания аннотации с выгруженным потоковым аудио на стороне сервера, и в прямом потоке пользователь AFAIK не может фактически получить метку времени в «целом» потоке, начиная с момента его присоединения. Но если бы существовали какие-то одновременно выровненные метаданные, то, возможно, это было бы возможно.

Проблема в том, что большинство систем, похоже, предполагают, что вы предварительно подписываете или мультиплексируете свои потоки данных заранее. Тем не менее, это не имеет смысла для записи чего-либо и трансляции в реальном времени. Примеры Google, по-видимому, в основном касаются их способности делать «живые» субтитры, которые больше касаются обработки аудио в реальном времени, чем добавления слегка задержанных субтитров с помощью распознавания речи. Это не то, что я после. Я рассмотрел различные способы помещения данных в контейнеры OGG, а также текущие заголовки, такие как WebVTT, и я изо всех сил пытаюсь найти примеры этого.

Я нашел здесь, возможно, подсказку: https://github.com/w3c/webvtt/issues/320 и мне порекомендовали поискать примеры от Apple и Google, использующих WebVTT для чего-то подобного, но я не могу найти эти демонстрации. Также есть более старая технология (Kate, CMML, Annodex и др. c), но ни одна из них не используется и полностью заменена WebVTT. Возможно, мне удастся добиться чего-то подобного этому web WebTT C, но я не уверен, что это дает какие-либо гарантии по выравниванию, и это несколько другой стек технологий, который я рассматриваю в этом сценарии.

...