1

Тема: Инструкция по установке и настройке Icecast и Ices под Linux

IceCast

Что же такое IceCast? Это сервер потокового вещания, поддерживающий mp3 и ogg форматы.

Нам потребуются:

приложения:
icecast-2.3.1 - серверное приложение

ices-0.4 - утилита для посылки mp3-аудиопотока на IceCast сервер
либо
ices-2.0.1 - для посылки ogg-аудиопотока на IceCast сервер

библиотеки:
libshout-2.2.2
libmp3lame-3.97

В этом примере будет рассмотрена связка из IceCast-2.3.1 и ices-0.4, так как будем использовать mp3-аудиопоток.

Установка библиотек

libmp3lame-3.97

# ./configure --prefix=/usr
# make && make install

libshout-2.2.2

# ./configure --with-ogg --with-vorbis --with-lame --prefix=/usr
у меня в системе уже была установлена libvorbis, в принципе можно было и без --with-ogg --with-vorbis запускать, конфигуратор должен всё сам найти
# make && make install

Установка ices-0.4

# ./configure --with-lame
# make && make install

Установка IceCast

И тут выясняется, что для сборки IceCast требуется наличие в системе ещё нескольких библиотек:
libxml2
libxslt
curl (>= version 7.10 required)
ogg/vorbis - (>= version 1.0 required)

С curl'ом пришлось повозиться. Оказалось, что с новым curl-7.16.2 IceCast отказался собираться, поэтому я использовал curl-7.15.5.

# ./configure
# make && make install

IceCast и всё необходимое для его работы мы установили.

Настройка IceCast

Для начала создадим пользователя и группу от имени которых будет работать IceCast:

# groupadd icecast
# useradd -g icecast -d /home/icecast -s /sbin/nologin icecast

Создадим некоторые каталоги:

# mkdir /home/icecast/admin
# mkdir /home/icecast/logs
# chown icecast:icecast /home/icecast/logs
# mkdir /home/icecast/web

Скопируем файлы:
из /usr/local/share/icecast/admin в /home/icecast/admin
из /usr/local/share/icecast/web в /home/icecast/web

Скопируем /usr/local/share/icecast/doc/icecast.xml.dist в /usr/local/etc/icecast.xml
и изменим его содержимое следующим образом:
Код:
<icecast>
<limits>
  <!-- Лимиты -->
  <clients>100</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>password</source-password>
   <relay-password>password</relay-password>
   <admin-user>admin</admin-user>
   <admin-password>password</admin-password>
</authentication>

<hostname>localhost</hostname>
<listen-socket>
  <!-- Порт на котором ожидать соединений -->
  <port>8000</port>
</listen-socket>
<fileserve>1</fileserve>

<paths>
  <!-- Пути -->
  <basedir>/home/icecast</basedir>
  <logdir>/home/icecast/logs</logdir>
  <webroot>/home/icecast/web</webroot>
  <adminroot>/home/icecast/admin</adminroot>
  <pidfile>/home/icecast/logs/icecast.pid</pidfile>
  <alias source="/" dest="/status.xsl"/>
</paths>

<logging>
  <accesslog>access.log</accesslog>
  <errorlog>error.log</errorlog>
  <loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
  <logsize>10000</logsize>
</logging>

<security>
  <!-- Безопасность -->
  <chroot>0</chroot>
  <changeowner>
   <user>icecast</user>
   <group>icecast</group>
  </changeowner>
</security>
</icecast>



Ограничим доступ к конфигу IceCast (тк он содержит пароли):

# chown root:root /usr/local/etc/icecast.xml
# chmod 640 /usr/local/etc/icecast.xml

Запустим IceCast сервер:

# icecast -b -c /usr/local/etc/icecast.xml

Теперь можно зайти на веб-интерфейс по адресам:
http://localhost:8000/ (статус сервера), и
http://localhost:8000/admin/ (интерфейс администратора).

Настройка ices

После установки ices в каталоге /usr/local/etc/ должен быть файл ices.conf.dist
Скопируем его в /usr/local/etc/ices.conf и отредактируем:
Код:
<?xml version="1.0"?>
<ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">
  <Playlist>
    <File>playlist.txt</File>
    <Randomize>1</Randomize>
    <Type>builtin</Type>
    <Module>ices</Module>
  </Playlist>

  <Execution>
    <Background>1</Background>
    <Verbose>0</Verbose>
    <BaseDirectory>/tmp</BaseDirectory>
  </Execution>

  <Stream>
    <Server>
      <Hostname>localhost</Hostname>
      <Port>8000</Port>
      <!-- пароль должен быть такой же как в секции <source-password> конфига icecast -->
      <Password>password</Password>
      <Protocol>http</Protocol>
    </Server>

    <Mountpoint>/test</Mountpoint>
    <Name>Default stream</Name>
    <Genre>Default genre</Genre>
    <Description>Default description</Description>
    <URL>http://localhost:8000/test</URL>
    <Public>0</Public>

    <Bitrate>128</Bitrate>
    <Reencode>1</Reencode>
    <Samplerate>44100</Samplerate>
    <Channels>2</Channels>
  </Stream>
