Вещаем радио в локальную сеть
16.11.2010 - 14:30
После установки нас просят добавить его в /etc/rc.conf:
Далее идем править конфиг, который расположен в /usr/local/etc, у меня он имеет такой вид:
Проверяем:
Однажды вечером, просматривая логи squid, увидел, что пользователи присели на стрим радио. Закрыв нужные порты, лег спать. Утром услышал много комплиментов в свой адрес, от юзеров. Пришлось пойти на компромисс и поднять внутренний радио сервер, который брал бы поток с интернет-радиостанций и передавал в сеть (ретранслятор). Порт который нам нужен называется - icecast. И так поехали химичить..
[root@router /]# cd /usr/ports/audio/icecast2/
[root@router /usr/ports/audio/icecast2]# make install clean
[root@router /usr/ports/audio/icecast2]# make install clean
После установки нас просят добавить его в /etc/rc.conf:
[root@router /etc]# cat rc.conf | grep ice
icecast_enable="YES"
# Указываем расположение конфиг. файла айскаста.
icecast_flags="-b -c /usr/local/etc/icecast.xml"
# Указываем расположение конфиг. файла айскаста.
icecast_flags="-b -c /usr/local/etc/icecast.xml"
Далее идем править конфиг, который расположен в /usr/local/etc, у меня он имеет такой вид:
[root@router /]# cat /usr/local/etc/icecast.xml
<icecast>
<limits>
<clients>50</clients>
<sources>2</sources>
<threadpool>5</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>123456789</source-password>
<relay-password>12345678</relay-password>
# Пара(логин/пасворд) для входа в web-интерфейс айскаста, который доступен по адресу http://<IP-сервера>:8000/.
<admin-user>admin</admin-user>
<admin-password>2010ws</admin-password>
</authentication>
<hostname>localhost</hostname>
# На каком порту будет висеть.
<listen-socket>
<port>8000</port>
# Указываем ip-адрес сервера, со стороны локальной сети.
<bind-address>192.168.1.1</bind-address>
</listen-socket>
# Тут начинаются сами релеи на другие интернет-радиостанции.
# Trance радиостанциа - Afterhours:
<relay>
# ip-адрес сервера
<server>78.137.1.209</server>
# Порт
<port>8000</port>
# Точка монтированя.
<mount>/afterhours</mount>
# Точка монтированиня у нас на локальном сервере.
<local-mount>/afterhours.mp3</local-mount>
# Использует интернет только тогда, когда идет вещание.
<on-demand>1</on-demand>
# Говорим передавать нам названия треков, которые проигрываются.
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
#Хит-ФМ радиостанция:
<relay>
<server>195.95.206.12</server>
<port>8000</port>
<mount>/HitFM</mount>
<local-mount>/hitfm.mp3</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>2</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>nobody</group>
</changeowner>
</security>
</icecast>
<limits>
<clients>50</clients>
<sources>2</sources>
<threadpool>5</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>123456789</source-password>
<relay-password>12345678</relay-password>
# Пара(логин/пасворд) для входа в web-интерфейс айскаста, который доступен по адресу http://<IP-сервера>:8000/.
<admin-user>admin</admin-user>
<admin-password>2010ws</admin-password>
</authentication>
<hostname>localhost</hostname>
# На каком порту будет висеть.
<listen-socket>
<port>8000</port>
# Указываем ip-адрес сервера, со стороны локальной сети.
<bind-address>192.168.1.1</bind-address>
</listen-socket>
# Тут начинаются сами релеи на другие интернет-радиостанции.
# Trance радиостанциа - Afterhours:
<relay>
# ip-адрес сервера
<server>78.137.1.209</server>
# Порт
<port>8000</port>
# Точка монтированя.
<mount>/afterhours</mount>
# Точка монтированиня у нас на локальном сервере.
<local-mount>/afterhours.mp3</local-mount>
# Использует интернет только тогда, когда идет вещание.
<on-demand>1</on-demand>
# Говорим передавать нам названия треков, которые проигрываются.
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
#Хит-ФМ радиостанция:
<relay>
<server>195.95.206.12</server>
<port>8000</port>
<mount>/HitFM</mount>
<local-mount>/hitfm.mp3</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>2</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>nobody</group>
</changeowner>
</security>
</icecast>
Стартуем демон:
[root@router /]#cd /usr/local/etc/rc.d
[root@router /usr/local/etc/rc.d]# ./icecast2 start
[root@router /usr/local/etc/rc.d]# ./icecast2 start
Проверяем:
[root@router /usr/local/etc/rc.d]# ./icecast2 status
icecast is running as pid 81438.
[root@router /usr/local/etc/rc.d]# sockstat | grep 8000
nobody icecast 81438 0 tcp4 192.168.1.1:8000 192.168.1.253:3277
nobody icecast 81438 1 tcp4 82.207.87.36:63934 195.95.206.12:8000
nobody icecast 81438 2 tcp4 192.168.1.1:8000 192.168.1.248:1243
nobody icecast 81438 4 tcp4 192.168.1.1:8000 *:*
nobody icecast 81438 8 tcp4 192.168.1.1:8000 192.168.1.209:1220
[root@router /usr/local/etc/rc.d]#
icecast is running as pid 81438.
[root@router /usr/local/etc/rc.d]# sockstat | grep 8000
nobody icecast 81438 0 tcp4 192.168.1.1:8000 192.168.1.253:3277
nobody icecast 81438 1 tcp4 82.207.87.36:63934 195.95.206.12:8000
nobody icecast 81438 2 tcp4 192.168.1.1:8000 192.168.1.248:1243
nobody icecast 81438 4 tcp4 192.168.1.1:8000 *:*
nobody icecast 81438 8 tcp4 192.168.1.1:8000 192.168.1.209:1220
[root@router /usr/local/etc/rc.d]#
В результате у нас будет работать 2 радиостанции, которые можно услышать по адресам:
http://192.168.1.1:8000/afterhours.mp3
http://192.168.1.1:8000/hitfm.mp3
http://192.168.1.1:8000/hitfm.mp3
Статистику использования нашего сервера можно увидеть в браузере:
http://192.168.1.1:8000/
- Войдите на сайт для отправки комментариев
- Версия для печати