Warning: readfile(./content/meta_tags.html) [function.readfile]: failed to open stream: No such file or directory in /srv/disk4/zwalker/www/voipinforu.awardspace.com/modules/system/templates.php on line 462
Voipinforu
Главная Статьи Обратная связь
Самые читаемые статьи
Разделы -> Статьи -> Default articles category -> Icecast. Как настрои...

В предыдущей заметке про icecast я не касался вопросов ретрансляции потокового аудио в локальную сеть. После того как я заимел скоростной доступ в интернет для меня этот вопрос стал актуальным. Попытаюсь описать решение. В общем-то настройки несложные, но я столкнулся с некоторыми граблями. Избежать их поможет этот материал.

В каких случаях используется ретрансляция? Интернет провайдер например может ретранслировать несколько наиболее интересных по его мнению аудиопотоков в свою локальную сеть. Тут очевидна прямая выгода для его клиентов. Они смогут слушать эти потоки как правило за символическую плату, а то и вовсе бесплатно. Ретрансляция может также использоваться при построении большой сети интернет вещания, для того, чтобы распределить слушателей между несколькими физическими машинами, которые транслируют аудиопотоки.

Типы ретрансляции (Type of Relays) Icecast поддерживает два типа ретрансляции. Первый тип - “Master-Slave”. В этом случае ретрансляции (оба сервера должны быть серверами icecast) все потоки на master сервере перенаправляются на relay сервер. Slave сервер периодически проверяет master сервер на наличие новых точек монтирования (новых аудиопотоков) и соответственно включает их у себя. Этот тип ретрансляции я планирую рассмотреть в другой заметке.

Второй тип ретрансляции, с которым мы и будем разбираться это так называемый “Single-Broadcast Relay” или “Specific Mountpoint Relay” (ретрансляция определенных точек монтирования). В этом типе ретрансляции с master сервера ретранслируется только один аудиопоток.

Итак давайте попробуем! Для ретрансляции аудио нам понадобиться только icecast сервер и естественно клиент, при помощи которого мы будем прослушивать трансляцию. Давайте разберемся на примерах. Предположим нам требуется ретранслировать в локальную сеть следующие аудиопотоки:
Код:
http://radio.aplus.by/play/aplus32mp3pro.pls
http://broadcast.echo.msk.ru:9000/content/current.mp3
http://vorbis.nm.cbc.ca/cbcr2-toronto.ogg
http://www.shoutcast.com/sbin/tunein-station.pls?id=8751


Откроем эти ссылки в любом аудиоплеере, поддерживающем потоковое воспроизведение, чтобы убедиться что они действительно проигрываются. Я для этих целей использую отличную программу foobar2000 . Теперь посмотрим свойства потока, нажав комбинацию Alt-enter. Нас интересует параметр File Path. Получим вот что:

Код:
http://shoutcast.aichyna.com:9000/aplus_32
http://broadcast.echo.msk.ru:9000/content/current.mp3
http://vorbis.nm.cbc.ca/cbcr2-toronto.ogg
http://72.13.81.236:21246/


Теперь приступим к собственно настройке icecast:

Эту часть конфигурационного файла я рассматривал подробно в предыдущей заметке про icecast
Код:
<icecast>
<limits>
<sources>10</sources>
</limits>
<authentication>
<source-password>password</source-password>
<relay-password>hackme</relay-password>
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
<hostname>172.16.15.190</hostname>
<listen-socket>
<port>8000</port>
</listen-socket>
<fileserve>1</fileserve>
<paths>
<logdir>./logs</logdir>
<webroot>./web</webroot>
<adminroot>./admin</adminroot>
<alias source=”/” dest=”/status.xsl”/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel> <!– 4 Debug, 3 Info, 2 Warn, 1 Error –>
</logging>


Вот собственно настройки относящиеся к ретрансляции. Для первого потока они будет такими:

Код:
<relay>
<server>shoutcast.aichyna.com</server>
<port>9000</port>
<mount>/aplus_32</mount>
<local-mount>/aplus.mp3</local-mount>
<on-demand>1</on-demand>
</relay>




ОСТОРОЖНО ГРАБЛИ! В теге НЕ СЛЕДУЕТ УПОТРЕБЛЯТЬ АДРЕСА В ВИДЕ: http://somehost.com А НУЖНО ПОЛЬЗОВАТЬСЯ somehost.com

В теге указывается локальная точка монтирования - т.е. если локальный сервер icecast работает по адресу 172.16.15.190 и прослушивает порт 8000 (как указано в начале моего конфигурационного файла), то ретранслируемый поток можно будет прослушать по адресу: http://172....0/aplus.mp3

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

Для второго потока:
Код:
<relay>
<server>broadcast.echo.msk.ru</server>
<port>9000</port>
<mount>/content/current.mp3</mount>
<local-mount>/sample2.mp3</local-mount>
<on-demand>1</on-demand>
</relay>
Для третьего потока:
Код:
<relay>
<server>vorbis.nm.cbc.ca</server>
<port>80</port>
<mount>/cbcr2-toronto.ogg</mount>
<local-mount>/toronto.ogg</local-mount>
<on-demand>1</on-demand>
</relay>
ЗАМЕЧАНИЕ: Если в адресе ретранслируемого потока как в этом примере http://vorb...toronto.ogg отсутствует порт, то следует использовать значение 80 в теге

Для чевертого потока:
Код:
<relay>
<server>72.13.81.236</server>
<port>21246</port>
<mount>/</mount>
<local-mount>/sample4.mp3</local-mount>
<on-demand>1</on-demand>
</relay>


Готово теперь следует закрыть конфигурационный файл тегом Локальные ретранслированные потоки теперь доступны по адресам:
Код:
http://172.16.15.190:8000/aplus.mp3
http://172.16.15.190:8000/sample2.mp3
http://172.16.15.190:8000/toronto.ogg
http://172.16.15.190:8000/sample4.mp3


Вот и все! Если что-то не работает - смотрим логи.
19 Март 2009 09:18:11 Опубликовал zwalker, Автор/источник: -

 Рейтинг(2): Дурость    
Комментировать
Вы не залогинены!
Комментарии
[00:11:23 16.05.2017] Опубликовал Poiskportalru
Объявления в Нижнем Новгороде на www.poiskportal.ru
[22:14:30 27.02.2017] Опубликовал ghjukliokss
заказать прогон хрумером логин скайпа pokras7777
Привет, Гость
Войти
Идентификация
Я забыл свой пароль
Регистрация