- Настройка вещания через RadioBOSS для сервера Icecast
- Использование Icecast или настройка сервера для радиовещания
- Установка
- Windows
- Linux CentOS 7
- Linux Ubuntu
- Принцип настройки
- Тестовый запуск
- Настройка брандмауэра
- Первичная настройка
- Selinux
- Запуск
- Настройка редиректа радиостанции
- Свои плейлисты (Ices)
- Установка клиента
- Настройка Icecast
- Настройка Ices и запуск плейлиста
- Автозапуск ices
- Автоматическое переключение каналов
Настройка вещания через RadioBOSS для сервера Icecast
RadioBOSS – автоматизация радиовещания, озвучка клубов, дискотек, казино, магазинов, кинотеатров. Легкий в освоении интерфейс программы и богатый функциональный набор позволят быстро добиться нужного результата в создании звукового оформления.
С помощью RadioBOSS можно легко организовать вещание в интернет. RadioBOSS может подключаться к серверам SHOUTcast, Icecast или Windows Media Server. Все, что играет в программе будет отправлено на сервер. Возможно одновременное вещание на любое количество серверов.
Для настройки вещания через RadioBOSS выполните ниже приведенные шаги (настройка других вещательных программ выполняется аналогично).
1. В меню выберите Настройки -> Настройки…
2. Выберите категорию Метаданные.
Укажите название станции, жанр и прочие параметры. Для каждого сервера эти параметры, при необходимости, можно переопределить.
3. Выберите раздел Вещание.
4. Нажмите кнопку “+” для добавления сервера вещания.
5. Появится окно настроек:
Используйте Мастер Настройки для облегчения процесса настройки.
Частота, Формат, Битрейт и Каналы – устанавливают формат вещания.
Нажмите Мастер Настройки и выберите сервер Icecast:
Нажмите кнопку Вперед. Далее введите свои данные (адрес сервера, порт, пароль для вещания), которые вы получили в сообщении на почту при покупке радио хостинга. Имя пользователя оставляете пустым.
Также все эти данные можно получить в панели управления Centova Cast:
- Тип сервера, адрес сервера и порт в разделе Информация.
- Пароль для вещания в разделе Настройки:
После того, как все данные введены, нажмите кнопки Финиш и ОК. Подключение будет добавлено в список.
6. В разделе Вещание установите “галочки” напротив серверов, которые вы хотите использовать. Также установите опцию “Включить вещание”, расположенную вверху окна.
7. Нажмите OK.
Если все настроено верно, в отчете (левый нижний угол) появится сообщение Connected to server! (output N).
После того, как всё правильно настроено, RadioBOSS будет передавать все, что играет в программе на сервер вещания.
В случае неправильных настроек, в окне отчета будет сообщение об ошибке, выделенное красным. В сообщении будет указан сервер, для которого подключение не удалось (например, “output 1” – первый в списке).
Откройте окно настроек и убедитесь, что все параметры введены верно.
Что значит сообщение об ошибке и как это исправить смотрите здесь.
Использование Icecast или настройка сервера для радиовещания
В двух словах, программное обеспечение Icecast позволяет создать сервер радио и видео вещания. В данной статье мы разберем процесс установки и настройки данного ПО на системах Linux. Установку и принцип настройки также рассмотрим для Windows.
Установка
Рассмотрим установку под системы Windows, Ubuntu/Debian, CentOS/Red Hat.
Windows
Переходим на страницу загрузки Icecast и скачиваем программу для Windows:
Запускаем скачанный файл — принимаем лицензионное соглашение — кликаем несколько раз Next и Install. Когда завершится установка, кликаем по Close.
Linux CentOS 7
Устанавливаем расширенный репозиторий epel:
Linux Ubuntu
Установка выполняется из базового репозитория:
Принцип настройки
Все настройки вносятся в конфигурационный файл формата XML.
В Windows он расположен по пути %ProgramFiles(x86)%\Icecast\icecast.xml. Открыть его можно любым текстовым редактором.
В CentOS 7 конфигурационный файл открываем командой:
Сами настройки в данном файле одинаковые для любой операционной системы. Все что включено в является комментарием и не учитывается программой.
После внесения настроек, службу icecast необходимо перезапускать.
Тестовый запуск
Настройка брандмауэра
Перед запуском сервера, необходимо убедиться в правильных настройках фаервола (необходимо открыть порт 8000).
Firewalld (CentOS 7):
firewall-cmd —permanent —add-port=8000/tcp
Iptables (Ubuntu):
iptables -I INPUT 1 -p tcp —dport 8000 -j ACCEPT
Первичная настройка
Приводим следующую настройку к такому виду:
* при такой настройке мы указываем, на каком сетевом интерфейсе будем слушать запросы (в данном случае, на 192.168.0.15).
Selinux
Если в системе линукс используется система безопасности Selinux, либо отключаем ее, либо настраиваем.
Запуск
В CentOS 7 разрешаем сервис и запускаем его следующими командами:
systemctl enable icecast2
Открываем браузер и переходим по пути http://192.168.0.15:8000/
* где 192.168.0.15 — IP-адрес нашего сервера, который мы прописали в bind-address конфига.
Мы должны увидеть следующее:
Настройка редиректа радиостанции
Самый простой способ проверить работу сервера радио — настроить перенаправление другой радиостанции.
Находим подходящий ресурс, например, hd.lagrosseradio.info. Изучаем документацию по настройке ретрансляции.
И дописываем в наш конфигурационный файл, примерно, следующее:
/lagrosseradio-metal-024.mp3
/metal
0
* перенаправлений может быть несколько. В данном примере на ресурсы ice4.lagrosseradio.info и shoutcast.aichyna.com.
* server — имя сервера, с которого берется поток; port — сетевой порт, на котором удаленный сервер отдает поток; mount — точка мониторования на стороне удаленного сервера, с которого берем поток; local-mount — точка монтирования, которая будет использоваться нашим сервером для обращения к настраиваемому потоку; on-demand — если стоит 0, сервер всегда берет поток и проигрывает его, если 1 — только при наличие активных обращений.
systemctl restart icecast || systemctl restart icecast2
Опять открываем нашу страницу http://192.168.0.15:8000/ — на странице должен появиться список с потоками:
Теперь пробуем в браузере открыть страницы с настроенными точками монтирования (local-mount) — http://192.168.0.15:8000/metal и /http://192.168.0.15:8000/aplus. Мы должны увидеть проигрыватель с кнопкой Play.
Свои плейлисты (Ices)
Создать свой список музыкальных композиций и передать его серверу Icecast можно с помощью Ices. Для начала, выполним его установку.
Установка клиента
Установка выполняется путем сборки пакета из исходника. Для начала скачиваем его — для этого переходим на страницу icecast.org/ices и копируем ссылку на Ices0 (ices2 не умеет работать с mp3, что требует их конвертацию и это не очень удобно):
Используя ссылку, скачиваем исходник:
* если получим ошибку «wget: команда не найдена», ставим wget командой yum install wget.
Распаковываем архив и заходим в каталог:
Устанавливаем пакеты, нужные для сборки:
yum install gcc libxml2-devel libshout-devel gcc-c++
Запускаем конфигурирование, сборку и установку:
Установка в убунте выполняется одной командой:
Настройка Icecast
Открываем конфигурационный файл и проверяем лимит на количество создаваемых ресурсов:
* если лимит на sources будет превышен предыдущими плейлистами или редиректами, мы получим ошибку при запуске ices, например: Error during send: Mount failed on http://192.168.0.15:8000/music, error: Login failed.
Меняем пароль на управление ресурсами:
* newpassword — собственно, сам пароль.
Закрываем редактор и перезапускаем icecast:
systemctl restart icecast || systemctl restart icecast2
Настройка Ices и запуск плейлиста
Создаем каталог конфигурационного файла и сам файл:
/etc/ices/playlist.rock.txt
1
builtin
ices
/rock
ices.dump
Default stream
Default genre
Default description
http://192.168.0.15:8000
* где, как правило, редактируется следующее:
- File — путь до файла со списком аудиофайлов.
- Randomize — воспроизведение в случайном порядке.
- Verbose — отладка. Следует поменять на 1, если программа работает не корректно.
- BaseDirectory — рабочий каталог программы. В нем будут храниться pid и log файлы.
- Hostname — адрес нашего сервера icecast.
- Port — порт, на котором слушает сервер icecast.
- Password — пароль для ресурса, который был выставлен в конфигурационном файле icecast.
- Mountpoint — точка монтирования на сервере для плейлиста.
- URL — путь URL до плейлиста.
Создадим список аудиофайлов:
ls /music/rock/ > /etc/ices/playlist.rock.txt
* данной командой мы прочитаем содержимое каталога /music/rock и сделаем из его содержимого плейлист для ices.
* по сути, файл playlist.rock.txt должен включать перечень всех аудиофайлов с полным путем до них. Каждый файл с новой строчки.
* где /etc/ices/ices.xml — путь до конфигурационного файла.
Автозапуск ices
В теории, можно добавить команду /usr/local/bin/ices -c /etc/ices/ices.xml в /etc/rc.local. Но профессиональнее создать сервис на базе systemd.
[Unit]
Description=Ices Service
After=network.target
Requires=icecast.service
[Service]
Type=forking
PIDFile=/etc/ices/ices.pid
ExecStart=-/usr/local/bin/ices -c /etc/ices/ices.xml
ExecReload=/bin/kill -HUP $MAINPID
Restart=always
Разрешаем созданный сервис:
Запускаем его и проверяем:
Автоматическое переключение каналов
Идея заключается в создании общего канала (mount) с переключением на резервный (в случаях, когда общий ничего не вещает). Это применяется для создания канала диджея — когда он подключен, в эфир идет его трансляция, когда отключен — музыка из плейлиста или перенаправленная с другой радиостанции. Также, это можно применять для оповещений или вставки рекламных роликов.
В данном примере разберем создание канала, который будет получать аудиоконтент из ices, а при отключении данной трансляции, будет играть музыка из другого источника.
В конфиг icecast добавляем:
* на самом деле, данный relay мы уже добавляли выше; live — имя основного канала; aplus в секции fallback-mount — имя канала, на который нужно перенаправить слушателя, если основной канал не задействован; секция fallback-override определяет, нужно ли автоматически возвращать слушателей на основной канал, если он опять станет активным.
systemctl restart icecast || systemctl restart icecast2
Можно уже подключаться в эфиру (в нашем примере по адресу http://192.168.160.163:8000/live) — мы должны услышать музыку, которая транслируется на shoutcast.aichyna.com.
Создаем конфигурационный файл для ices (или правим уже созданный):