Установка Интернет радио на Ubuntu Server

В предыдущей статье я уже упоминал о создании своего интернет радио, и вот руки дошли написать о том как же его создать. Как оказалось это не так уж и сложно.

Т.З.:
1)Собрать Интернет радио на основе IceCast2 и Ices
2)Научить все это дело воспроизводить mp3

Итак прежде чем устанавливать IceCast2, нам нужны некоторые библиотеки:
libshout-dev
libmp3lame-dev
libxml2-dev
К счастью они есть в репозитории и их можно установить одной командой

<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get install</span> libshout-dev libmp3lame-dev libxml2-dev

За собой оно потащат зависимостей примерно на 50МБ

После установки всех нужных библиотек нужно приступать к установке Ices. К сожалению его нет в репозитории, поэтому будем его собирать вручную.

<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>downloads.us.xiph.org<span style="color: #000000; font-weight: bold;">/</span>releases<span style="color: #000000; font-weight: bold;">/</span>ices<span style="color: #000000; font-weight: bold;">/</span>ices-<span style="color: #000000;">0.4</span>.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-zxvf</span> ices-<span style="color: #000000;">0.4</span>.tar.gz
<span style="color: #7a0874; font-weight: bold;">cd</span> ices-<span style="color: #000000;">0.4</span>
.<span style="color: #000000; font-weight: bold;">/</span>configure
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span>

К сожалению у меня не сразу получилось откомпилировать пакет, потому что не было установлено какого то нужного пакета или библиотеки, я доустановил пакет build-essentional и все откомпилировалось

<span style="color: #c20cb9; font-weight: bold;">apt-get install</span> build-essentional

Далее установим IceCast2 Server, он есть в репозитории, поэтому просто напишем команду

<span style="color: #c20cb9; font-weight: bold;">apt-get install</span> icecast2

Теперь у нас все что надо установлено, осталось только настроить.

1) Настройка IceCast2
Конфиг его храниться тут /etc/icecast2/icecast.xml
Содержание его такое(я убрал их комментарии и вставил свои)

<span style="color: #000000; font-weight: bold;"><</span>icecast<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>limits<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>clients<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">100</span><span style="color: #000000; font-weight: bold;"></</span>clients<span style="color: #000000; font-weight: bold;">><!</span>-- Количество клиентов --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>sources<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>sources<span style="color: #000000; font-weight: bold;">><!</span>-- Количество одновременных каналов вещания --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>threadpool<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">5</span><span style="color: #000000; font-weight: bold;"></</span>threadpool<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>queue-size<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">524288</span><span style="color: #000000; font-weight: bold;"></</span>queue-size<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>client-timeout<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">30</span><span style="color: #000000; font-weight: bold;"></</span>client-timeout<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>header-timeout<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">15</span><span style="color: #000000; font-weight: bold;"></</span>header-timeout<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>source-timeout<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">10</span><span style="color: #000000; font-weight: bold;"></</span>source-timeout<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>burst-on-connect<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>burst-on-connect<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>burst-size<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">65535</span><span style="color: #000000; font-weight: bold;"></</span>burst-size<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>limits<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>authentication<span style="color: #000000; font-weight: bold;">><!</span>-- В этой секции настраиваются пароли админа, ведущих и релай --<span style="color: #000000; font-weight: bold;">></span>	
        <span style="color: #000000; font-weight: bold;"><</span>source-password<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">54321</span><span style="color: #000000; font-weight: bold;"></</span>source-password<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Пароль для ведущих  --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>relay-password<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">123456</span><span style="color: #000000; font-weight: bold;"></</span>relay-password<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Пароль для релая --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>admin-user<span style="color: #000000; font-weight: bold;">></span>admin<span style="color: #000000; font-weight: bold;"></</span>admin-user<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Логин админа --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>admin-password<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">12345</span><span style="color: #000000; font-weight: bold;"></</span>admin-password<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Пароль админа --<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>authentication<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span><span style="color: #c20cb9; font-weight: bold;">hostname</span><span style="color: #000000; font-weight: bold;">></span>localhost<span style="color: #000000; font-weight: bold;"></</span><span style="color: #c20cb9; font-weight: bold;">hostname</span><span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Настройка адреса сервера IP или домен --<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>listen-socket<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>port<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">8000</span><span style="color: #000000; font-weight: bold;"></</span>port<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>listen-socket<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>fileserve<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>fileserve<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>paths<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>basedir<span style="color: #000000; font-weight: bold;">>/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>icecast2<span style="color: #000000; font-weight: bold;"></</span>basedir<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>logdir<span style="color: #000000; font-weight: bold;">>/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>icecast2<span style="color: #000000; font-weight: bold;"></</span>logdir<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>webroot<span style="color: #000000; font-weight: bold;">>/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>icecast2<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;"></</span>webroot<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>adminroot<span style="color: #000000; font-weight: bold;">>/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>icecast2<span style="color: #000000; font-weight: bold;">/</span>admin<span style="color: #000000; font-weight: bold;"></</span>adminroot<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">source</span>=<span style="color: #ff0000;">"/"</span> <span style="color: #007800;">dest</span>=<span style="color: #ff0000;">"/status.xsl"</span><span style="color: #000000; font-weight: bold;">/></span>
    <span style="color: #000000; font-weight: bold;"></</span>paths<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>logging<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>accesslog<span style="color: #000000; font-weight: bold;">></span>access.log<span style="color: #000000; font-weight: bold;"></</span>accesslog<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>errorlog<span style="color: #000000; font-weight: bold;">></span>error.log<span style="color: #000000; font-weight: bold;"></</span>errorlog<span style="color: #000000; font-weight: bold;">></span>
      	<span style="color: #000000; font-weight: bold;"><</span>loglevel<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">3</span><span style="color: #000000; font-weight: bold;"></</span>loglevel<span style="color: #000000; font-weight: bold;">></span>
      	<span style="color: #000000; font-weight: bold;"><</span>logsize<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">10000</span><span style="color: #000000; font-weight: bold;"></</span>logsize<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>logging<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>security<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span><span style="color: #c20cb9; font-weight: bold;">chroot</span><span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;"></</span><span style="color: #c20cb9; font-weight: bold;">chroot</span><span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>security<span style="color: #000000; font-weight: bold;">></span>
