пятница, 8 мая 2009 г.

Ретранслятор интернет-радио в локалку и не только...

Седня затестил возможность трансляции интернет-радио в локалку с помощью icecast2.3.2. Покажу на примере "Наше Радио".
Добавляем следующий кусок в файл конфига icecast.xml примерно перед строчкой <fileserve>1</fileserve>:

<relay>
<server>radio.proc.ru</server> #адрес интернет радио
<port>8000</port> #порт интернет радио, обычно 8000
<mount>/nashe.mp3</mount> # точка монтирования интернет радио
<local-mount>/nashe_radio</local-mount> # точка монтирования на нашем сервере
<relay-shoutcast-metadata>1</relay-shoutcast-metadata> #получение данных с радиостанции
<on-demand>1</on-demand> # Принимать поток из интернета, если есть хотя бы 1 слушатель, иначе не принимать. Т о экономим входящий трафик.
</relay>

Таким образом мы завернули интернет-радио http://radio.proc.ru:8000/nashe.mp3.m3u
на наш локальный сервер - http://localhost:8000/nashe_radio.m3u

Ну а дальше делаем какуюнить веб-страничку у себя и или гдебы то ни было еще (например на ucoz.ru)
И вставляем туда ссылку вида

http://<тут_ваш_ip_или_dyndns>:8000/nashe_radio.m3u

Для чего такие сложности спросите вы?
ведь можно зайти на http://<тут_ваш_ip_или_dyndns>:8000 и увидеть список всех радиостанций.
Так то оно так, но на этой странице отображаются только активные радиостанции, с которых icecast в данный момент
тянет поток, и ему пофигу что например эти станции никто в данный момент не слушает. wink.gif
Для этого и придуман параметр . Если стоит 1, то icecast тянет поток из инета лишь только в том случае, если
есть хотя бы один слушатель, иначе ничего не тянет, тем самым экономя трафик. Ладно если у вас 1-2 станции,
но когда их порядка 50-60, то трафик там будет огого какой, никакого безлимита не хватит. wink.gif
Можно конечно обойтись без дополнительной html-странички и просто позапускать со своего компа все радиостанции зная stream url, в дальнейшем они останутся в кеше сервака до следующей перезагрузки. (трафик с них идти не будет пока не будет хотя бы 1 слушателя, просто они будут висеть в списке и все.)

PS Вот так легко и быстро можно получить простенький ретранслятор интернет-радио в вашу локалку. Достаточно только проги icecast. Ну эт если не нужно транслировать свои какието файлы, тогда нужны другие проги, которые будут генерить потоки, напр winamp или sam broadcaster

Нашел на сайте icecast бесплатный кросс-платформенный (winall/nix) streamer - ezstream. Правда ему нужно подсовывать уже готовый плейлист в формате m3u например. (плейлист можно сделать средствами WMP входящего в состав windows)
В принципе это удобно, не нужно дербанить свою mp3-коллекцию по разным местам на харде, а просто создавать плей-листы и скармливать ezstream. Сразу скажу прога консольная, но разобраться в ней можно за пять минут. В комплекте идут примеры конфигов. Просто правим их и вскармливаем проге, например ezstream.exe -c ezstream_mp3.xml wink.gif Чтобы зациклить плейлист ставим <stream_once>0</stream_once>

1 комментарий:

Юрий комментирует...

Спасибо, очень познавательно. Наладил свою трансляцию для локалки за 20 минут.