#amazon-web-services #webrtc #amazon-kinesis #ogg #opus
#amazon-веб-сервисы #webrtc #amazon-kinesis #огг #opus #amazon-web-services #ogg
Вопрос:
Для одного из приложений, над которым я работаю, мне нужно передавать аудио и видео из веб-приложения на серверную часть через webrtc. Это делается с помощью kinesis webrtc JS sdk, а потребителем является средство просмотра, которое использует Kinesis webrtc c sdk.
Я могу получить видео и аудиоданные. Webrtc теперь поддерживает только кодирование pcm. Моя конечная цель — использовать аудиопоток для транскрипции с помощью AWS transcribe. AWS transcribe поддерживает только кодировку PCM. Итак, мне нужно преобразовать данные opus в данные pcm.
Аудиопакеты, которые я получаю на серверной части, составляют примерно 160 байт на пакет. Когда я пытаюсь сохранить байты в файлы opus и декодировать с помощью «opusdec», я получаю следующую ошибку-
WARNING: Hole in data (4 bytes) found at approximate offset 160 bytes. Corrupted Ogg.
WARNING: Hole in data (156 bytes) found at approximate offset 160 bytes. Corrupted Ogg.
ERROR: No Ogg data found in file "sample-000.opus".
Input probably not Ogg.
Данные, передаваемые из серверной части, содержат действительные файлы opus, я говорю это потому, что, когда я вижу медиаплеер консоли aws kinesis для просмотра потоков, видео и аудио воспроизводятся правильно.
Не могли бы вы, пожалуйста, рассказать мне, как использовать потоковые данные opus, поступающие пакетами в серверную часть? Мне нужно иметь возможность преобразовать его в кодировку PCM и использовать aws transcribe.
Ответ №1:
AWS Transcribe теперь должен поддерживать файлы Opus Ogg (см. Пресс-релиз)
Amazon Transcribe поддерживает аудио в кодировке OPUS для файлов в форматах Ogg и WebM.
Если аудио представляет собой инкапсулированный Ogg Opus-файл от начала до конца, вы должны иметь возможность сохранить его. Вы можете убедиться в этом, просмотрев первые 256 байт и поискав «OggS», который является границей страницы Ogg:
$ xxd -l 256 audio.opus
Если аудиобайты не являются файлом Opus Ogg и представляют собой неинкапсулированные необработанные пакеты Opus, вам необходимо будет «упаковать» пакеты Opus в формат контейнера (Ogg, WebM и т. Д.) Перед сохранением файла.