<span style="color: #000000; font-weight: bold;"></</span>icecast<span style="color: #000000; font-weight: bold;">></span>

Теперь можно попробовать запустить наш сервер, делается это командой

service icecast2 start

Если у вас возникла ошибка:
Icecast2 daemon disabled – read /etc/default/icecast2
то надо просто в файле /etc/default/icecast2
исправить параметр enable=true
И потом попробовать заново запустить.
Если все сделано правильно, то можно попробовать зайти на localhost(или ip адрес):8000

2) Настройка Ices
Конфиг его лежит тут /usr/local/etc/ices.conf.dist, но его надо либо скопировать либо переименовать в ices.conf
Вот его содержание с моими комментариями

<span style="color: #000000; font-weight: bold;"><</span>?xml <span style="color: #007800;">version</span>=<span style="color: #ff0000;">"1.0"</span>?<span style="color: #000000; font-weight: bold;">></span>
<span style="color: #000000; font-weight: bold;"><</span>ices:Configuration xmlns:<span style="color: #007800;">ices</span>=<span style="color: #ff0000;">"http://www.icecast.org/projects/ices"</span><span style="color: #000000; font-weight: bold;">></span>
  <span style="color: #000000; font-weight: bold;"><</span>Playlist<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>File<span style="color: #000000; font-weight: bold;">>/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>playlist.lst<span style="color: #000000; font-weight: bold;"></</span>File<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Randomize<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>Randomize<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Настройка перемешивания треков, <span style="color: #000000;">1</span> – перемешивать <span style="color: #000000;">0</span> – играть по порядку --<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Type<span style="color: #000000; font-weight: bold;">></span><span style="color: #7a0874; font-weight: bold;">builtin</span><span style="color: #000000; font-weight: bold;"></</span>Type<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Module<span style="color: #000000; font-weight: bold;">></span>ices<span style="color: #000000; font-weight: bold;"></</span>Module<span style="color: #000000; font-weight: bold;">></span>
  <span style="color: #000000; font-weight: bold;"></</span>Playlist<span style="color: #000000; font-weight: bold;">></span>
 
  <span style="color: #000000; font-weight: bold;"><</span>Execution<span style="color: #000000; font-weight: bold;">></span>

