Можно ли воспроизводить потоки shoutcast интернет-радио с помощью html5? - PullRequest
24 голосов
/ 09 февраля 2010

Можно ли воспроизводить shoutcast (или некоторые) потоки интернет-радио с html5?

Итак, у меня есть следующий код:

<html>
<body>
<audio src="http://shoutcast.internet-radio.org.uk:10272/" />
</body>
</html>

Я сохраняю его как HTML-страницу и запускаю браузер (Google Chrome 4.0.249.78, Safary или FF)

но не играет / не работает! (

И он не играет ни с каким другим интернет-радио, которое я пытался воспроизвести! (

Почему!?! Что я делаю не так?

btw: from HTML5 (включая дополнения следующего поколения, все еще находящиеся в разработке) 2.6.1 Понятия протокола Пользовательские агенты могут реализовывать различные протоколы передачи, но эта спецификация в основном определяет поведение с точки зрения HTTP. [HTTP]

Метод HTTP GET эквивалентен поисковому действию по умолчанию для протокола. Например, RETR в FTP. Такие действия идемпотентны и безопасны в терминах HTTP.

Коды ответов HTTP эквивалентны статусам в других протоколах, которые имеют те же основные значения. Например, ошибка «файл не найден» эквивалентен коду 404, ошибка сервера эквивалентна коду 5xx и т. Д.

Заголовки HTTP эквивалентны полям в других протоколах, которые имеют такое же базовое значение. Например, заголовки аутентификации HTTP эквивалентны аспектам аутентификации протокола FTP.

Ответы [ 10 ]

42 голосов
/ 06 июля 2010

Добавьте точку с запятой в конец запроса http. Это протокол, установленный shoutcast для отмены обнаружения в браузере. Как этот пример:

<audio controls src="http://shoutcast.internet-radio.org.uk:10272/;"></audio>
16 голосов
/ 10 февраля 2010

HTML5 не указывает, какие форматы аудио (будь то прогрессивный или потоковый) проигрыватель должен поддерживать. Это зависит от браузера, исходя из требований и возможностей реализации. В более ранних версиях мы пытались указать несколько базовых кодеков и форматов, которые должны поддерживать все браузеры, но каждый из возможных форматов заставлял некоторых поставщиков браузеров отказываться от его реализации.

В Safari работает следующее (4.0.4, WebKit nightly 6531.21.10, r54538, Mac OS X 10.6.2), но не в Chrome или Firefox:

<!DOCTYPE html>
<audio controls src="http://shoutcast.internet-radio.org.uk:10272/"></audio>

(обратите внимание, что <audio> требует конечный тег в сериализации HTML, он не может использовать самозакрывающийся тег в стиле XML, и мне нужно включить controls или autoplay для фактического запуска аудио )

Вероятно, это связано с тем, что Safari получает поддержку Shoutcast «бесплатно», поскольку он просто использует QuickTime для обработки любых заданных URL-адресов аудио и видео, а QuickTime уже имеет поддержку Shoutcast. Это также может привести к некоторым странным ошибкам, так как HTTP-реализация QuickTime, ну, в общем, своеобразная , мягко говоря.

Я бы предложил регистрировать ошибки, запрашивающие поддержку Shoutcast в браузерах, которые его не поддерживают. Вот трекеры ошибок для Firefox (Gecko / Mozilla) , Chrome (Chromium) и Safari (если это не работает в Windows, или что-то еще вот так).

10 голосов
/ 07 июня 2010

Вы не можете сделать это с ShoutCast, но с Icecast и клиентом edcast вы можете транслировать живые ворбины через HTML5 <audio> тег. Просто укажите на http://your -url.com: port / stream.ogg : p

4 голосов
/ 03 апреля 2011
<!DOCTYPE html>
<audio controls src="http://baldyradio.com:8010/;"></audio>

Это работает в версии IE9, печально, что то же самое нельзя сказать о FireFox 4!

4 голосов
/ 06 февраля 2011

хорошо, я проверил станции ogg_vorbis. Я скачал какой-то плейлист, открыл его в блокноте и скопировал URL-адрес потока. Поэтому, если вы хотите протестировать его, просто скопируйте его в пустой файл и назовите что-нибудь .html.

<!DOCTYPE html>
    <html>
    <head>
    <title>audio testing live stream!</title>
    </head>
    <body>
    <audio controls="controls" autoplay="autoplay" src="http://oggvorbis.tb-stream.net:80/technobase.ogg">
    </audio>
    </body>
</html>

вот и все!

BB

3 голосов
/ 30 марта 2011

чтение спецификации звука HTML 5 (http://www.w3schools.com/html5/html5_audio.asp) W3C описывает, какие форматы (MP3 или OGG) поддерживаются какими браузерами

Что бы я сделал, так это чтобы сервер icecast (не ShoutCast) передавал MP3 и OGG

с помощью javascript определяет тип браузера - http://www.javascripter.net/faq/browsern.htm

if (браузер не поддерживает HTML5) { распечатать сообщение - использовать новый браузер }

if (браузер поддерживает потоковую передачу HTML5 и OGG (используйте список из W3c)) { используйте поток OGG с сервера icecast в теге SRC }

if (браузер поддерживает потоковую передачу MP3 в формате HTML5 (используйте список из W3C)) { используйте поток MP3 с сервера icecast в теге SRC }

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

2 голосов
/ 13 марта 2016

Вышеуказанные сообщения дают правильный ответ, хотя в них не упоминается использование косой черты . Убедитесь, что /; есть после URL потока и порта.

<audio src="http://shoutcast.internet-radio.org.uk:10272/;" />
2 голосов
/ 16 октября 2010
1 голос
/ 10 февраля 2010

Что ж, Firefox и Opera не поддерживают несвободные кодеки, такие как mp3 (как в Opera 10.5 alpha, FF 3.5 и более поздних версиях поддерживают только PCM wav и Ogg Vorbis для аудио). Однако я считаю, что Chrome и Safari поддерживают MP3.

Следующая проблема заключается в том, что ваш URL-адрес указывает на веб-страницу, описывающую поток, а не на поток.

Наконец, насколько мне известно, никто не реализовал анализатор плейлистов для аудиоэлемента (в спецификации упоминаются только аудиофайлы, а не плейлисты), что является проблемой, так как даже когда вы нажимаете «слушать», вы получаете плейлист, а не сырой поток.

0 голосов
/ 09 марта 2018

Да, вы можете играть в ShoutCast2, я использую его таким образом

<audio preload="none" autoplay="autoplay" controls="controls">
    <source src="http://178.32.62.172:9079/stream" type="audio/mpeg">
    Your browser does not support this player, please update the version
</audio>
...