Потоковые радиостанции SHOUTcast

Я искал несколько дней, чтобы найти способ сделать потоковую передачу SHOUTcast во всех основных браузерах без использования Flash Player, но я не смог этого сделать (кроме Safari):

<audio controls src="http://38.96.175.97:7736/;"></audio>

Точка с запятой в конце атрибута «src» заставляет сервер SHOUTcast игнорировать строку пользовательского агента и вместо этого использовать MPEG OVERRIDE, который не содержит Mozilla и считается аудиоплеером. К сожалению, этот трюк пока работал только для меня в Safari.

Кто-нибудь знает, как это сделать в других браузерах (Chrome, Firefox и т.д.)?


person Diego Castillo    schedule 22.02.2014    source источник


Ответы (2)


Проблема заключается не в том, что User-Agent сниффит, а в том, что серверы SHOUTcast не отправляют стандартные HTTP-ответы.

Обычный HTTP-ответ начинается со строки состояния, которая выглядит следующим образом:

HTTP/1.0 200 OK

Вместо этого серверы SHOUTcast отправляют это:

ICY 200 OK

Это работает для многих HTTP-клиентов, но все больше и больше HTTP-клиентов ломаются из-за такого ответа.

Решение состоит в том, чтобы прекратить использование SHOUTcast. Icecast — хорошая альтернатива. Я написал свой собственный сервер под названием AudioPump Server, чтобы обеспечить совместимость в браузерах и клиентах Android.

Если станции, которые вы хотите воспроизвести, не принадлежат вам, вам придется проксировать это воспроизведение через ваш собственный сервер, чтобы решить проблему со строкой состояния.

person Brad    schedule 22.02.2014

Вы должны попробовать это средство.

http://www.schillmania.com/projects/soundmanager2/

У меня работало в любом браузере.

Он также работает на устройствах Android и iOS. Та-та пока :)

person Gabriel Lidenor    schedule 07.03.2014
comment
Удалось ли вам воспроизвести радиостанцию ​​из SHOUTcast с помощью этого API во всех основных браузерах? - person Diego Castillo; 15.03.2014
comment
Да, я использовал этот пример: stackoverflow.com/questions/18592400/ - person Gabriel Lidenor; 15.03.2014