Установка Icecast2
Проверено на Ubuntu 10.04, Mint 12, Debian 6
Выполнять установку лучше под root, так как использование sudo может дать ошибки в сборке некоторых пакетов.
Пишем в консоли суперпользователя пишем:
apt-get update
после обновления списков репозиториев установим сам icecast:
apt-get install icecast2
Автоматически будет созданы учётная запись, группа, файл конфигурации и прочее.
Чтобы icecast запустился, необходимо в открыть /etc/default/icecast2 установить значение:
gedit /etc/default/icecast2
ENABLE=true
Отредактируем конфиги самого icecast:
gedit /etc/icecast2/icecast.xml
100
10
5
524288
30
15
10
1
65535
password
password
admin
password
yourdomain.com
8000
127.0.0.1
8000
127.0.0.1
/stream.mp3
UTF8
1
/usr/share/icecast2
/var/log/icecast2
/usr/share/icecast2/web
/usr/share/icecast2/admin
access.log
error.log
3
10000
0
Запустим Icecast:
/etc/init.d/icecast2 start
Установка ices0
К сожалению, ices0 отсутствует в репозитории, поэтому собирать его придется вручную.
apt-get install build-essential
Также, нам потребуются библиотеки libshout3 и libxml2:
apt-get install libshout3-dev libxml2-dev
Для поддержки mp3 файлов потребуются библиотеки libmp3lame0. В репозитории не самая последняя версия (либо, в зависимости от версии ОС, установка вообще не идет), поэтому лучше поставить их из пакета самостоятельно:
для 32-битных систем:
wget http://debian-multimedia.org/pool/main/l/lame/libmp3lame0_3.98.4-0.0_i386.deb
wget http://debian-multimedia.org/pool/main/l/lame/libmp3lame-dev_3.98.4-0.0_i386.deb
dpkg -i libmp3lame0_3.98.4-0.0_i386.deb
dpkg -i libmp3lame-dev_3.98.4-0.0_i386.deb
для 64-битных:
wget http://debian-multimedia.org/pool/main/l/lame/libmp3lame0_3.98.4-0.0_amd64.deb
wget http://debian-multimedia.org/pool/main/l/lame/libmp3lame-dev_3.98.4-0.0_amd64.deb
dpkg -i libmp3lame0_3.98.4-0.0_amd64.deb
dpkg -i libmp3lame-dev_3.98.4-0.0_amd64.deb
Всё готово для сборки ices0.4
wget http://downloads.us.xiph.org/releases/ices/ices-0.4.tar.gz
tar -xf ices-0.4.tar.gz
Переходим в директорию с исходниками ices0, выполняем конфигурирование и установку:
cd ices-0.4
./configure —with-lame
make & make install
Если всё прошло без ошибок, ices0 установлен.
Конфигурирование Ices
gedit /usr/local/etc/ices.conf
/home/user/playlist.txt
1
builtin
ices
1
0
/tmp
192.168.1.7
8000
icecastpassword
http
/stream.mp3
Rock Radio
Rock
Rock Radio
http://127.0.0.1/
0
160
1
2
Составим плейлист для ices 0.4:
cd /home/radio/
ls > playlist.txt
Теперь запускаем Ices 0.4:
cd /home/radio/
ices
либо можно ices с потоком
/usr/local/bin/ices -c ‘/usr/local/etc/ices.conf’ -D ‘/tmp’ -F ‘/home/user/playlist.txt’ -m ‘sream.mp3’ -u ‘http://yourdomain.com:8000/rock.mp3’ -d ‘Rock Radio Freya’ -n ‘Rock-Radio’ -g ‘Rock’ -B;
Зайдя по ссылке http://yourdomain.com:8000/stream.mp3, вы сможете услышать ваше радио.
Полезные советы:
Как включить перемешивание в ices?
В конфиге ices установите ключ
1
Как сделать, чтоб ices кодировал битрейт?
В конфиге ices установите ключ
1
Как выводить корректные названия кириллицей?
Проще всего — перекодировать всю музыкальную коллекцию через EasyTag
Как корректно добавить Ices в автозагрузку?
1. Создать в /etc/init.d/ скрипт запуска/остановки службы
#!/bin/sh
case "$1" in
start)
sleep 10
/usr/local/bin/ices -c '/usr/local/etc/ices.conf' -D '/tmp' -F '/home/user/playlist.txt' -m 'sream.mp3' -u 'http://yourdomain.com:8000/rock.mp3' -d 'Rock Radio Freya' -n 'Rock-Radio' -g 'Rock' -B;
;;
stop)
killall -9 ices
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
:
2. Задать ему права на исполнение
sudo chmod +x /etc/init.d/radio
3. Добавить в автозапуск rc.d
sudo update-rc.d myscript start 99 2 3 4 5 . stop 01 0 1 6 .
Еще один способ составить плейлист, если у вас вложенные папки:
find /volume1/music -name ‘*.mp3’ -print >playlist.txt
За рут надо бить ремнём.
в крайнем случае — su
Но лучше — sudo -i
А за make & make install….. поубивав бы.
http://habrahabr.ru/post/130868/ например… И там есть как с этим бороться.
Если вкратце — то в системе после сборки будет куча мусора, которую не отследить. Но если перед установкой убрать всё в пакет, то приложение, а так же все библиотеки которые оно тащит, и все файлы им созданные, будут вычищаться при удалении или обновлении (если это необходимо).