Живой звук не сильно отличается от предварительно записанного звука... он просто воспроизводится в том виде, в котором он был получен, а в прямом эфире он кодируется так же, как и записан.
В наши дни в браузерах самой простой формой потокового аудио является простой тег <audio>
. Изменив атрибут src
с файла на поток, вы готовы к работе:
<audio src="http://cdn.audiopump.co/waug/main_mp3_256k" />
Браузер в этом случае не знает и не заботится о том, что аудио является прямой трансляцией. Все, что он знает, это то, что есть некоторые медиаданные, которые он извлекает через HTTP и воспроизводит во время их поступления.
Если ваш браузер хорошо совместим, предпочтительно использовать MediaSource API, предоставляя вам больший контроль (например, переключение на поток другого качества в середине потока, как в HLS) и убедиться, что браузер не пытается кэшировать то, что фактически является файлом бесконечного размера.
Например, как веб-сайт передает живое аудио на мои динамики с помощью Javascript? http://player.streamtheworld.com/liveplayer.php?callsign=WVIEAM
Этот конкретный сайт находится в ведении Triton Digital, и они все еще используют Flash. Многие сайты до сих пор делают это как пережиток того времени, когда аудио в формате HTML5 не было широко распространено. Сегодня мало причин для этого.
Другими причинами использования Flash являются несовместимые серверные протоколы. Если ваш сервер потоковой передачи использует RTMP, вы застряли с Flash, поскольку браузеры не поддерживают RTMP.
Раньше возникала проблема с потоковой передачей AAC в браузере из-за того, что браузеры неправильно обрабатывали AAC, заключенный в ADTS. (Эта инкапсуляция требуется для потоковой передачи AAC в большинстве ситуаций.) Большинство браузеров решили эту проблему, но я подозреваю, что именно по этой причине Triton Digital все еще использует свое решение Flash. Используя Flash, они могут воспроизводить потоки AAC/ADTS.
person
Brad
schedule
12.03.2016