В предыдущей статье я уже упоминал о создании своего интернет радио, и вот руки дошли написать о том как же его создать. Как оказалось это не так уж и сложно.

Т.З.:
1)Собрать Интернет радио на основе IceCast2 и Ices
2)Научить все это дело воспроизводить mp3

Итак прежде чем устанавливать IceCast2, нам нужны некоторые библиотеки:
libshout-dev
libmp3lame-dev
libxml2-dev
К счастью они есть в репозитории и их можно установить одной командой

<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get install</span> libshout-dev libmp3lame-dev libxml2-dev

За собой оно потащат зависимостей примерно на 50МБ

После установки всех нужных библиотек нужно приступать к установке Ices. К сожалению его нет в репозитории, поэтому будем его собирать вручную.

<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>downloads.us.xiph.org<span style="color: #000000; font-weight: bold;">/</span>releases<span style="color: #000000; font-weight: bold;">/</span>ices<span style="color: #000000; font-weight: bold;">/</span>ices-<span style="color: #000000;">0.4</span>.tar.gz
<span style="color: #c20cb9; font-weight: bold;">tar</span> <span style="color: #660033;">-zxvf</span> ices-<span style="color: #000000;">0.4</span>.tar.gz
<span style="color: #7a0874; font-weight: bold;">cd</span> ices-<span style="color: #000000;">0.4</span>
.<span style="color: #000000; font-weight: bold;">/</span>configure
<span style="color: #c20cb9; font-weight: bold;">make</span>
<span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span>

К сожалению у меня не сразу получилось откомпилировать пакет, потому что не было установлено какого то нужного пакета или библиотеки, я доустановил пакет build-essentional и все откомпилировалось

<span style="color: #c20cb9; font-weight: bold;">apt-get install</span> build-essentional

Далее установим IceCast2 Server, он есть в репозитории, поэтому просто напишем команду

<span style="color: #c20cb9; font-weight: bold;">apt-get install</span> icecast2

Теперь у нас все что надо установлено, осталось только настроить.

1) Настройка IceCast2
Конфиг его храниться тут /etc/icecast2/icecast.xml
Содержание его такое(я убрал их комментарии и вставил свои)

