audio потоковый - Возможно ли воспроизводить потоки интернет-радиосигналов shoutcast с помощью html5?




фоновая тега (9)

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

В Safari (4.0.4, WebKit ночной 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, ну, quirky , чтобы выразить это любезно.

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

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

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

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

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

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

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

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

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

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

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

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


<audio controls src="http://example.com:8000/mountpath;"></audio>

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


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

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

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


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

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

Я проверил станции ogg_vorbis. Я загрузил некоторый плейлист и открыл его в блокноте, и скопировал URL-адрес потока. Поэтому, если вы хотите протестировать его, просто скопируйте его в пустой файл и назовите его something.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


Да, вы можете играть в 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>

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

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

Я могу порекомендовать этот инструмент, который контролирует pulseaudio: https://github.com/graysky2/pulseaudio-ctl

[email protected] ~ $ pulseaudio-ctl
pulseaudio-ctl v1.63

/usr/bin/pulseaudio-ctl {up,down,mute,mute-input,set,atmost,full-status} [n]

Where up and down adjust volume in ±5 % increments
Where up and down [n] adjust volume in ±n % increments
Where mute toggles the mute status on/off
Where mute-input toggles the input status on/off
Where set set the volume to [n] %
Where atmost only takes effect if current volume is higher than [n]
Where full-status prints volume level, sink and source mute state to stdout

Optionally, redefine an upper threshold in /home/me/.config/pulseaudio-ctl/config

Volume level     : 80 %
Is sink muted    : no
Is source muted  : no
Detected sink    : 1
Detected source  : 3
Pulse version    : 8.0
[email protected] ~ $ 




audio html5 radio audio-streaming shoutcast