Интеграция API AzuraCast в Discourse
Ссылка на AzuraCast: https://www.azuracast.com/
Ссылка на API AzuraCast: Swagger UI
Программное обеспечение AzuraCast — это комплексное решение с открытым исходным кодом для работы веб-радиостанций. Все функции управляются через браузер, причём реализован даже полностью браузерный стриминговый клиент. Радиопрограммирование постоянно развивается, и некоторые функции ещё требуют доработки, но программное обеспечение уже можно использовать в продуктивной среде.
Архитектура AzuraCast построена на проверенных компонентах и при этом стремится соответствовать современным стандартам. Для организации стриминговой платформы используются платформа Icecast (опционально Shoutcast) и язык скриптов Liquidsoap; управление отдельными потоками осуществляется с помощью разветвлённого веб-приложения. Чтобы максимально упростить установку на любых системах, все компоненты виртуализированы с помощью контейнеров Docker. Настройка сводится к нескольким командам командной строки, остальное выполняется в браузере. Таким образом, AzuraCast должен работать на всех распространённых системах Linux. На данный момент не поддерживаются платформы на базе ARM, такие как Raspberry Pi.
Больше разнообразия на радио
Основной принцип платформы — возможность предлагать несколько автономных станций вместо одной радиостанции. Это позволяет не только предоставлять услуги хостинга, но и создавать веб-радио, предлагающее подходящее музыкальное наполнение для любого вкуса. У каждой станции есть собственный профиль, и она управляет своими собственными музыкальными файлами и плейлистами. Кроме того, можно создавать пользователей, которым разрешено вести прямые эфиры через встроенный веб-DJ или с помощью традиционного стримингового ПО. Разнообразные настройки, статистика и другие административные инструменты идеально дополняют интерфейс. Мы даже позаботились о пользователях вспомогательных технологий: весь интерфейс можно удобно использовать с помощью программ экранного доступа.
Необходимость доработки процесса вещания
Ротация осуществляется с помощью плейлистов. Однако в пользовательском интерфейсе сначала отображаются не файлы, назначенные спискам, а только настройки и правила планирования, что может вызвать путаницу при переходе с других систем радиопрограммирования. При редактировании плейлиста определяется, является ли он воспроизведением на основе треков или воспроизведением по URL, то есть внешним контентом, таким как переданные сообщения или программы. Однако смешанные плейлисты пока невозможны. Например, контейнер с объявлением, содержащий локальный файл-открывалку, сообщения, передаваемые по URL, и локальный файл-завершатель, можно реализовать только косвенно. Плейлисты в разделе музыкальных файлов заполняются контентом. Отдельные файлы или целые папки можно назначить любому количеству плейлистов, поэтому повторная загрузка файлов не требуется. Новый контент можно загружать через браузер. При больших объёмах данных можно временно настроить FTP-сервер в контейнере Docker, однако это требует вмешательства через командную строку.
Поведение Auto-DJ определяется в административной панели станции. Здесь видно, что так называемый кроссфейд, то есть переходы между отдельными файлами, также предлагает умную опцию, которая учитывает громкость треков при микшировании, но пока не включает детектирование тишины, из-за чего переходы между треками иногда кажутся довольно резкими. Также отсутствуют отдельные настройки затухания для различных типов файлов. Хотя переходы между музыкальными произведениями могут быть довольно длинными, для джинглов или голосовых записей желательно минимальное или полное отсутствие затухания. Здесь ещё предстоит многое оптимизировать. В любом случае AzuraCast уже предоставляет опытным пользователям возможность внедрять собственный код в конфигурацию Liquidsoap.
Заключение
AzuraCast находится в постоянной разработке и обновляется практически ежедневно. Даже если программное обеспечение уже можно использовать в продуктивной среде, опытные создатели радиостанций, вероятно, захотят дождаться появления тех или иных функций. Однако, учитывая, что проектом руководит лишь несколько основных разработчиков, AzuraCast можно считать успешным, а в некоторых аспектах даже превосходящим аналогичные коммерческие продукты. Поэтому за ним стоит следить. Благодаря простой установке через Docker можно быстро создать тестовую среду для отслеживания прогресса.
Разработка ведётся на GitHub. Команда также предоставляет отдельные компоненты программного обеспечения для использования в собственных проектах, включая PHP-скрипт для отображения названий треков в потоках Icecast. Веб-сайт с инструкциями по установке и вариантами поддержки доступен на Azuracast.com.
Остаётся лишь надеяться, что AzuraCast не исчезнет так же, как представленная здесь система Airtime несколько лет назад, и его
