Icecast сервер на базе Ubuntu

Ubuntu логотип
Ubuntu логотип

Установка 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 .
2 комментарий для “Icecast сервер на базе Ubuntu”
  1. Еще один способ составить плейлист, если у вас вложенные папки:

    find /volume1/music -name ‘*.mp3’ -print >playlist.txt

  2. За рут надо бить ремнём.
    в крайнем случае — su
    Но лучше — sudo -i

    А за make & make install….. поубивав бы.
    http://habrahabr.ru/post/130868/ например… И там есть как с этим бороться.

    Если вкратце — то в системе после сборки будет куча мусора, которую не отследить. Но если перед установкой убрать всё в пакет, то приложение, а так же все библиотеки которые оно тащит, и все файлы им созданные, будут вычищаться при удалении или обновлении (если это необходимо).

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *