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

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

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

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

sudo apt-get install libshout-dev libmp3lame-dev libxml2-dev

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

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

wget http://downloads.us.xiph.org/releases/ices/ices-0.4.tar.gz
tar -zxvf ices-0.4.tar.gz
cd ices-0.4
./configure
make
make install

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

apt-get install build-essentional

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

apt-get install icecast2

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

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

<icecast>
    <limits>
        <clients>100clients>-- Количество клиентов -->
        <sources>1sources>-- Количество одновременных каналов вещания -->
        <threadpool>5threadpool>
        <queue-size>524288queue-size>
        <client-timeout>30client-timeout>
        <header-timeout>15header-timeout>
        <source-timeout>10source-timeout>
        <burst-on-connect>1burst-on-connect>
        <burst-size>65535burst-size>
    limits>
 
    <authentication>-- В этой секции настраиваются пароли админа, ведущих и релай -->	
        <source-password>54321source-password> -- Пароль для ведущих  -->
        <relay-password>123456relay-password> -- Пароль для релая -->
        <admin-user>adminadmin-user> -- Логин админа -->
        <admin-password>12345admin-password> -- Пароль админа -->
    authentication>
 
    <hostname>localhosthostname> -- Настройка адреса сервера IP или домен -->
 
    <listen-socket>
        <port>8000port>
    listen-socket>
 
    <fileserve>1fileserve>
 
    <paths>
        <basedir>/usr/share/icecast2basedir>
        <logdir>/var/log/icecast2logdir>
        <webroot>/usr/share/icecast2/webwebroot>
        <adminroot>/usr/share/icecast2/adminadminroot>
        <alias source="/" dest="/status.xsl"/>
    paths>
 
    <logging>
        <accesslog>access.logaccesslog>
        <errorlog>error.logerrorlog>
      	<loglevel>3loglevel>
      	<logsize>10000logsize>
    logging>
 
    <security>
        <chroot>0chroot>
    security>
icecast>

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

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
Вот его содержание с моими комментариями

<?xml version="1.0"?>
<ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">
  <Playlist>
    <File>/mnt/playlist.lstFile>
    <Randomize>1Randomize> -- Настройка перемешивания треков, 1 – перемешивать 0 – играть по порядку -->
    <Type>builtinType>
    <Module>icesModule>
  Playlist>
 
  <Execution>

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

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

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

sudo apt-get install libshout-dev libmp3lame-dev libxml2-dev

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

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

wget http://downloads.us.xiph.org/releases/ices/ices-0.4.tar.gz
tar -zxvf ices-0.4.tar.gz
cd ices-0.4
./configure
make
make install

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

apt-get install build-essentional

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

apt-get install icecast2

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

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

<icecast>
    <limits>
        <clients>100clients>-- Количество клиентов -->
        <sources>1sources>-- Количество одновременных каналов вещания -->
        <threadpool>5threadpool>
        <queue-size>524288queue-size>
        <client-timeout>30client-timeout>
        <header-timeout>15header-timeout>
        <source-timeout>10source-timeout>
        <burst-on-connect>1burst-on-connect>
        <burst-size>65535burst-size>
    limits>
 
    <authentication>-- В этой секции настраиваются пароли админа, ведущих и релай -->	
        <source-password>54321source-password> -- Пароль для ведущих  -->
        <relay-password>123456relay-password> -- Пароль для релая -->
        <admin-user>adminadmin-user> -- Логин админа -->
        <admin-password>12345admin-password> -- Пароль админа -->
    authentication>
 
    <hostname>localhosthostname> -- Настройка адреса сервера IP или домен -->
 
    <listen-socket>
        <port>8000port>
    listen-socket>
 
    <fileserve>1fileserve>
 
    <paths>
        <basedir>/usr/share/icecast2basedir>
        <logdir>/var/log/icecast2logdir>
        <webroot>/usr/share/icecast2/webwebroot>
        <adminroot>/usr/share/icecast2/adminadminroot>
        <alias source="/" dest="/status.xsl"/>
    paths>
 
    <logging>
        <accesslog>access.logaccesslog>
        <errorlog>error.logerrorlog>
      	<loglevel>3loglevel>
      	<logsize>10000logsize>
    logging>
 
    <security>
        <chroot>0chroot>
    security>
icecast>

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

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
Вот его содержание с моими комментариями

<?xml version="1.0"?>
<ices:Configuration xmlns:ices="http://www.icecast.org/projects/ices">
  <Playlist>
    <File>/mnt/playlist.lstFile>
    <Randomize>1Randomize> -- Настройка перемешивания треков, 1 – перемешивать 0 – играть по порядку -->
    <Type>builtinType>
    <Module>icesModule>
  Playlist>
 
  <Execution>
    <Background>1Background> -- 1-запуск как демон -->
    <Verbose>0Verbose>
    <BaseDirectory>/tmpBaseDirectory>
  Execution>
 
  <Stream>
    <Server> -- Настройки подключения к серверу -->
      <Hostname>localhostHostname>
      <Port>8000Port>
      <Password>muglzlnPassword>
      <Protocol>httpProtocol>
    Server>
 
    <Mountpoint>/firstMountpoint>
    <Name>MyFirstStreamName> -- Название канала -->
    <Genre>UnknowGenre> -- Жарн -->
    <Description>This is my first channelDescription> -- Описание --> 
    <URL>http://localhost/URL>
    <Public>1Public>
    <Bitrate>128Bitrate> -- Настройка битрейта -->
    <Reencode>0Reencode>
    <Channels>1Channels>
  Stream>
ices:Configuration>

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

cd /mnt
ls /mnt/share/mp3 > playlist.lst

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

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

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

ices

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

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

<Background>1Background> -- 1-запуск как демон --> <Verbose>0Verbose> <BaseDirectory>/tmpBaseDirectory> Execution>   <Stream> <Server> -- Настройки подключения к серверу --> <Hostname>localhostHostname> <Port>8000Port> <Password>muglzlnPassword> <Protocol>httpProtocol> Server>   <Mountpoint>/firstMountpoint> <Name>MyFirstStreamName> -- Название канала --> <Genre>UnknowGenre> -- Жарн --> <Description>This is my first channelDescription> -- Описание --> <URL>http://localhost/URL> <Public>1Public> <Bitrate>128Bitrate> -- Настройка битрейта --> <Reencode>0Reencode> <Channels>1Channels> Stream> ices:Configuration>

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

cd /mnt
ls /mnt/share/mp3 > playlist.lst

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

ices -c /usr/local/etc/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. Добавьте в закладки постоянную ссылку.

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

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

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