Организация музыкального сопровождения торгового зала

в 18:03, , рубрики: airtime, cast, icecast2, libretime, ubuntu server, Настройка Linux, системное администрирование

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

В связи с открытием торгового зала была поставлена задача, организовать фоновую музыку в торговом зале, а именно:
— Трансляция из главного офиса подготовленного музыкального сопровождения;
— Управление только из центрального офиса, без доступа сотрудников торгового зала;
— Периодическое воспроизведение рекламы(необходима ежедневная смена рекламных роликов;
— Работа только в часы работы торгового зала;
— Без покупки дополнительного оборудования и ПО.

Что мы имеем:
— Контейнер LXC Ubuntu Server 16.04 (Память 1Gb, HDD 32 Gb);
— VPN сеть с торговым залом;
— Старый компьютер (Celeron 800, Память 256 Mb, WinXP):
— Подготовлена аудиосистема торгового зала с усилителем (в аренде).

За основы были взяты статьи:
Интернет-радио своими руками;
Управление радиоэфиром через браузер;
Интернет-радио с множеством ведущих из разных городов и звонками в прямом эфире;
Интернет-радиостанция на Liquidsoap + IceCast.

Изначально планировалось всё сделать на основе AirTime, но так как Open source проект не заброшен вот уже 3 года и максимум на что можно было поставить на Ubuntu server 14.04 пришлось искать другой продукт, в этот момент поисковик и выдал fork AirTime, а именно LibreTime.

Процесс установки тривиален и требует минимум действий, а именно:
Скачиваем исходники и ставим:
git clone https://github.com/libretime/libretime.git
cd libretime
sudo ./install

Сразу о нюансах:
— Пока готовых пакетов нет, но команда разработчиков планирует их выпуск;
— При установке можно использовать ключи, тогда весь процесс пойдет без участия, ключи можно узнать по команде sudo ./install --help;
— В интереактивном режиме обязательно вручную указывайте ключи y или n, регистр обязателен;
— После первоначальной настройки, которая проводиться через web интерфейс, обязательно перегрузить linux иначе нельзя добавить файлы в медиатеку, точнее они загрузятся на сервер но не будут отображаться;
— Я использую 3 потока с разным битрейтом, для этого в icecast2 были увеличен лимит потоков sources, в файле icecast.xml.

Интерфейс довольно понятен, к тому же руссифицирован.
Главная страница(данные с тестового стенда, за место локальной библиотеки используется веб-поток, так же убран раздел входа в админку):
Организация музыкального сопровождения торгового зала - 1

Страница авторизации:
Организация музыкального сопровождения торгового зала - 2

Рабочий стол:
Организация музыкального сопровождения торгового зала - 3

Мой пример настройки:
Организация музыкального сопровождения торгового зала - 4

В торговом зале компьютер подключен на усилителю и на нем через VLC запущена трансляция из центрального офиса. В перспективе заменить это дело на raspberry pi, и настроить так, чтобы в случае обрыва связи с центральным raspberry проигрывал заготовку, а после восстановления связи с сервером продолжал вещать готовую программу.

В итоге у нас:
— Торговый зал с музыкальным сопровождением;
— Персонал торгового зала не имеет доступа с музыке;
— В центральном офисе через web интерфейс LibreTime настроены программы трансляции;
— Ответственный человек может менять расписания.

В перспективе:
— Замена старого компьютера на raspberry pi;
— Авторизация пользователя на основе Active Directory(такая возможность в LibreTime предусмотрена).

P.S. На то, что решение самое правильное и так нужно всем делать, не претендую. Просто делюсь одним из способов решения. Так как система только для внутреннего пользования, делать готовое решение не стали.

P.S.2 У нас сервер расположен в DMZ зоне, доступ к web интерфейсу через nginx прокси, при этом доступ только с определенных подсетей.

Автор: Teon_501

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js