Поддержка тегов HTML5 AUDIO для Icecast?

Можно ли воспроизвести поток Icecast с помощью тега AUDIO HTML5? Синтаксис, который я использую, кажется вполне подходящим для ShoutCast, но не для Icecast, что меня смущает. Также, если я перехожу к определенному URL-адресу потока Icecast, в окне браузера автоматически отображается проигрыватель (см. Последний пример).

Рабочий пример ShoutCast.

<audio src="http://107.182.233.214:8000/;listen.pls?sid=1" autoplay="true" muted="false" controls="true" volume="1.0"></audio>

Нерабочие примеры Icecast.

<audio src="http://91.121.59.45:8016/;stream" autoplay="false" muted="false" controls="true" volume="1.0"></audio>

<audio src="http://91.121.59.45:8016/stream" autoplay="false" muted="false" controls="true" volume="1.0"></audio>

<audio src="http://91.121.59.45:8016" autoplay="false" muted="false" controls="true" volume="1.0"></audio>

URL-адрес потока Icecast, который автоматически открывает плеер в браузере.

http://91.121.59.45:8016/stream

person Fat Finger    schedule 17.07.2016    source источник
comment
Этот <audio src="http://91.121.59.45:8016/stream" autoplay="false" controls="true"></audio>, похоже, работает JSFiddle.   -  person T. D. Ben    schedule 17.07.2016
comment
Я не уверен, что здесь произошло, потому что я был уверен, что пробовал этот синтаксис, и он не сработал, но я только что протестировал его сейчас, и он явно работает. Спасибо!   -  person Fat Finger    schedule 17.07.2016


Ответы (1)


Можно ли воспроизвести поток Icecast с помощью тега AUDIO HTML5?

Да, конечно.

Единственное требование - браузер поддерживает кодек, в котором вы транслируете.

Синтаксис, который я использую, кажется вполне подходящим для ShoutCast, но не для Icecast, что меня смущает.

Все эти URL-адреса потоков с точкой с запятой ; предназначены только для SHOUTcast. Серверы SHOUTcast запускают свой интерфейс администратора по тому же URL-адресу, что и потоки. Они анализируют пользовательский агент, чтобы определить, является ли клиент веб-браузером или аудиоплеером. Когда много лет назад веб-страницы начали воспроизводить звук, им нужен был способ обойти эту проблему, чтобы браузеры могли получать аудиопоток. URL-адрес потока с точкой с запятой заставляет SHOUTcast игнорировать пользовательский агент браузера и заменять его на «MPEG OVERRIDE», что заставляет остальную часть сервера возвращать поток.

Требуется только ;. Все это ;stream просто ненужный материал, который был скопирован и вставлен.

Вы можете прочитать больше здесь: https://stackoverflow.com/a/38217135/362536

Что касается потоков Icecast, все, что вам нужно, это:

<audio src="http://91.121.59.45:8016/stream" />

(Если, конечно, вы не поддерживаете несколько кодеков, в этом случае вы должны использовать несколько источников.)

person Brad    schedule 17.07.2016
comment
Я пробовал это раньше, и, похоже, это не сработало. - person Fat Finger; 17.07.2016
comment
Убедитесь, что вы используете src="http://91.121.59.45:8016/stream" (похоже, Брэд допустил ошибку, и моя правка пока не видна). - person TBR; 17.07.2016
comment
Спасибо @TBR! Редактирование все еще не отображалось, поэтому я просто внес исправления. - person Brad; 17.07.2016