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

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

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

Что мы имеем:

— Контейнер 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.

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



Страница авторизации:



Рабочий стол:



Мой пример настройки:



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

В итоге у нас:

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

В перспективе:

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

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

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

P.S. 3 Кому то из Вас, может показаться, что моё решение не верно то вы будете от части правы, это решение только для нашей компании. Я с удовольствием почитаю ваши решения, может что то почерпну для себя. Так что жду ваши публикации с «правильными решениями».

Комментарии (12)


  1. rub_ak
    21.12.2017 22:24

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


    1. Teon_501 Автор
      22.12.2017 06:58

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


      1. rub_ak
        22.12.2017 09:39

        Так бы и написали, а вы написали: «Управление только из центрального офиса, без доступа сотрудников торгового зала;».


  1. tregor
    21.12.2017 22:45

    Достаточно тривиальная задачка. И добавь побольше скринов в пост, читать не интересно)


    1. Teon_501 Автор
      22.12.2017 07:24

      Добавил)


  1. Nikopol25
    22.12.2017 06:58

    Тоже попросили сделать музыкальное сопровождение в магазине, делал на raspberry pi. Поставил VLC с веб интерфейсом, расшарил папку и поднял ftp, поставил на автозапуск при включении.


    1. Teon_501 Автор
      22.12.2017 07:04

      Такой вариант тоже рассматривали, пришлось отказаться из-за необходимости боле тонкой настройки


  1. Human2
    22.12.2017 07:02

    1


  1. bel_poprygun
    22.12.2017 07:15

    А RadioBoss не?


    1. Teon_501 Автор
      22.12.2017 07:17

      Рассматривали, но «В программе RadioBOSS Express отсутствует функция вещания в интернет», главная же задача была именно удаленное вещание.


      1. Fox_exe
        22.12.2017 10:12

        Неверное решение.
        На случай пропадания связи лучше держать медиатеку на локальном компе и синхронизировать её с главным сервером.
        В моём случае хватило Radioboss + набор костылей батник для синхронизации треков/рекламы/настроек/планировщика.


        1. Teon_501 Автор
          22.12.2017 11:47

          Не соглашусь, я предоставил один из вариантов решений, не более. У меня это работает и обрывов не было еще не разу. Для нас, это решение позволяет менять музыку в реальном времени а так же вставлять срочные объявления, что бывает часто. Так же я забыл указать один нюанс, практически все компьютеры, кроме главного бухгалтера, у нас на linux, точнее на Ubuntu и заводить для Radioboss компьютер с Windows не целесообразно. Компьютер подключенные к усилителю скоро помрет и его место займет raspberry pi.