<span style="color: #000000; font-weight: bold;"><</span>icecast<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>limits<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>clients<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">100</span><span style="color: #000000; font-weight: bold;"></</span>clients<span style="color: #000000; font-weight: bold;">><!</span>-- Количество клиентов --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>sources<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>sources<span style="color: #000000; font-weight: bold;">><!</span>-- Количество одновременных каналов вещания --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>threadpool<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">5</span><span style="color: #000000; font-weight: bold;"></</span>threadpool<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>queue-size<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">524288</span><span style="color: #000000; font-weight: bold;"></</span>queue-size<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>client-timeout<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">30</span><span style="color: #000000; font-weight: bold;"></</span>client-timeout<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>header-timeout<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">15</span><span style="color: #000000; font-weight: bold;"></</span>header-timeout<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>source-timeout<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">10</span><span style="color: #000000; font-weight: bold;"></</span>source-timeout<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>burst-on-connect<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>burst-on-connect<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>burst-size<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">65535</span><span style="color: #000000; font-weight: bold;"></</span>burst-size<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>limits<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>authentication<span style="color: #000000; font-weight: bold;">><!</span>-- В этой секции настраиваются пароли админа, ведущих и релай --<span style="color: #000000; font-weight: bold;">></span>	
        <span style="color: #000000; font-weight: bold;"><</span>source-password<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">54321</span><span style="color: #000000; font-weight: bold;"></</span>source-password<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Пароль для ведущих  --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>relay-password<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">123456</span><span style="color: #000000; font-weight: bold;"></</span>relay-password<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Пароль для релая --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>admin-user<span style="color: #000000; font-weight: bold;">></span>admin<span style="color: #000000; font-weight: bold;"></</span>admin-user<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Логин админа --<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>admin-password<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">12345</span><span style="color: #000000; font-weight: bold;"></</span>admin-password<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Пароль админа --<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>authentication<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span><span style="color: #c20cb9; font-weight: bold;">hostname</span><span style="color: #000000; font-weight: bold;">></span>localhost<span style="color: #000000; font-weight: bold;"></</span><span style="color: #c20cb9; font-weight: bold;">hostname</span><span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Настройка адреса сервера IP или домен --<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>listen-socket<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>port<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">8000</span><span style="color: #000000; font-weight: bold;"></</span>port<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>listen-socket<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>fileserve<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>fileserve<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>paths<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>basedir<span style="color: #000000; font-weight: bold;">>/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>icecast2<span style="color: #000000; font-weight: bold;"></</span>basedir<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>logdir<span style="color: #000000; font-weight: bold;">>/</span>var<span style="color: #000000; font-weight: bold;">/</span>log<span style="color: #000000; font-weight: bold;">/</span>icecast2<span style="color: #000000; font-weight: bold;"></</span>logdir<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>webroot<span style="color: #000000; font-weight: bold;">>/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>icecast2<span style="color: #000000; font-weight: bold;">/</span>web<span style="color: #000000; font-weight: bold;"></</span>webroot<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>adminroot<span style="color: #000000; font-weight: bold;">>/</span>usr<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>icecast2<span style="color: #000000; font-weight: bold;">/</span>admin<span style="color: #000000; font-weight: bold;"></</span>adminroot<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span><span style="color: #7a0874; font-weight: bold;">alias</span> <span style="color: #007800;">source</span>=<span style="color: #ff0000;">"/"</span> <span style="color: #007800;">dest</span>=<span style="color: #ff0000;">"/status.xsl"</span><span style="color: #000000; font-weight: bold;">/></span>
    <span style="color: #000000; font-weight: bold;"></</span>paths<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>logging<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>accesslog<span style="color: #000000; font-weight: bold;">></span>access.log<span style="color: #000000; font-weight: bold;"></</span>accesslog<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span>errorlog<span style="color: #000000; font-weight: bold;">></span>error.log<span style="color: #000000; font-weight: bold;"></</span>errorlog<span style="color: #000000; font-weight: bold;">></span>
      	<span style="color: #000000; font-weight: bold;"><</span>loglevel<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">3</span><span style="color: #000000; font-weight: bold;"></</span>loglevel<span style="color: #000000; font-weight: bold;">></span>
      	<span style="color: #000000; font-weight: bold;"><</span>logsize<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">10000</span><span style="color: #000000; font-weight: bold;"></</span>logsize<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>logging<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>security<span style="color: #000000; font-weight: bold;">></span>
        <span style="color: #000000; font-weight: bold;"><</span><span style="color: #c20cb9; font-weight: bold;">chroot</span><span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;"></</span><span style="color: #c20cb9; font-weight: bold;">chroot</span><span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>security<span style="color: #000000; font-weight: bold;">></span>
<span style="color: #000000; font-weight: bold;"></</span>icecast<span style="color: #000000; font-weight: bold;">></span>

Теперь можно попробовать запустить наш сервер, делается это командой

service icecast2 start

Если у вас возникла ошибка:
Icecast2 daemon disabled – read /etc/default/icecast2
то надо просто в файле /etc/default/icecast2
исправить параметр enable=true
И потом попробовать заново запустить.
Если все сделано правильно, то можно попробовать зайти на localhost(или ip адрес):8000

2) Настройка Ices
Конфиг его лежит тут /usr/local/etc/ices.conf.dist, но его надо либо скопировать либо переименовать в ices.conf
Вот его содержание с моими комментариями

