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

В предыдущей статье, мы производили установку сервера Icecast, и делали базовую настройку.

Официальный сайт проекта: https://icecast.org/

Как настроить ретрансляцию интернет-радио в Icecast

  • Чтобы настроить ретрансляцию потока интернет-радио, нам понадобится узнать адрес потока искомого радио, и добавить одну настроенную секцию <relay> </relay> в конфигурационный файл Icecast.
  • Все настройки Icecast, производятся в конфигурационном файле сервера /etc/icecast.xml.

Формат секции <relay>:


<relay>
    <server></server>
    <port></port>
    <mount></mount>
    <local-mount></local-mount>
    <on-demand></on-demand>
<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>

  1. <server> - ip-адрес или доменное имя удалённого сервера
  2. <port> - порт удалённого сервера (если не указан явным образом, то нужно поставить / слеш)
  3. <mount> - точка монтирования на удалённом сервере (если не указана явным образом, то нужно поставить / слеш)
  4. <local-mount> - точка монтирования на Вашем сервере (на Ваше усмотрение)
  5. <on-demand> - параметр указывающий серверу, держать ли поток постоянно (0), или только по запросу, когда есть хотя бы один слушатель (1) (на Ваше усмотрение, в зависимости от возможностей Вашего интернет-подключения –> постоянный расход трафика)
  6. Можно добавить ещё одну строчку, при наличии которой, будут отражаться метаданные потока <relay-shoutcast-metadata>0</relay-shoutcast-metadata>.

Подключение потока интернет-радио к Icecast

  • Для настройки ретрансляции, нам нужен поток. Для примера, не будем идти далеко, и отправимся на сайт проекта Icecast.
  • Переходим по ссылке «STREAMS», на главной странице сайта, и попадаем в список интернет-радиостанций, работающих на Icecast.
  • Если навести курсор мышки на кнопку «Play», то в нижнем левом углу, мы увидим ссылку на поток.
список интернет-радиостанций работающих на Icecast
  • При нажатии на кнопку «Play», открывается новая страница браузера, и появляется окно управления аудио-плейером. Если запустить плейер, то начнётся воспроизведение потока выбранной радиостанции.
окно управления аудио-плейера
  • Нам нужно скопировать ссылку на поток, и внести данные потока, в секцию <relay> на сервере. Предварительно можно вставить ссылку в текстовый файл, и отредактировать секцию нужным образом.
  • На картинке снизу, показан пример ссылки, и пример редактирования секции <relay> под неё.
редактирование секции <relay>
  • По завершении, готовую секцию <relay>, можно вставить в конфигурационный файл /etc/icecast.xml.
добавление секции <relay> в Icecast
  • После внесённых изменений, нужно перезапустить сервер, и на всякий случай проверить его статус.
# systemctl restart icecast
# systemctl status icecast
перезапуск и проверка статуса сервера Icecast
  • Теперь можно зайти в веб-интерфейс сервера, и проверить изменения.
  • В моём случае это будет так:
http://ip_adress:8000
  • Если всё сделано правильно, то мы увидим новую точку монтирования, которую мы указывали в конфиге секции <relay>.
  • В моём случае это «rch-1».
новая точка монтирования в Icecast
  • Проверяем идёт ли ретрансляция.
  • В браузерной строке вводим адрес сервера, через двоеточие порт, ставим слеш, и указываем локальную точку монтирования, которую мы указали в <relay> конфигурационного файла.
  • В моём случае это будет так:
http://ip_adress:8000/rch-1
  • Если всё было сделано правильно, то в окне браузера появляется плейер, и после запуска, слышен звук ретранслируемого интернет-радио.
подключение к локальной точке монтирования в Icecast

Как можно найти потоки интернет-радио для ретрансляции Icecast

Чтобы найти поток интернет радио, можно например:

  1. Зайти на сайт, на котором идёт онлайн-трансляция радио.
  2. Запустить трансляцию радио.
  3. Найти в настройках браузера «Инструменты разработчика», и нажать на данную опцию.
  4. Выбрать раздел «Сеть», и далее подраздел «Все».
окно инструментов разработчика
  • Обновляем страницу браузера на которой находимся, и идёт воспроизведение радио.
  • Ищем поток в окне инструментов.
поиск радио-потока
  • При наведении курсора мышки, мы уже можем наблюдать ссылку на поток.
  • А можно кликнуть по секции, и в открывшемся дополнительном окне, выбрать подраздел «Headers», тогда ссылка станет более явной и доступной.
ссылка на найденный радио-поток
  • Получив ссылку на поток, действуем аналогично с тем, как действовали в случае описанном выше. В конфигурационный файл /etc/icecast.xml, добавляем секцию <relay> с настройками нового потока, под секцией добавленной перед этим.

Количество добавляемых потоков, ограничивается настройками, которые мы вносили в предыдущей статье, в настройках сервера - <sources></sources>.

Создание плейлиста с несколькими ретранслируемыми потоками

  • Если ретранслируемых потоков несколько, то для удобства, можно создать плейлист.
  • Создаем файл, например radio.m3u, примерно такого содержания:
EXTM3U
EXTINF:-1,Radio-1
http://192.168.10.12:8000/rch-1
EXTINF:-1,Radio-2
http://192.168.10.12:8000/rch-2
EXTINF:-1,Radio-3
http://192.168.10.12:8000/rch-3
EXTINF:-1,Radio-3
http://192.168.10.12:8000/rch-4
  1. EXTM3U - указывает на формат файла
  2. EXTINF:-1,Radio-1 – название канала, на Ваше усмотрение
  3. http://192.168.10.12:8000/rch-1 - адрес Вашего потока
  • Плейлист можно открыть с помощью любого плейера, поддерживающего потоковую трансляцию, например VLC.
  • В последствии, можно без особых усилий, переключится на любой нужный поток.
управление воспроизведением радио из плейлиста VLC

Сегодня мы рассмотрели тему: «Icecast - ретрансляция интернет-радио». Научились производить настройку ретрансляции интернет-радио, искать радио потоки, и создавать плейлисты для воспроизведения в плейерах.

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

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


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