Автор: Иван Богданов, Технический писатель 

Радио не умерло. Оно просто переехало в интернет и чувствует себя там неплохо.

По данным Mediascope, радио слушают около 86% россиян. Причем интернет как канал прослушивания растет: за 2023–2024 год доля тех, кто слушает радио исключительно онлайн, выросла почти на 11%, а аудитория умных колонок увеличилась на 26% — до 8 миллионов человек. Параллельно в городах-миллионниках 55–59% жителей включают радио каждый день.

Сервер с предустановленным AzuraCast

Выделенный или виртуальный сервер с уже настроенным и готовым к работе AzuraCast.

Начать

В глобальном масштабе картина похожа: 4,1 миллиарда человек слушают радио ежедневно — это больше половины населения планеты. 95% американцев старше 18 лет хотя бы раз в неделю включают радио. Доля цифрового потребления в США выросла с 28% в 2019 году до 41% в 2023-м (Worldmetrics, 2026; Pew Research, 2023).

Параллельно рынок интернет-радио растет как отдельная индустрия: 67 000 активных станций по всему миру в 2024 году, ежемесячная аудитория в США достигла 284 млн человек (+23% за два года), суммарная глобальная — 1,2 млрд слушателей. Выручка стриминговых сервисов превысила 8,2 миллиарда долларов (по аналитике от AMWorldGroup от 2025 года).

Казалось бы, зачем что-то поднимать самому, если есть Spotify, Apple Music и VK Музыка?

У всех этих сервисов одна общая черта: вы не контролируе��е ни платформу, ни контент, ни аудиторию. Алгоритм решает, что ставить в ротацию. Лицензионные ограничения определяют, что вообще доступно. И подписка (да и не только она) решает, будет ли это работать завтра и возможно ли будет получить доступ к контенту.

Если вам нужна своя станция с вашим контентом, вашим расписанием, вашим брендом, без ежемесячных платежей за платформу и с простой настройкой, то это AzuraCast.

Разворачиваем AzuraCast

В этом разделе не будет скучной теории. Только реальная установка на VPS Hostkey с предустановленным AzuraCast: что происходит на каждом шаге, где возникают проблемы и как их решать.

Заказываем сервер

Hostkey предоставляет AzuraCast как готовый образ — Docker уже настроен, контейнеры подняты. Минимальная конфигурация: 2 ядра ЦПУ, 2 Гб ОЗУ. После оплаты на почту приходит IP-адрес и учетные данные для доступа через SSH.

Первое, что делаем после получения доступа, — проверяем, что контейнеры «живые»:

root@Asura:~# docker ps

CONTAINER ID   IMAGE                           STATUS
6a205f4e0025   azuracast/azuracast:latest      Up 19 minutes
64ad03952afa   azuracast/updater:latest        Up 19 minutes (healthy)

Hostkey разворачивает AzuraCast как «сборку в одном контейнере» (single-container), то есть Liquidsoap, Icecast, Nginx и MariaDB живут внутри одного контейнера. Второй контейнер — Watchtower, который следит за обновлениями образа. Порты 80, 443 и 8000 проброшены, и всё необходимое для вещания уже открыто.

Мастер начальной настройки

Открываем браузер и вводим IP сервера. Мастер состоит из трех шагов. Шаг первый — создание аккаунта администратора. Его мы пропустим, так как там только электронная почта и пароль. На втором шаге создаем первую радиостанцию:

Шаг 2: создание станции. Вкладки АвтоДиджей, HLS и Стримеры/Диджеи настраиваются здесь же при создании
Шаг 2: создание станции. Вкладки АвтоДиджей, HLS и Стримеры/Диджеи настраиваются здесь же при создании

Обратите внимание на вкладки в верхней части формы. Уже здесь можно настроить:

  • АвтоДиджей (Liquidsoap) — параметры автоматического вещания;

  • HLS — HTTP Live Streaming (протокол потоковой передачи) для Apple-устройств;

  • Стримеры/Диджеи — доступ для живого входа диджея.