<span style="color: #000000; font-weight: bold;"><</span>?xml <span style="color: #007800;">version</span>=<span style="color: #ff0000;">"1.0"</span>?<span style="color: #000000; font-weight: bold;">></span>
<span style="color: #000000; font-weight: bold;"><</span>ices:Configuration xmlns:<span style="color: #007800;">ices</span>=<span style="color: #ff0000;">"http://www.icecast.org/projects/ices"</span><span style="color: #000000; font-weight: bold;">></span>
  <span style="color: #000000; font-weight: bold;"><</span>Playlist<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>File<span style="color: #000000; font-weight: bold;">>/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>playlist.lst<span style="color: #000000; font-weight: bold;"></</span>File<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Randomize<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>Randomize<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Настройка перемешивания треков, <span style="color: #000000;">1</span> – перемешивать <span style="color: #000000;">0</span> – играть по порядку --<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Type<span style="color: #000000; font-weight: bold;">></span><span style="color: #7a0874; font-weight: bold;">builtin</span><span style="color: #000000; font-weight: bold;"></</span>Type<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Module<span style="color: #000000; font-weight: bold;">></span>ices<span style="color: #000000; font-weight: bold;"></</span>Module<span style="color: #000000; font-weight: bold;">></span>
  <span style="color: #000000; font-weight: bold;"></</span>Playlist<span style="color: #000000; font-weight: bold;">></span>
 
  <span style="color: #000000; font-weight: bold;"><</span>Execution<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Background<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>Background<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- <span style="color: #000000;">1</span>-запуск как демон --<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Verbose<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;"></</span>Verbose<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>BaseDirectory<span style="color: #000000; font-weight: bold;">>/</span>tmp<span style="color: #000000; font-weight: bold;"></</span>BaseDirectory<span style="color: #000000; font-weight: bold;">></span>
  <span style="color: #000000; font-weight: bold;"></</span>Execution<span style="color: #000000; font-weight: bold;">></span>
 
  <span style="color: #000000; font-weight: bold;"><</span>Stream<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Server<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Настройки подключения к серверу --<span style="color: #000000; font-weight: bold;">></span>
      <span style="color: #000000; font-weight: bold;"><</span>Hostname<span style="color: #000000; font-weight: bold;">></span>localhost<span style="color: #000000; font-weight: bold;"></</span>Hostname<span style="color: #000000; font-weight: bold;">></span>
      <span style="color: #000000; font-weight: bold;"><</span>Port<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">8000</span><span style="color: #000000; font-weight: bold;"></</span>Port<span style="color: #000000; font-weight: bold;">></span>
      <span style="color: #000000; font-weight: bold;"><</span>Password<span style="color: #000000; font-weight: bold;">></span>muglzln<span style="color: #000000; font-weight: bold;"></</span>Password<span style="color: #000000; font-weight: bold;">></span>
      <span style="color: #000000; font-weight: bold;"><</span>Protocol<span style="color: #000000; font-weight: bold;">></span>http<span style="color: #000000; font-weight: bold;"></</span>Protocol<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"></</span>Server<span style="color: #000000; font-weight: bold;">></span>
 
    <span style="color: #000000; font-weight: bold;"><</span>Mountpoint<span style="color: #000000; font-weight: bold;">>/</span>first<span style="color: #000000; font-weight: bold;"></</span>Mountpoint<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Name<span style="color: #000000; font-weight: bold;">></span>MyFirstStream<span style="color: #000000; font-weight: bold;"></</span>Name<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Название канала --<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Genre<span style="color: #000000; font-weight: bold;">></span>Unknow<span style="color: #000000; font-weight: bold;"></</span>Genre<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Жарн --<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Description<span style="color: #000000; font-weight: bold;">></span>This is my first channel<span style="color: #000000; font-weight: bold;"></</span>Description<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Описание --<span style="color: #000000; font-weight: bold;">></span> 
    <span style="color: #000000; font-weight: bold;"><</span>URL<span style="color: #000000; font-weight: bold;">></span>http:<span style="color: #000000; font-weight: bold;">//</span>localhost<span style="color: #000000; font-weight: bold;">/</</span>URL<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Public<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>Public<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Bitrate<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">128</span><span style="color: #000000; font-weight: bold;"></</span>Bitrate<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Настройка битрейта --<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Reencode<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;"></</span>Reencode<span style="color: #000000; font-weight: bold;">></span>
    <span style="color: #000000; font-weight: bold;"><</span>Channels<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>Channels<span style="color: #000000; font-weight: bold;">></span>
  <span style="color: #000000; font-weight: bold;"></</span>Stream<span style="color: #000000; font-weight: bold;">></span>
<span style="color: #000000; font-weight: bold;"></</span>ices:Configuration<span style="color: #000000; font-weight: bold;">></span>

Теперь осталось только создать плей-лист
Предположим у вас есть каталог с mp3, например тут /mnt/share/mp3

