суббота, 15 августа 2009 г.

Как включить заставку для радио в Icecast 2?

Q.: Как сделать чтобы при подключении слушателя к каналу играл короткий вступительный mp3-файл?
A.: Необходимо в конфигурационном файле icecast.xml изменить настройки конкретного канала следующим образом:

<mount>
<mount-name>/mount_name</mount-name>
<username>source</username>
<password>password</password>
<intro>/путь/к/файлу.mp3</intro>
</mount>

Где:
mount-name — название канала
username — имя пользователя, используемое для поключения
password — соответствующицй пароль
intro — путь к файлу

Как сделать ретранслятор в Icecast 2?

Q.: Я хочу сделать ретранслятор, но чтобы слушателя не перебрасывало на их радио.
A.: Необходимо в конфигурационном файле Icecast'a создать новую mountpoint и сконфигурировать её следующим образом:

<relay>
<server>some.domain.tld</server>
<port>8000</port>
<mount>/remote_mountpoint.mp3</mount>
<local-mount>/local_mountpoint</local-mount>
<on-demand>1</on-demand>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>

Где:
server — удалённый сервер (домен или IP-адрес), откуда забираем сигнал
port — порт на удалённом сервере
mount — имя канала на удалённом сервере
local-mount — как этот канал будет называться у нас на сервере
on-demand — подключаться по запросу? (1 - да, 0 - работать постоянно)
relay-shoutcast-metadata — ретранслировать метеданные? (1 - да, 0 - нет)

Установка и запуск Icecast2 под FreeBSD


cd /usr/ports/audio/icecast2 && make install clean
pw groupadd icecast
pw useradd icecast -g icecast
mkdir /usr/local/var/log/icecast
touch /usr/local/var/log/icecast/access.log
touch /usr/local/var/log/icecast/error.log
touch /usr/local/var/log/icecast/playlist.log
chown icecast:icecast /usr/local/var/log/icecast
chown icecast:icecast /usr/local/var/log/icecast/access.log
chown icecast:icecast /usr/local/var/log/icecast/error.log
chown icecast:icecast /usr/local/var/log/icecast/playlist.log
cp /usr/local/etc/icecast.xml.sample /usr/local/etc/icecast.xml
echo "icecast_enable=YES">>/etc/rc.conf
/usr/local/etc/rc.d/icecast2 start

Где:
1. Установка Icecast2 через порты FreeBSD
2. Создаём пользователя icecast
3. Создаём группу icecast и включаем в неё вышесозданного пользователя
4. Создаём папку для логов Icecast'a
5., 6., 7. Создаём лог-файлы доступа, ошибок и плейлиста соответственно
8., 9., 10., 11. Изменяем владельца на icecast из группы icecast
12. Копируем конфигурационный файл из оригинального в действующий
13. «Включаем» Icecast2 в системе
14. Запускаем

P.S. Вручную всё же придётся кое-что сделать, а именно изменить в конфиге директивы changeowner:
<security>
<chroot>0</chroot>
<changeowner>
<user>icecast</user>
<group>icecast</group>
</changeowner>
</security>