В предыдущей статье я уже упоминал о создании своего интернет радио, и вот руки дошли написать о том как же его создать. Как оказалось это не так уж и сложно.
Т.З.:
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