Радио в локальную сеть (icecast)
Устанавливаем свою онлайн-радиостанцию.
Поднимаем внутренний радио сервер, который брал бы поток с интернет-радиостанций и передавал в сеть (ретранслятор). Порт который нам нужен называется – icecast.
root@tst: cd /usr/ports/audio/icecast2/ root@tst: make install clean
После установки нас просят добавить его в /etc/rc.conf:
root@tst: cat rc.conf | grep ice icecast_enable="YES" # Указываем расположение конфиг. файла айскаста. icecast_flags="-b -c /usr/local/etc/icecast.xml"
Далее идем править icecast.xml, который расположен в /usr/local/etc, у меня он имеет такой вид:
<icecast>
<location>TEST-AMO</location>
<admin>icemaster@tst-amo.net.ua</admin>
<limits>
<clients>1000</clients>
<sources>200</sources>
<threadpool>500</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<burst-on-connect>1</burst-on-connect>
<burst-size>65535</burst-size>
</limits>
<authentication>
<source-password>hackme</source-password>
<relay-password>hackme</relay-password>
<admin-user>admin</admin-user>
<admin-password>hackme</admin-password>
</authentication>
<hostname>tst-amo.net.ua</hostname>
<listen-socket>
<port>8000</port>
<bind-address>192.168.1.41</bind-address>
</listen-socket>
<!-- Nashe Radio -->
<relay>
<server>185.128.234.102</server>
<port>8000</port>
<mount>/nashe</mount>
<local-mount>/nashe</local-mount>
<on-demand>1</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<!-- HitFm -->
<relay>
<server>195.95.206.17</server>
<port>8000</port>
<mount>/HitFM</mount>
<local-mount>/HitFM</local-mount>
<on-demand>1</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<!-- JamFM -->
<relay>
<server>185.128.234.102</server>
<port>8000</port>
<mount>/jamfm</mount>
<local-mount>/jamfm</local-mount>
<on-demand>1</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<fileserve>1</fileserve>
<paths>
<basedir>/usr/local/share/icecast</basedir>
<logdir>/var/log/icecast</logdir>
<webroot>/usr/local/share/icecast/web</webroot>
<adminroot>/usr/local/share/icecast/admin</adminroot>
<pidfile>/var/run/icecast.pid</pidfile>
<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 -->
<logsize>10000</logsize> <!-- Max size of a logfile -->
</logging>
<security>
<chroot>0</chroot>
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
</security>
</icecast>
Меняем права на сервер:
chown -R nobody:nogroup /usr/local/share/icecast/web
Создаем папку для логов:
mkdir /var/log/icecast chown -R nobody:nogroup /var/log/icecast
Стартуем демон:
root@tst:#cd /usr/local/etc/rc.d root@tst: ./icecast2 start
Проверяем :
root@tst: ./icecast2 status icecast is running as pid 81438.
Смотрим, что он слушается:
root@tst: sockstat | grep 8000 nobody icecast 26205 0 tcp4 192.168.1.41:44950 185.128.234.102:8000 nobody icecast 26205 2 tcp4 192.168.1.41:8000 192.168.1.47:4168 nobody icecast 26205 4 tcp4 192.168.1.41:8000 *:*
В результате у нас будет работать 2 радиостанции, которые можно услышать по адресам:
http://192.168.1.1:8000/afterhours.mp3 http://192.168.1.1:8000/hitfm.mp3
Статистику использования нашего сервера можно увидеть в браузере:
http://192.168.1.1:8000/
Плей-лист выглядит так:
http://192.168.1.41:8000/HitFM http://192.168.1.41:8000/nashe http://192.168.1.41:8000/jamfm