Настройка радиотрансляций, icecast2 - сервер, radioboss - источник

настройка icecast2Для одного из администрируемых серверов встала следующая задача: организовать радиотранляцию с офисного компьютера, на веб сервере, расположенном в дата центре. Для реализации было решено использовать icecast2 в качестве серверной стороны, на офисном компьютере используется программа radioboss.

На сервере установлена операционная система Debian 7.

Устанавливаем icecast2:

root@host:/# apt-get install icecast2 

При установке будет создан пользователь icecast2 и группа icecast.
Конфигурация icecast2 хранится в xml файле, расположение по умолчанию /etc/icecast2/icecast.xml.
Для начала проверяем файл /etc/default/icecast2, приводим его к такому виду:

CONFIGFILE="/etc/icecast2/icecast.xml" # Файл конфигурации icecast2
USERID=icecast2 # Пользователь
GROUPID=icecast # Группа
ENABLE=true # icacast2 включен

Теперь подправим основной файл конфигурации icecast, если опустить все что осталось закомментированным, получилось следующее:

  1. <icecast>
  2.     <limits> <span># Настройки лимитов</span>
  3.         <clients>100</clients># Количество одновременно обслуживаемых клиентов для всего сервера icacast2
  4.         <sources>2</sources> # Количество одновременно подключенных источников, включая релеи и клиентов-источников
  5.         <threadpool>5</threadpool> # Количество стартующих тредов
  6.         <queue-size>524288</queue-size> # Длина очереди потока в байтах
  7.         <source-timeout>10</source-timeout> # Время ожидания данных от источника
  8.         <burst-on-connect>1</burst-on-connect>
  9.         <burst-size>65535</burst-size>
  10.     </limits>
  11.  
  12.     <authentication>
  13.         <source-password>source_pass</source-password> # Пароль для источника
  14.         <relay-password>relay_pass</relay-password> # Пароль релея
  15.         <admin-user>admin</admin-user> # Имя для авторизации в панели администратора
  16.         <admin-password>admin_pass</admin-password> # Пароль авторизации в панели администратора
  17.     </authentication>
  18.  
  19.     <hostname>radio.domain.com</hostname> 
  20.  
  21.     <listen-socket>
  22.         <port>8000</port> # Порт на котором будет работать icecast2
  23.         <bind-address>IP_ADDR</bind-address> # IP адрес сервера
  24.         <shoutcast-mount>/radio.mp3</shoutcast-mount> # Точка монтирования потока
  25.     </listen-socket>
  26.  
  27.     <fileserve>1</fileserve>
  28.  
  29.     <paths> # Настройка путей
  30.         <basedir>/usr/share/icecast2</basedir> 
  31.         <logdir>/var/log/icecast2</logdir>
  32.         <webroot>/usr/share/icecast2/web</webroot>
  33.         <adminroot>/usr/share/icecast2/admin</adminroot>
  34.         <alias source="/" dest="/status.xsl"/>
  35.     </paths>
  36.  
  37.     <logging>
  38.         <accesslog>access.log</accesslog>
  39.         <errorlog>error.log</errorlog>
  40.         <loglevel>3</loglevel> # Уровень логгирования  4 - Debug, 3 - Info, 2 - Warn, 1 - Error
  41.     </logging>
  42.  
  43.     <security>
  44.         <chroot>0</chroot>
  45.         <changeowner>
  46.             <user>icecast2</user>
  47.             <group>icecast</group>
  48.         </changeowner>
  49.     </security>
  50. </icecast>

Можно запускать:

root@host:/# /etc/init.d/icecast2 start

проверяем, что icecast занял прописанный ему адрес/порт

root@host:/# netstat -tupln | grep 8000
tcp        0      0 IP_ADDR:8000        0.0.0.0:*               LISTEN      2527/icecast2

как видно, все запустилось, все на месте, если что-то пошло не так, проверяем логи icecast2, /var/log/icecast2/error.log. Если проблем с запуском не возникло, можно зайти в админку icecast2, набрав в браузере соответствующие адрес:порт. Для авторизации в административной части, используем имя и пароль из нашего файла конфигурации, в данном случае:
admin
admin_pass

Обратите внимание, точка монтирования, указанная в конфиге, /radio.mp3, будет создана только когда мы запустим трансляцию на офисном компьютере.

Теперь вскользь по настройкам источника в radioboss ( на рабочей машине лицензионная версия программы, для экспериментов можно заюзать и портабл ), Тут все довольно просто

настройка источника в radioboss

  1. Включаем радиовещаение
  2. Адрес и порт сервера с точкой монтирования
  3. Пароль, который мы прописали в секции source-password
  4. Формат вещания
  5. Битрейт

С добавлением файлов в список вещания и нажатием кнопки play, думаю проблем ни у кого не возникнет ).

Осталось закинуть на сервер какой-нибудь плеер, приведу свой тестовый файл, с указанием источника аудиопотока для плеера

  1. <head>
  2. <title>test radio</title>
  3. </head>
  4. <body>
  5. <div>
  6. <object id="audioplayer1" data="http://radio.domain.com/player.swf" type="application/x-shockwave-flash" height="24" width="290">
  7. <param name="FlashVars" value="playerID=1&amp;soundFile=http://IP_ADDR:8000/radio.mp3"> 
  8. <param name="quality" value="high">
  9. <param name="wmode" value="transparent">
  10. </object>
  11. </div>
  12. </body>

Собственно на этом все.
Естественно это довольно упрощенный вариант, но принцип думаю понятен.

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
Регистр имеет значение
   .oooooo.    oooooo   oooooo     oooo  ooooooo  ooooo  ooooooooo.    ooooooooo.               
d8P' `Y8b `888. `888. .8' `8888 d8' `888 `Y88. `888 `Y88.
888 `888. .8888. .8' Y888..8P 888 .d88' 888 .d88' oooooooo
888 `888 .8'`888. .8' `8888' 888ooo88P' 888ooo88P' d'""7d8P
888 `888.8' `888.8' .8PY888. 888`88b. 888 .d8P'
`88b ooo `888' `888' d8' `888b 888 `88b. 888 .d8P' .P
`Y8bood8P' `8' `8' o888o o88888o o888o o888o o888o d8888888P


Введите код, изображенный в стиле ASCII-арт.