</ices:Configuration>



Ограничим доступ к /usr/local/etc/ices.conf:

# chmod 640 /usr/local/etc/ices.conf

Последний этап

Пусть у нас есть директория /media/music с несколькими mp3 файлами.
Создадим playlist для этой директории:

# cd /media/music
# ls > playlist.txt

Запустим ices:

# ices -c '/usr/local/etc/ices.conf'

По адресу  http://localhost:8000/test должна играть ваша музыка 

Для организации нескольких каналов музыки используйте возможности командной строки ices, например:

# ices -c '/usr/local/etc/ices.conf' -D '/media/music/' -F '/media/music/album1/playlist.txt' -m 'sample1' -u 'http://siava.ru:8000/sample1' -d 'sample1 descr' -n 'blablabla1' -g 'test1' -b 192 -B
# ices -c '/usr/local/etc/ices.conf' -D '/media/music/' -F '/media/music/album2/playlist.txt' -m 'sample2' -u 'http://siava.ru:8000/sample2' -d 'sample2 descr' -n 'blablabla2' -g 'test2' -b 160 -B

таким образом, будут организованы 2 канала с музыкой.

Ну и конечно же, неплохо сделать так, чтобы ices запускался не под root'ом, как в примерах выше. Для этого можно завести отдельного пользователя, либо использовать пользователя icecast. Строка запуска ices немного изменится:

# su icecast -c "ices ..."

Всё представленное выше работает на данном сервере по адресу:  http://siava.ru:8000
Спасибо за внимание, надеюсь, статья кому-нибудь будет полезна. © Siava.Ru

Оригинал - http://siava.ru/forum/faq37.html
Я в этом не очень секу, поэтому исправляйте. Я думаю полезный фак.

Отредактировано tarasian666 (07-03-2011 20:55:00)

2

Re: Инструкция по установке и настройке Icecast и Ices под Linux

полезный... но... я вот думаю а как присобачить IceCast на юникс хостинг.... хотя различий в принципе не так уж много.

3

Re: Инструкция по установке и настройке Icecast и Ices под Linux

какие различия? ssh это вроде все что нужно

4

Re: Инструкция по установке и настройке Icecast и Ices под Linux

Мануал неплохой, даже хороший.
Автору респект. У меня есть похожий на английском.. smile

> WIKI.RADIOTALK.RU

Моментальное создание интернет-радио:
> Купить хостинг от SKYcast.ru


На личную почту не отвечаю, задавайте ваши вопросы на форуме.

5

Re: Инструкция по установке и настройке Icecast и Ices под Linux

а можно чуть подробнее узнать про установку? а то написано пара слов:
Установка библиотек
libmp3lame-3.97
# ./configure --prefix=/usr
# make && make install

не могу понять каким обрадом это выполнить

6

Re: Инструкция по установке и настройке Icecast и Ices под Linux

Блин, под винду есть Iсes?

7

Re: Инструкция по установке и настройке Icecast и Ices под Linux

Зачем? Под винду есть много другого софта.
http://www.icecast.org/3rdparty.php

> WIKI.RADIOTALK.RU

Моментальное создание интернет-радио:
> Купить хостинг от SKYcast.ru


На личную почту не отвечаю, задавайте ваши вопросы на форуме.

8

Re: Инструкция по установке и настройке Icecast и Ices под Linux

daskel пишет:

а можно чуть подробнее узнать про установку? а то написано пара слов:
Установка библиотек
libmp3lame-3.97
# ./configure --prefix=/usr
# make && make install

не могу понять каким обрадом это выполнить

Человек видимо писал сам для себя очевидные вещи.... которые простому обывателю не очевидны.... а вобще заметил .... тут люди пытаются зделать из простого радио какое то таинственное образование, в котором тока посвящённые люди что то соображают, однако думаю в наш век это не модно))) не надо делать из мухи слона, даже очень сложное дело можно объяснить прохожему на пальцах, смысл тогда какой в этой статье если её тока спецы понимают??
P.S. Зачем объяснять чайникам очевидно???? это очевидно, творческий человек мало разбирается в технических тонкостях но зделает ещё что то, что приятно будет слушать, чем у человека всё понимающего..... (хотя есть и исключения, где и там и там шарит))

