Радио в локальную сеть (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