Шаг третий — системные настройки. Самое важное здесь — это поле Основной URL-адрес сайта (веб-адрес):

Шаг 3: системные настройки. URL можно поменять позже через Администрирование → Настройки системы
Шаг 3: системные настройки. URL можно поменять позже через Администрирование → Настройки системы

Вводим IP-адрес сервера (в нашем случае http://82.38.70.6) и сохраняем. Мы заходим по IP-адресу, так как доменное имя может быть уже выдано, но быть еще не активно из-за обновления DNS-записей или сертификатов.

Панель управл��ния и архитектура изнутри

После завершения мастера попадаем в главную панель управления:

Главный дашборд: график слушателей и список станций. Пока пусто - станция еще не запущена
Главный дашборд: график слушателей и список станций. Пока пусто - станция еще не запущена

Переходим в управление станцией, и в этой вкладке нам видна вся архитектура сразу:

Страница управления станцией. Два сервиса справа - это сердце системы
Страница управления станцией. Два сервиса справа - это сердце системы

Справа два блока со статусом:

  • Сервис вещания (Icecast) — раздает поток слушателям;

  • Сервис АвтоДиджея (Liquidsoap) — управляет плейлистами, расписанием, кроссфейдом.

Оба показывают «Не запущен», и это значит, что станция еще не стартовала. Это нормально, так как мы все запускаем на следующем шаге.

Загружаем контент и запускаем вещание

Переходим в Медиафайлы и загружаем треки. Поддерживается перетаскивание файлов (drag-and-drop), протокол безопасной передачи файлов (SFTP) для массовой загрузки и обычный выбор файлов. AzuraCast автоматически вытащит метаданные и сгенерирует обложку:

Медиатека после загрузки двух треков. Обложки сгенерированы автоматически из метаданных
Медиатека после загрузки двух треков. Обложки сгенерированы автоматически из метаданных

Важный момент, который легко пропустить: загруженные треки нужно добавить в плейлист. Без этого Liquidsoap не знает, что играть, и станция останется офлайн.

Создание плейлиста. Тип «Обычная ротация» - треки перемешиваются с другими плейлистами по весу
Создание плейлиста. Тип «Обычная ротация» - треки перемешиваются с другими плейлистами по весу

Создаём плейлист, выделяем треки в медиатеке, назначаем плейлист через кнопку Плейлисты. После этого нажимаем Перезапустить вещание на странице управления станцией. 

Через несколько секунд статусы меняются на «Работает»:

Icecast и Liquidsoap запущены. Поток доступен по адресу /listen/test/radio.mp3
Icecast и Liquidsoap запущены. Поток доступен по адресу /listen/test/radio.mp3

Открываем публичную страницу и убеждаемся, что станция вещает:

Публичный плеер: играет «О, тикеты!» - трек сгенерирован в Suno AI специально для этого демо

Итого по установке: от получения IP (сетевого адреса) до работающего эфира у нас ушло меньше 15 минут. Из них 10 ушло на то, чтобы понять про плейлист.

Что получили из коробки без единой строки конфигурации:

  • Веб-интерфейс управления на русском языке;

  • Icecast (программное обеспечение для вещания) для раздачи потока + Liquidsoap (программное обеспечение для обработки звука) для управления;

  • Публичный плеер по адресу /public/имя-станции;

  • REST API (интерфейс прикладного программирования) с данными о текущем эфире;

  • SFTP для массовой загрузки медиафайлов;

  • Автообновление через Watchtower (программу для автоматического обновления контейнеров).

Если вам нужен собственный домен и сертификат Let's Encrypt, то вы можете подключить их прямо из интерфейса AzuraCast. Домен нужен в любом случае, если планируете реальное вещание, так как браузеры блокируют медиапотоки с HTTP-источников на HTTPS-страницах.

Плейлисты и расписание: управляем эфиром

Если установка AzuraCast — это пять минут, то настройка плейлистов — это то, где начинается настоящее программирование эфира. Здесь Liquidsoap получает инструкции: что играть, когда играть, как часто и в каком порядке.

Плейлист в AzuraCast — это не просто список треков в определенном порядке, а набор правил для Liquidsoap: когда включить эту группу треков в ротацию, с каким приоритетом, как часто, в какие дни недели.

Один плейлист может содержать тысячи треков и крутиться круглосуточно. Другой — одну джингловую заставку, которая вставляется раз в час. Третий — новогодний сборник, который активируется только 31 декабря.

Все плейлисты станции видны в одном месте:

Список плейлистов станции. Видны два: системный default (пустой) и Будничный с двумя треками
Список плейлистов станции. Видны два: системный default (пустой) и Будничный с двумя треками

Плейлист «по умолчанию» создается AzuraCast автоматически при установке. Это резервный плейлист — если все остальные плейлисты молчат, Liquidsoap включает его. Можно оставить пустым или добавить треки-заглушки.

Типы плейлистов

При создании или редактировании плейлиста самое важное — выбрать их правильный тип. Существует пять типов плейлистов:

Настройки плейлиста: тип, порядок воспроизведения, вес и дополнительные параметры
Настройки плейлиста: тип, порядок воспроизведения, вес и дополнительные параметры
  1. Обычная ротация

Основной тип для большинства задач. Треки из этого плейлиста перемешиваются с треками других плейлистов типа «Обычная ротация» на основе веса.

Параметр «Вес» (по умолчанию 3) определяет, как часто этот плейлист будет звучать относительно других. Плейлист с весом 6 будет играть вдвое чаще, чем с весом 3. Это удобно, когда нужно сделать один жанр доминирующим, не отключая остальные.

Пример типичной схемы для радио для специалистов в сфере информационных технологий:

Основная ротация

вес 5

рабочая музыка без слов, 500 треков

Вечерний джаз

вес 2

инструментальный джаз, 200 треков

Праздничный

вес 1

тематические треки, 50 треков

Liquidsoap сам посчитает пропорции: из каждых 8 включений — 5 из основной ротации, 2 из джаза, 1 из праздничного.

1. Через каждые x песен

Плейлист вставляется в эфир через каждые N треков основной ротации. Идеально для джинглов и отбивок: создаете плейлист с одним файлом «Вы слушаете Hostkey Radio», ставите «Через каждые 5 песен» — и станция сама объявляет себя.

2. Через каждые x минут

То же самое, но по времени. Удобно для новостных блоков или погодных сводок: вставить заранее записанный файл раз в 30 минут вне зависимости от того, сколько треков успело сыграть.

3. Один раз в час

Частный случай предыдущего типа — ровно раз в час в указанную минуту. Классический формат для часовых позывных: в 00 минут каждого часа звучит заставка станции.

4. Расширенное

Прямое управление конфигурацией Liquidsoap. Для тех, кто знает, что делает, — можно прописать любую логику на языке Liquidsoap. Нужно крайне редко.

Расписание

У каждого плейлиста есть вкладка «Расписание». По умолчанию плейлист без расписания играет постоянно — это подходит для основной ротации. Но можно задать точный временной слот:

Вкладка «Расписание»: без расписания плейлист играет непрерывно. Внизу уже видны два плейлиста в общей сводке
Вкладка «Расписание»: без расписания плейлист играет непрерывно. Внизу уже видны два плейлиста в общей сводке

Нажимаем Добавить элемент расписания и получаем детальную форму:

Форма расписания: время начала/завершения, диапазон дат, дни недели и опция «Проиграть один раз»
Форма расписания: время начала/завершения, диапазон дат, дни недели и опция «Проиграть один раз»

Параметры расписания:

  • Время начала и завершения. Тут задаётся временной слот. Если время завершения меньше времени начала (например, 23:00–02:00), плейлист будет играть через полночь.

  • Дата начала и завершения показывают ограничение по датам. Удобно для сезонных плейлистов: новогодний контент с 25 декабря по 10 января.

  • Дни недели. Если не выбрать ничего, плейлист играет каждый день. Можно ограничить, например, только пятницей.

  • Проиграть один раз. Плейлист проигрывается один полный цикл и останавливается. Используется для специальных трансляций.

Один плейлист может иметь несколько элементов расписания. Например: утренний блок 07:00–10:00 в будни и расширенный блок 09:00–13:00 в выходные — всё в одном плейлисте.

Расширенные настройки

Вкладка «Расширенное»: управление поведением плейлиста в очереди Liquidsoap
Вкладка «Расширенное»: управление поведением плейлиста в очереди Liquidsoap

Четыре галочки, которые редко нужны, но важно понимать для чего:

  • Прервать другие песни — плейлист прерывает текущий трек и вклинивается немедленно. Для срочных объявлений.

  • Воспроизвести только один трек — из плейлиста берётся один случайный трек, потом управление возвращается основной ротации. Для редких вставок.

  • Объединить плейлист как один трек — все треки плейлиста воспроизводятся подряд без прерываний, как один длинный файл. Для миксов и подкастов.

  • Отдавать приоритет запросам слушателей — запросы через публичную страницу получают приоритет над этим плейлистом.

Практический пример: типичная ИТ-радиостанция

Собираем схему из нескольких плейлистов для круглосуточного вещания:

Плейлист

Тип

Расписание

Вес

«Рабочий день»

Обычная ротация

08:00–19:00

5

«Вечерний»

Обычная ротация

19:00–23:00

5

«Ночной»

Обычная ротация

23:00–08:00

5

«Ода пятничному деплою»

Обычная ротация

Пятница

3

«Джингл»

Каждые 5 песен

-

-

«Новогодний»

Обычная ротация

25.12–10.01

2

Liquidsoap склеит всё это в непрерывный поток: днем играет рабочая музыка, вечером переключается на другой темп, ночью звучит фоновый эмбиент. Через каждые пять треков проигрывается джингл с названием станции. В пятницу в ротацию добавляется «Ода пятничному деплою». С 25 декабря радиостанция переходит на проигрывание праздничного контента.

Домен и HTTPS: от адреса IP к нормальному адресу ресурса

Станция работает, эфир идет, но адрес вида http://82.38.70.6 — это не то, что хочется давать слушателям, да и браузеры блокируют медиапотоки с HTTP-источников на HTTPS-страницах. Значит, домен и сертификат — не опция, а необходимость для реального использования.

Весь процесс занимает около 30 минут, большая часть из которых — ожидание распространения DNS.

Настраиваем DNS

Нам нужно, чтобы домен или поддомен указывал на адрес IP нашего сервера. Используем поддомен radio.skaz.online, чтобы основной домен оставался свободным.

Где именно добавлять запись типа A, зависит от того, где находятся серверы доменных имен (NS) домена. Есть два варианта:

  • Домен делегирован на серверы доменных имен (NS) Hostkey (ns1.hostkey.ru , ns2.hostkey.ru): запись типа A добавляем в Invapi через меню DNS хостинг.

  • Домен на серверах доменных имен (NS) регистратора. Тогда добавляем запись типа A.

В панели Invapi переходим по пути: имя пользователя >> DNS хостинг >> выбрать зону >> Добавить DNS запись >> тип A:

Название:  radio
TTL:   	3600
Данные:	82.38.70.6

Результат: запись radio.skaz.online открывающая сервер по адресу 82.38.70.6 в зоне домена. Проверяем через 15–60 минут:

 ping radio.skaz.online

Когда получим ответ с IP-адресом нашего сервера, то можно двигаться дальше.

Шаг 2. Меняем Base URL в AzuraCast

Заходим в AzuraCast: Администрирование >> Настройки системы. Меняем значение поля Основной URL-адрес сайта:

Настройки системы: базовый URL-адрес (Base URL) изменен на http://radio.skaz.online. Сохраняем перед выпуском сертификата
Настройки системы: базовый URL-адрес (Base URL) изменен на http://radio.skaz.online. Сохраняем перед выпуском сертификата

Сначала сохраните базовый URL-адрес (Base URL) и только потом запрашивайте сертификат. Иначе Let's Encrypt будет выпускать сертификат для старого адреса.

Выпускаем сертификат через сервис Let's Encrypt

Переходим на вкладку Обслуживание в тех же Настройках системы:

В разделе Let's Encrypt: вводим домен и email, нажимаем «Создать/обновить сертификат»
В разделе Let's Encrypt: вводим домен и email, нажимаем «Создать/обновить сертификат»

Заполняем два поля:

  • Доменное имя: radio.skaz.online;

  • Адрес электронной почты: ваш адрес электронной почты (для уведомлений об истечении сертификата).

Нажимаем Создать/обновить сертификат. AzuraCast обращается к серверам Let's Encrypt, проходит проверку по протоколу HTTP домена и получает сертификат. Весь процесс занимает 10–30 секунд.

Если кнопка неактивна и написано «сначала сохраните изменения», то как не странно, сначала сохраните страницу настроек, потом возвращайтесь на вкладку Обслуживание.

Проверить результат из командной строки можно командой:

docker exec azuracast azuracast_cli azuracast:acme:get-certificate

Ответ Certificate does not need renewal означает, что сертификат уже выпущен и действителен. Именно это мы и хотели.

Итог всех этих действий: сайт функционирует по протоколу HTTPS без каких-либо предупреждений.

Открываем https://radio.skaz.online и видим страницу ��хода «с замком»:

Страница входа по HTTPS. “Замок без предупреждений” показывает, что сертификат от Let's Encrypt выдан и принят браузером
Страница входа по HTTPS. “Замок без предупреждений” показывает, что сертификат от Let's Encrypt выдан и принят браузером

Публичная страница слушателя доступна по ссылке https://radio.skaz.online/public/test, и значит, поток идет по защищенному соединению:

Публичный плеер по HTTPS: «О, тикеты!» играет, замок зеленый, mixed content отсутствует
Публичный плеер по HTTPS: «О, тикеты!» играет, замок зеленый, mixed content отсутствует

Теперь ссылку на радио можно встраивать в любой сайт с защищенным соединением по протоколу HTTPS без предупреждений браузера.

Автообновление сертификата

Сервис Let's Encrypt выдает сертификаты на 90 дней. AzuraCast автоматически обновляет их через встроенный планировщик, и вам вручную впоследствии ничего делать не нужно. На указанный адрес электронной почты придет уведомление, если автообновление по какой-то причине не сработает.

Итоговая схема

Что получилось в итоге:

 API и встраивание: подключаем радио к внешнему миру

Работающая станция — это хорошо. Но настоящая ценность начинается, когда радио становится частью чего-то большего: сайта, бота, панели управления, мобильного приложения. AzuraCast для этого предоставляет два инструмента: REST API и конструктор встраиваемых виджетов.

Потоки вещания

Прежде чем говорить об API, посмотрим, что AzuraCast раздает напрямую. На странице управления станцией видны все доступные потоки:

Потоки вещания и публичные страницы станции. Все адреса уже по HTTPS
Потоки вещания и публичные страницы станции. Все адреса уже по HTTPS

Три типа публичных адресов из коробки:

Плюс PLS и M3U файлы для подключения в Winamp, VLC, foobar2000 и любой другой десктопный плеер.

REST API: данные в реальном времени

AzuraCast предоставляет полноценный интерфейс прикладного программирования (REST API) без дополнительной настройки. Публичные конечные точки (эндпоинты) доступны без авторизации, управляющие — требуют ключ API из раздела Мой аккаунт.

Основной эндпоинт: /api/nowplaying

Самый полезный эндпоинт — текущее состояние всех станций:

GET https://radio.skaz.online/api/nowplaying

Что есть в ответе:

{
  "station": {
    "name": "Hostkey Radio",
    "frontend": "icecast",
    "backend": "liquidsoap",
    "listen_url": "https://radio.skaz.online/listen/test/radio.mp3"
  },
  "now_playing": {
    "song": {
      "artist": "ibogdanov",
      "title": "Ода пятничному деплою",
      "art": "https://radio.skaz.online/api/station/test/art/..."
    },
    "elapsed": 46,
    "remaining": 168
  },
  "playing_next": {
    "song": { "title": "О, тикеты!" }
  },
  "listeners": { "total": 0, "unique": 0 },
  "is_online": true
}

Для конкретной станции добавьте параметр shortcode в путь:

GET https://radio.skaz.online/api/nowplaying/test

Другие полезные эндпоинты

  • /api/station/test/history - история воспроизведения с метаданными;

  • /api/station/test/listeners - детали по слушателям (требует API-ключ);

  • /api/station/test/requests - принять запрос на песню от слушателя;

  • /api/station/test/status - статус Icecast и Liquidsoap;

  • /api/admin/stations - список всех станций (требует API-ключ администратора).

Полная документация AP в нашем случае будет доступна по адресу https://radio.skaz.online/api. Там вы можете найти  интерактивную документация (Swagger) с возможностью тестировать запросы прямо в браузере.

Если не хочется писать код, то вам доступен готовый конструктор виджетов. Кнопка Встраивание виджета на странице управления станцией открывает визуальный редактор:

Конструктор виджетов: четыре типа, настройка цветов, живой предпросмотр. Справа - готовый код встраиваемого фрейма (iframe).
Конструктор виджетов: четыре типа, настройка цветов, живой предпросмотр. Справа - готовый код встраиваемого фрейма (iframe).

Четыре типа виджетов:

  • Радиоплеер - полноценный плеер с обложкой, полосой прогресса, управлением громкостью.

  • Играло ранее - история воспроизведения с обложками и временными метками.

  • Подкасты - список эпизодов подкаста.

  • Расписание - сетка вещания на неделю.

На вкладке Функциональность настраивается поведение:

Функциональность: начальная громкость, автовоспроизведение, показ прогресса и выбор потока
Функциональность: начальная громкость, автовоспроизведение, показ прогресса и выбор потока

На вкладке Макет вы можете поменять размеры и ориентацию:

Макет: горизонтальный, вертикальный, компактный или большой. Ширина и высота в px или %
Макет: горизонтальный, вертикальный, компактный или большой. Ширина и высота в px или %

Виджет истории воспроизведения — живой пример того, что уже накопилось за время тестирования:

Виджет «Играло ранее»: два трека чередуются уже 19 минут, история пишется автоматически
Виджет «Играло ранее»: два трека чередуются уже 19 минут, история пишется автоматически

Код вставки генерируется автоматически и обновляется при каждом изменении настроек:

<iframe
  src="https://radio.skaz.online/public/test/embed"
  frameborder="0"
  allowtransparency="true"
  style="width: 100%; min-height: 150px; height: 150px; border: 0;">
</iframe>

Этот код работает на любом сайте: от WordPress и Tilda до статического HTML без серверной части и без зависимостей. Настройки виджета можно сохранить как шаблон и переиспользовать. Как видно на скриншоте, шаблон Hostkey radio уже сохранен.

Что получилось и сколько это стоит

Мы прошли весь путь от пустого виртуального выделенного сервера (VPS) до работающей радиостанции с протоколом защищенного обмена данными (HTTPS), публичным плеером и интерфейсом прикладного программирования (API). Вот полный список того, что работает из коробки без дополнительной настройки:

  • Веб-интерфейс управления на русском языке.

  • Автоматический диджей (программное обеспечение Liquidsoap) с поддержкой плейлистов, расписания и кроссфейда.

  • Раздача потока через сервер Icecast в форматах MP3, OGG и AAC.

  • Протокол защищенного обмена данными (HTTPS) через сервис Let's Encrypt с автообновлением сертификата.

  • Публичный плеер с обложками альбомов.

  • Интерфейс прикладного программирования REST (REST API) с данными о текущем эфире в реальном времени.

  • Конструктор встраиваемых виджетов с живым предпросмотром.

  • История воспроизведения и статистика слушателей.

  • Протокол передачи файлов по защищенному соединению (SFTP) для массовой загрузки медиафайлов.

  • Автообновление через программное обеспечение Watchtower.

  • Резервные копии.

Есть и ограничения:

  • Горизонтальное масштабирование — одноконтейнерная сборка не предназначена для кластеризации. Для тысяч одновременных слушателей нужна другая архитектура или сеть доставки контента (CDN) перед сервером Icecast.

  • Монетизация — встроенных инструментов нет. Донаты, подписки, реклама — все через внешние сервисы.

  • Авторские права на музыку — программное обеспечение AzuraCast не решает юридический вопрос. Для коммерческого вещания нужна лицензия РАО/ВОИС.

  • Мобильное приложение — нет из коробки. Слушатели подключаются через браузер или сторонние плееры по прямой ссылке на поток.

Стоимость

Примерные цифры на момент написания статьи:

VPS (2 CPU, 2GB RAM, Ubuntu 22.04)

От 400 рублей возможно получить скидки при годовой оплате.

Домен

От 150 рублей.

Сертификат SSL

Бесплатно (сервис Let's Encrypt).

AzuraCast

Бесплатно (с открытым исходным кодом, лицензия MIT).

Итого минимум

От 550 рублей.

Для сравнения: месячная подписка на коммерческие сервисы интернет-радиовещания начинается от 20–30 долларов США в месяц (примерно 2000–3000 рублей) с ограничениями на количество слушателей и контент. При этом вы работаете на чужой платформе с чужими правилами.

450 рублей в месяц — это стоимость двух (если повезет) чашек кофе. За эти деньги вы получаете полный контроль над станцией, данными слушателей и контентом.

Для кого это имеет смысл

Интернет-радио нужно далеко не всем. Примеры, где это реально работает, могут быть примерно такие:

  • Учебные заведения — школьное и университетское радио как медиаплатформа для студентов. Практика для журналистов, специалистов в области информационных технологий, создателей контента. 450 рублей в месяц не заметны в бюджете учебного заведения.

  • Нишевые тематические станции — контент, который никогда не попадет на FM: аудиокниги, узкожанровая музыка, лекции, краеведение. Маленькая, но лояльная аудитория.

  • Корпоративное радио — фоновая музыка в офисе или на производстве без сервиса Spotify и его географических ограничений, плюс внутренние объявления.

  • Стримеры и подкастеры — постоянный поток между выпусками, аудитория не уходит. Интерфейс прикладного программирования (API) позволяет интегрировать с программным обеспечением OBS, ботом для сервиса Discord, сайтом.

  • Ивент-радио — конференция, хакатон, фестиваль. Своя станция на время события: атмосфера, объявления, музыкальное сопровождение.

Вместо заключения

Мы намеренно использовали предустановленный образ от Hostkey — это показывает реальный сценарий, когда нужно быстро и без глубокого погружения. Установка Docker вручную дает больше гибкости, но для большинства задач готового образа более чем достаточно.

Всё, что описано в статье, было проверено реальной установкой на реальный сервер. Станция https://radio.skaz.online/public/test, возможно, даже еще существует и вещает прямо сейчас. Треки сгенерированы в Suno AI специально для этого материала: «О, заявки!» и «Ода пятничному развертыванию» в стиле классической хоровой музыки.

Сервер с предустановленным AzuraCast

Выделенный или виртуальный сервер с уже настроенным и готовым к работе AzuraCast.

Начать