RADIO-SET - это интернет портал посвящённый музыке и всему, что связано с ней. Наш проект это рабочая площадка дающая возможность начинающим талантливым музыкантам, диджеям и творческим людям сделать первые шаги и реализовать себя в мире медиа!
От организации танцевальных вечеринок до выпуска собственной музыки. Авторские программы, новости о клубной жизни городов России.
Мы открыты для всех 24 часа.
support@radio-set.ru
Веб-сайт: www.radio-set.ru

9

Re: Инструкция по установке и настройке Icecast и Ices под Linux

Тема называется "Инструкция по установке и настройке Icecast и Ices под Linux"
Что такое Linux? Ответит Wikipedia.

10

Re: Инструкция по установке и настройке Icecast и Ices под Linux

radioset пишет:
daskel пишет:

а можно чуть подробнее узнать про установку? а то написано пара слов:
Установка библиотек
libmp3lame-3.97
# ./configure --prefix=/usr
# make && make install

не могу понять каким обрадом это выполнить

Человек видимо писал сам для себя очевидные вещи.... которые простому обывателю не очевидны.... а вобще заметил .... тут люди пытаются зделать из простого радио какое то таинственное образование, в котором тока посвящённые люди что то соображают, однако думаю в наш век это не модно))) не надо делать из мухи слона, даже очень сложное дело можно объяснить прохожему на пальцах, смысл тогда какой в этой статье если её тока спецы понимают??
P.S. Зачем объяснять чайникам очевидно???? это очевидно, творческий человек мало разбирается в технических тонкостях но зделает ещё что то, что приятно будет слушать, чем у человека всё понимающего..... (хотя есть и исключения, где и там и там шарит))

реально, тема так написана что те кто поняли все и так все знали до того

11

Re: Инструкция по установке и настройке Icecast и Ices под Linux

а как насчет ices0 с aac+ ?
к примеру столкнулся с проблемой при компиляции error: mp4.h: No such file or directory
хотя все нужные пакеты установлены.

Features:                                                                                                        
  XML     : yes                                                                                                  
  Python  : yes                                                                                                  
  Perl    : no                                                                                                   
  LAME    : yes                                                                                                  
  Vorbis  : yes                                                                                                  
  MP4     : yes                                                                                                  
  FLAC    : yes

при сборке ошибки

in_mp4.c:32:17: error: mp4.h: No such file or directory
in_mp4.c:37: error: expected specifier-qualifier-list before ‘MP4FileHandle’
in_mp4.c: In function ‘ices_mp4_open’:
in_mp4.c:57: error: ‘MP4FileHandle’ undeclared (first use in this function)
in_mp4.c:57: error: (Each undeclared identifier is reported only once
in_mp4.c:57: error: for each function it appears in.)
in_mp4.c:57: error: expected ‘;’ before ‘mp4file’
in_mp4.c:58: error: ‘MP4TrackId’ undeclared (first use in this function)
in_mp4.c:58: error: expected ‘;’ before ‘track’
in_mp4.c:71: error: ‘mp4file’ undeclared (first use in this function)
in_mp4.c:71: warning: implicit declaration of function ‘MP4Read’
in_mp4.c:71: error: ‘MP4_INVALID_FILE_HANDLE’ undeclared (first use in this function)
in_mp4.c:75: error: ‘track’ undeclared (first use in this function)
in_mp4.c:75: error: ‘MP4_INVALID_TRACK_ID’ undeclared (first use in this function)
in_mp4.c:76: warning: implicit declaration of function ‘MP4GetNumberOfTracks’
in_mp4.c:76: error: ‘MP4_AUDIO_TRACK_TYPE’ undeclared (first use in this function)
in_mp4.c:78: warning: implicit declaration of function ‘MP4FindTrackId’
in_mp4.c:86: warning: implicit declaration of function ‘MP4GetTrackESConfiguration’
in_mp4.c:121: error: ‘mp4_in_t’ has no member named ‘mp4file’
in_mp4.c:122: error: ‘mp4_in_t’ has no member named ‘track’
in_mp4.c:123: error: ‘mp4_in_t’ has no member named ‘decoder’
in_mp4.c:124: error: ‘mp4_in_t’ has no member named ‘cur_sample’
in_mp4.c:130: warning: assignment from incompatible pointer type
in_mp4.c:138: warning: implicit declaration of function ‘MP4Close’
in_mp4.c: In function ‘ices_mp4_readpcm’:
in_mp4.c:157: warning: implicit declaration of function ‘MP4ReadSample’
in_mp4.c:157: error: ‘mp4_in_t’ has no member named ‘mp4file’
in_mp4.c:157: error: ‘mp4_in_t’ has no member named ‘track’
in_mp4.c:157: error: ‘mp4_in_t’ has no member named ‘cur_sample’
in_mp4.c:164: error: ‘mp4_in_t’ has no member named ‘decoder’
in_mp4.c: In function ‘ices_mp4_close’:
in_mp4.c:186: error: ‘mp4_in_t’ has no member named ‘decoder’
in_mp4.c:187: error: ‘mp4_in_t’ has no member named ‘mp4file’