<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>mnt
<span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>mp3 <span style="color: #000000; font-weight: bold;">></span> playlist.lst

Теперь запускаем Ices

ices <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ices.conf

Если не запускается, то можно использовать

ices

Если вы оставили конфиг как в примере, то чтобы услышать музыку нужно зайти http://localhost(либо IP или домен):8000/first.m3u

Осталось только автозапуск ices замутить, я сделал это так
в /etc/rc.local добавил строку перед exit 0
/usr/local/bin/ices
перезагрузил и все заработало!!!

<span style="color: #000000; font-weight: bold;"><</span>Background<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>Background<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- <span style="color: #000000;">1</span>-запуск как демон --<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Verbose<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;"></</span>Verbose<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>BaseDirectory<span style="color: #000000; font-weight: bold;">>/</span>tmp<span style="color: #000000; font-weight: bold;"></</span>BaseDirectory<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"></</span>Execution<span style="color: #000000; font-weight: bold;">></span>   <span style="color: #000000; font-weight: bold;"><</span>Stream<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Server<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Настройки подключения к серверу --<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Hostname<span style="color: #000000; font-weight: bold;">></span>localhost<span style="color: #000000; font-weight: bold;"></</span>Hostname<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Port<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">8000</span><span style="color: #000000; font-weight: bold;"></</span>Port<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Password<span style="color: #000000; font-weight: bold;">></span>muglzln<span style="color: #000000; font-weight: bold;"></</span>Password<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Protocol<span style="color: #000000; font-weight: bold;">></span>http<span style="color: #000000; font-weight: bold;"></</span>Protocol<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"></</span>Server<span style="color: #000000; font-weight: bold;">></span>   <span style="color: #000000; font-weight: bold;"><</span>Mountpoint<span style="color: #000000; font-weight: bold;">>/</span>first<span style="color: #000000; font-weight: bold;"></</span>Mountpoint<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Name<span style="color: #000000; font-weight: bold;">></span>MyFirstStream<span style="color: #000000; font-weight: bold;"></</span>Name<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Название канала --<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Genre<span style="color: #000000; font-weight: bold;">></span>Unknow<span style="color: #000000; font-weight: bold;"></</span>Genre<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Жарн --<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Description<span style="color: #000000; font-weight: bold;">></span>This is my first channel<span style="color: #000000; font-weight: bold;"></</span>Description<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Описание --<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>URL<span style="color: #000000; font-weight: bold;">></span>http:<span style="color: #000000; font-weight: bold;">//</span>localhost<span style="color: #000000; font-weight: bold;">/</</span>URL<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Public<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>Public<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Bitrate<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">128</span><span style="color: #000000; font-weight: bold;"></</span>Bitrate<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><!</span>-- Настройка битрейта --<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Reencode<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;"></</span>Reencode<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"><</span>Channels<span style="color: #000000; font-weight: bold;">></span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;"></</span>Channels<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"></</span>Stream<span style="color: #000000; font-weight: bold;">></span> <span style="color: #000000; font-weight: bold;"></</span>ices:Configuration<span style="color: #000000; font-weight: bold;">></span>

Теперь осталось только создать плей-лист
Предположим у вас есть каталог с mp3, например тут /mnt/share/mp3

<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>mnt
<span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #000000; font-weight: bold;">/</span>mnt<span style="color: #000000; font-weight: bold;">/</span>share<span style="color: #000000; font-weight: bold;">/</span>mp3 <span style="color: #000000; font-weight: bold;">></span> playlist.lst

Теперь запускаем Ices

ices <span style="color: #660033;">-c</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>ices.conf

Если не запускается, то можно использовать

ices

Если вы оставили конфиг как в примере, то чтобы услышать музыку нужно зайти http://localhost(либо IP или домен):8000/first.m3u

Осталось только автозапуск ices замутить, я сделал это так
в /etc/rc.local добавил строку перед exit 0
/usr/local/bin/ices
перезагрузил и все заработало!!!

Источник http://networkcomp.ru/?p=256

Запись опубликована в рубрике *Ubuntu. Добавьте в закладки постоянную ссылку.

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

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

Я не спамер This plugin created by Alexei91