Как сделать так, чтобы аудио транслировалось в прямом эфире - PullRequest
0 голосов
/ 08 декабря 2018

Мне нужно транслировать аудиоконтент в сеть, получать его и воспроизводить в браузере «на лету».Аудио контент - это просто список mp3 файлов.и на стороне клиента это должно выглядеть как бесконечный аудиопоток без состояния.Что-то вроде прямых трансляций на YouTube.Или что-то вроде онлайн радио.Но я действительно ничего об этом не знаю.Может кто-нибудь поможет мне с этим?Как это работает, какой протокол используется для отправки и получения данных?Все, что может мне помочь с этим.В лучшем случае я ищу решение для .NET, но буду рад всему, что может помочь, хотя бы понять, как оно работает в целом.Спасибо.

1 Ответ

0 голосов
/ 09 декабря 2018

Один из способов сделать это будет с помощью ffmpeg.

Вы можете использовать ffmpeg для создания списка воспроизведения DASH или HLS https://ffmpeg.org/ffmpeg-formats.html#hls-2

FFMPEG также поддерживает другие потоковые решения.

Чтобы вызвать ffmpeg, вы должны найти двоичные файлы, совместимые с вашей системой, на которой работает ваш сервер (windows, linux).Вот как вы можете запустить внешний процесс из C #: Как мне запустить процесс из C #?

Для воспроизведения списка воспроизведения в браузере вы можете использовать VideoJS.Он имеет встроенную поддержку DASH и HLS: https://videojs.com/ (он также может воспроизводить аудио)

Создайте свою логику для управления / обновления списков воспроизведения, а затем вам просто нужно создать службу HTTP, которая может обслуживатьваш файл списка воспроизведения.VideoJS будет воспроизводить его для вас.

Если вы пользуетесь HLS, вам, вероятно, следует прочитать это: https://developer.apple.com/streaming/

Если вы пользуетесь DASH, прочитайте это: https://mpeg.chiariglione.org/standards/mpeg-dash

Другой способ - использовать готовые решения, которые часто не бесплатны:

...