Отредактировано tarasian666 (19-11-2009 19:45:06)

12

Re: Инструкция по установке и настройке Icecast и Ices под Linux

при выполнении комманды (Установка ices-0.4) ./configure --with-lame && make && make install съюза у меня сругалась could not find usable libshout.
Дистриб юзаю - openSUSE 10.3. пробовал на 11.0 - ситуация аналогичная

libxml2
libxslt
curl (>= version 7.10 required)
ogg/vorbis - (>= version 1.0 required)

выше указанные либы стоят..

плз. подскажите с чем это может быть связано и есть ли решение данной проблемы?

Отредактировано bizkit-leech (26-01-2010 16:54:16)

13

Re: Инструкция по установке и настройке Icecast и Ices под Linux

версии.. может не хавать даже если либы чуть новее

14

Re: Инструкция по установке и настройке Icecast и Ices под Linux

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

15

Re: Инструкция по установке и настройке Icecast и Ices под Linux

на всякий случай спрошу... либы стоят для разработчиков? (dev)

Отредактировано tarasian666 (26-01-2010 17:50:30)

16

Re: Инструкция по установке и настройке Icecast и Ices под Linux

tarasian666 пишет:

на всякий случай спрошу... либы стоят для разработчиков? (dev)

да

17

Re: Инструкция по установке и настройке Icecast и Ices под Linux

мне помогал ход конем... качать не либы а src нужной версии и собирать их тоже

Отредактировано tarasian666 (26-01-2010 17:58:37)

18

Re: Инструкция по установке и настройке Icecast и Ices под Linux

за ближайшие пару дней попробую пересобрать пакеты с либами, если не получится попробую icecast2 или другой дистриб но думаю что до этого не дойдёт

зы deadradio.kicks-ass.net - интересный прокет и контент. домой приду полушаю)

Отредактировано bizkit-leech (26-01-2010 18:02:47)

19

Re: Инструкция по установке и настройке Icecast и Ices под Linux

bizkit-leech пишет:

если не получится попробую icecast2 или другой дистриб но думаю что до этого не дойдёт

тут я чет не понял...
зьі спс )

20

Re: Инструкция по установке и настройке Icecast и Ices под Linux

libxml2
libxslt

какие версии данных либ лучше использовать? если есть возможность предоставить ссылку, буду весьма признателен..

21

Re: Инструкция по установке и настройке Icecast и Ices под Linux

а хз, поставил те что были в репозиториях )) (debian у меня)

22

Re: Инструкция по установке и настройке Icecast и Ices под Linux

объясните пожалуйста так чтобы даже дураку было понятно как установить ices! начнём с того что у меня есть сайт на хостинге и я хочу туда поставить ices но вот незнаю как и в какую папку! короче я скачал ices-0.4.tar.gz распаковал у себя на компе и куда мне теперь на хостинге перемещать содиржимое архива? нужны ли мне права админа хостинга или достаточно просто войти через фтп?

И да поможет мне F1,
И да сохранит меня F6,
Во имя Ctr'а, Alt'a и святого Delit'а.
Enter...

23

Re: Инструкция по установке и настройке Icecast и Ices под Linux

вам не просто веб хостинг надо, а как минимум vps
а потом подключится через ssh и собирать ices как в иснтрукции выше

Отредактировано tarasian666 (24-02-2010 11:58:56)

24

Re: Инструкция по установке и настройке Icecast и Ices под Linux

Админ хостинга мой друг и я могу его попросить установить ices но мне нужна подробная пошаговая инструкция так как он не имел дел связанных с радио.

И да поможет мне F1,
И да сохранит меня F6,
Во имя Ctr'а, Alt'a и святого Delit'а.
Enter...

25

Re: Инструкция по установке и настройке Icecast и Ices под Linux

инструкция в начале темы. Здесь не с радио связано, а с умением собирать "сырцы"