Прямая трансляция веб-аудио - PullRequest
0 голосов
/ 07 августа 2020

Есть аудиопоток, который отправляется с мобильного устройства на сервер. И сервер отправляет в сеть куски данных (из-за веб-сокетов). Вопрос в том. Что использовать для воспроизведения этого звука в режиме реального времени, также должна быть возможность перемотать звук назад, послушать то, что было раньше ... и снова переключиться в режим реального времени.

Я рассмотрел такие возможности, как Media Source API, но он не поддерживается Safari и Chrome на IOS, не так ли? Но нам нужна эта поддержка.

Также есть API веб-аудио, который поддерживается современными браузерами, но я не уверен, можно ли слушать аудио в режиме реального времени и перематывать аудио назад?

Есть идеи или руководства по его реализации?

1 Ответ

0 голосов
/ 08 августа 2020

Я рассматривал такие возможности, как Media Source API, но он не поддерживается Safari и Chrome на IOS, не так ли? Но нам нужна эта поддержка.

Тогда вы не сможете использовать расширения MediaSource. Спасибо, Apple!

И сервер отправляет фрагменты данных (из-за веб-сокетов) в Интернет.

Без расширений MediaSource у вас нет возможности использовать эти данные из подключение к веб-сокету. (Если это не PCM или вы не декодируете его в PCM, и в этом случае вы можете использовать API веб-аудио, но это совершенно непрактично, неэффективно и не то, к чему вам следует стремиться.)

Вы должны изменить способ потоковой передачи. У вас есть несколько вариантов:

Лучший вариант: HLS

Если вы переключитесь на HLS, вы получите необходимую совместимость, а также возможность go назад во времени и что нет. Это то, что вам следует делать.

Посредственный вариант: HTTP Progressive

Это прекрасный способ потоковой передачи для большинства случаев использования, но нет встроенного способа обработки поиска потока что ты хочешь. Вам придется построить его, что не стоит вашего времени, поскольку вы можете просто использовать HLS.

Еще более посредственный вариант: WebRT C

Вы можете переключиться на WebRT C для потоковой передачи, но вы значительно увеличили затраты на инфраструктуру и сложность. И вам все еще нужно выяснить, как вы собираетесь справляться с поиском. Единственная причина, по которой вы захотите использовать go маршрут WebRT C, - это если вам абсолютно необходима минимальная задержка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...