Здравствуйте, уважаемые читатели. Сегодня статья на тему: "Icecast-Ezstream - трансляция аудиопотока". Я продолжаю серию статей о сервере потокового вещания Icecast, и в этой статье, мы будем настраивать связку Icecast-Ezstream, для организации трансляции аудиопотока.

Ezstream – это бесплатное программное обеспечение, для организации потоков аудио и видео вещания (В первую очередь для потоковой передачи на серверы Icecast).

Если Вы производили установку Icecast по одной из предыдущих моих с статей, то никаких дополнительных действий, кроме установки самого Ezstream, делать не нужно.

Установка Ezstream в CentOS 7

  • Ezstream устанавливается в пару кликов, при помощи пакетного менеджера YUM.
# yum install ezstream

Добавление аудио файлов и плейлиста для трансляции

  • После установки, создаём директорию, в которой будут хранится наши mp3 файлы, и плейлист для трансляции.
# mkdir -p /music
  • Следующим шагом, загружаем музыкальные файлы, в созданную директорию.
  • После загрузки файлов, нужно создать плейлист для трансляции. Создаём файл /music/playlist.m3u, и добавляем в него пути к нашим mp3 файлам.
директория с аудио файлами для Ezstream
  • Файлов может быть сколько угодно. Путь к каждому файлу, вносится с новой строки.
плейлист со списком файлов для воспроизведения Ezstream

Настройка Ezstream для трансляции аудиопотока

  • Теперь можно переходить к конфигурации Ezstream.
  • Создаём директорию, в которой будет находится конфигурационный файл Ezstream.
# mkdir -p /etc/ezstream
  • После создания директории, можно создать и сам файл конфигурации /etc/ezstream/ezstream.xml.

Формат файла конфигурации Ezstream:


<ezstream>
  <url></url>
  <sourcepassword></sourcepassword>
  <format</format>
  <filename></filename>
  <stream_once></stream_once>
  <shuffle></shuffle>
  <svrinfoname></svrinfoname>
  <svrinfourl></svrinfourl>
  <svrinfogenre></svrinfogenre>
  <svrinfodescription></svrinfodescription>
  <svrinfobitrate></svrinfobitrate>
  <svrinfochannels></svrinfochannels>
  <svrinfosamplerate></svrinfosamplerate>
  <svrinfopublic></svrinfopublic>
</ezstream>

  1. <url> - адрес создаваемого потока, по которому будет идти аудио трансляция
  2. <sourcepassword> - пороль для подключения потока в Icecast
  3. <format> - формат транслируемых файлов
  4. <filename> - путь к плейлисту для трансляции
  5. <stream_once> - опция повторного воспроизведения (при (0) постоянный повтор воспроизведения, при (1) воспроизведение один раз)
  6. <shuffle> - проигрывание аудио файлов в случайном порядке (при (1) случайное проигрывание, при (0) проигрывание по порядку)
  7. <svrinfoname> - название сервера ( на Ваше усмотрение)
  8. <svrinfourl> - информативный адрес сервера
  9. <svrinfogenre> - жанр проигрываемого аудиопотока
  10. <svrinfodescription> - описание аудиопотока
  11. <svrinfobitrate> - битрейт аудиопотока
  12. <svrinfochannels> - количество канало аудиопотока
  13. <svrinfosamplerate> - частота дискретизации аудиопотока
  14. <svrinfopublic> - включение аудиопотока в публичный каталог

 В моём случае, настройки конфигурационного файла будут такими:

конфигурация Ezstream для трансляции аудиопотока

Настройка управления Ezstream при помощи systemctl

  • Ezstream не относится к службам, и поэтому он не может управляться с помощью systemctl.
  • Давайте это исправим.
  • Создаём файл /etc/systemd/system/ezstream.service, такого содержания:

[Unit]
Description=ezstream
After=network.target
Requires=ezstream.service

[Service]
User=icecast
Group=icecast
Type=simple
PIDFile=/etc/ezstream/ezstream.pid
ExecStart=/usr/bin/ezstream -c /etc/ezstream/ezstream.xml
ExecReload=/bin/kill -HUP $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target

  • После создания файла, произведём перезапуск systemctl.
# systemctl daemon-reload
  • Теперь нужно настроить необходимые права и разрешения.
# chown -R icecast:icecast /etc/ezstream
# chmod 600 /etc/ezstream/ezstream.xml
  • После произведённых манипуляций, мы можем управлять Ezstream при помощи systemctl.
  • Производим запуск Ezstream, добавляем его в автозагрузку, и проверяем статус.
# systemctl start ezstream
# systemctl enable ezstream
# systemctl status ezstream
управление Ezstream с помощью systemctl
  • Ну вот и всё, мы с Вами запустили трансляцию аудиопотока.
  • Заходим в веб-интерфейс Icecast.

В моём случае это:

http://192.168.10.12:8000
  • В списке точек монтирования, присутствует созданный нами поток.
созданный аудиопоток в списке на сервере Icecast
  • Для проверки, можно воспроизвести поток при помощи браузера, или любого плейера с поддержкой потокового вещания.
воспроизведение аудиопотока в плейере VLC
  • Вы услышите звук проигрывания загруженных аудио файлов, в зависимости от настроек, которые Вы сделали в конфигурационном файле /etc/ezstream/ezstream.xml.

Сегодня мы рассмотрели тему: "Icecast-Ezstream - трансляция аудиопотока". Произвели установку Ezstream, настроили его, и запустили трансляцию аудиопотока из добавленных нами mp3 файлов. Смотрите так же видео по теме.

Надеюсь статья была вам полезна. До встречи в новых статьях.

С уважением, Андрей Бондаренко.


Видео на тему "Icecast-Ezstream - трансляция аудиопотока":