Модуль «Радио»

Интернет-радио — уникальный инструмент, позволяющий транслировать информационный, развлекательный или музыкальный контент по всему миру. Классическая радиостанция требует дорогостоящей лицензии и оборудования, ограничена территориально, не обеспечивает высокого качества звука, а для организации интерактива нуждается во вспомогательных средствах.

Интернет-радио, созданное с помощью системы «Управсайт», представляет собой плотно интегрированный с веб-сайтом механизм, обеспечивающий администрирование любым количеством человек в реальном времени. Слушатели могут голосовать за понравившиеся треки, составляя хит-парад радиостанции, а также круглосуточно заказывать любимые песни в эфире в автоматическом режиме, учитывающем правила заказов и ротации.

Плейлист составляется как вручную, так и с помощью определённого набора условий. Гибкие таймеры определяют, когда в эфире прозвучат заставки, «кукушки» и реклама. История и новинки эфира, лидеры заказов и хит-парад выводятся как с помощью блоков, так и специальных страниц модуля. Для заказов имеется раздел со списком доступных песен. Кроме того, для интерактивных запросов и получения разнообразных данных предусмотрен полноценный API, незаменимый для создания как внутренних, так и внешних приложений, плееров и т. п.

Панель управления

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

Панель управления радио

Сверху расположен блок с общей информацией, отображающий статус радиостанции («Автомат», «Студия» или «Оффлайн»), часы, количество слушателей, а также голосов «за» и «против» текущего трека. Все эти параметры меняются в реальном времени, за исключением количества слушателей, которое обновляется по таймеру один раз в минуту. Часы показывают локальное время, установленное на вашем компьютере. Обратите внимание на тот факт, что ваш часовой пояс учитывается при выводе данных в блоках очереди воспроизведения и истории эфира. Администратор может принять участие в голосовании и получить подробную информацию о слушателях (IP-адрес, канал, географическое местоположение при наличии соответствующего модуля, название браузера/плеера, время подключения и величину лага), кликая мышью по соответствующим иконкам.

Окно плеера содержит данные о звучащем треке: название, исполнитель, альбом, год, изображение, а также сведения о длительности и текущем остатке. Положение ползунка обновляется каждую секунду и позволяет визуализировать два последних параметра.

Блок «Фонотека» предназначен для работы с треками. Здесь вы видите все аудиофайлы фонотеки, можете их редактировать, просматривать статистику, удалять и загружать новые. Для быстрого перехода к треку имеется поисковая строка. В секции «Работа с фонотекой» мы остановимся подробнее на каждом из действий.

Окно «Очередь» показывает звуковые файлы, находящиеся в очереди на воспроизведение. Слева от названия отображается расчётное время вывода в эфир, а справа — длительность трека. Треки, поставленные в очередь таймером, выделяются синим цветом, администратором — зелёным, заказанные слушателями — красным. Для добавления файла в очередь просто перетащите его из окна «Фонотека» или «История» с помощью мыши и отпустите кнопку в нужном месте. Сортировка также осуществляется методом «Drag & Drop». Для удаления из очереди конкретного трека выделите его и нажмите кнопку «Удалить». Чтобы очистить всю очередь нажмите кнопку «Очистить». Трек не может быть удалён, если он уже заблокирован трансляционным модулем (его название перечёркнуто), что происходит примерно за 10 секунд до начала воспроизведения. Если в очереди присутствуют блокированные треки, то функция очистки в этот момент недоступна. Наполнение очереди может осуществляться как в ручном, так и в автоматическом режиме. Редактируемые параметры последнего сгруппированы на вкладке «Автодиджей» в настройках модуля.

Блок «История» отображает последние 50 песен, звучавших в эфире. Время начала воспроизведения показано слева, а длительность трека — справа от названия. Цветовое кодирование аналогично применяемому в окне очереди. Для удаления трека нажмите кнопку «Удалить», предварительно выделив требуемый объект. Для очистки истории нажмите кнопку «Очистить», после чего выберите диапазон треков для удаления в открывшемся диалоговом окне. Доступно удаление всех треков, звучавших до выбранной даты, всех записей, кроме «XX» последних, а также всей истории в целом.

Очистка истории

Окно «Таймеры» визуализирует существующие таймеры, позволяет их редактировать и удалять, а также создавать новые задачи, выполняемые по расписанию. Для создания таймера нажмите кнопку «Создать», для правки или удаления выделите интересующий объект и нажмите кнопку «Править» или «Удалить» соответственно. Форма добавления таймера выглядит так:

Добавление таймера

Для успешного создания таймера необходимо указать его название (максимум 255 символов), время срабатывания (час может быть «Любой» или иметь конкретное числовое значение), определиться с выполняемым действием и позицией, куда выбранный трек будет помещён (в начало или конец очереди). Таймер может выбирать звуковой файл двумя способами: из нужной категории по указанной логике или поставить определённый администратором конкретный трек. Форма редактирования выглядит точно так же, как и форма добавления, разница лишь в том, что поля предварительно заполнены актуальными значениями. Для отправки данных на сервер как при добавлении, так и при редактировании таймера не забывайте нажимать кнопку «Сохранить».

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

Все действия продублированы в контекстных меню. Синхронизация между администраторами и сервером происходит с помощью протокола «WebSocket» в реальном времени. Например, если вы только что создали таймер, он практически мгновенно появится в блоке «Таймеры» у других администраторов, то же самое справедливо и для остальных действий.

Работа с фонотекой

Чтобы добавить новый аудиофайл нажмите кнопку «Загрузить». Для правки существующего трека выделите его кликом мыши и нажмите кнопку «Править». При этом откроется форма следующего вида (в первом случае она будет пуста, во втором заполнена текущими данными):

Загрузка трека

При клике по полю «Файл» откроется окно проводника для выбора файла на вашем компьютере. Поддерживается перетаскивание с помощью мыши (Drag & Drop). Допустимые форматы: «mp3», «flac» и «wav». Максимальный размер ограничен настройками сервера, это значение отображается в комментарии к полю. Проверка расширения и размера происходит в браузере сразу же после осуществления выбора. При добавлении трека загрузка файла обязательна. При редактировании, если файл заменять не требуется, оставьте это поле пустым.

Следующее, обязательное для заполнения поле — «Категория». Предопределены следующие варианты: «Музыка», «Заставки», «Кукушки», «Реклама» и «Разное». Категории широко используются при создании таймеров. Например, автомат может ставить в очередь заставку каждые 15 минут, а рекламный ролик каждые полчаса. Кроме того, голосовать можно только за треки категории «Музыка», их же выбирает автодиджей при формировании очереди воспроизведения.

Поля «Исполнитель» и «Название» необходимо заполнить значениями, длина которых не превышает 255 символов. То же ограничение распространяется на поле «Альбом», которое в отличие от двух предыдущих можно оставить пустым. При выборе корректного файла исполнитель и название трека извлекаются из его имени, поэтому для автоматического заполнения соответствующих полей называйте загружаемые файлы в формате «Исполнитель, пробел, дефис, пробел, название», например: «Чайф - Не со мной.mp3».

Кроме того, поля «Исполнитель» и «Альбом» оснащены функцией автодополнения вводимых значений на основе существующих записей в базе данных. При выборе альбома из выпадающего списка также будут заполнены поля «Год» и «Изображение» (при наличии данной информации). Таким образом, если вы загружаете не первую песню группы «Чайф», просто введите в поле «Исполнитель» букву «Ч» и, при необходимости, продолжайте ввод для уточнения результатов поиска. Когда исполнитель указан до ввода альбома, в первую очередь будут предложены совпадения с названиями альбомов для данного исполнителя.

В поле «Год» подразумевается указание года выпуска трека, поэтому длина вводимых данных ограничена четырьмя символами. Заполнять его не обязательно.

Такая характеристика как «Вес» позволяет улучшить алгоритм ротации песен в зависимости от их «хитовости». В это поле можно вписать число в диапазоне от 0 до 255. По умолчанию в него подставлено значение, определённое настройками модуля.

Каждому треку можно назначить изображение. Клик по ссылке «Нажмите, чтобы выбрать изображение» откроет менеджер файлов сайта, в котором вы сможете загрузить новый графический файл или выбрать уже существующий. Подробный справочный материал по файловому менеджеру находится здесь (подраздел «Файлы»). После выделения нужного изображения нажмите на появившуюся кнопку «Выбрать», после чего диалоговое окно закроется, а поле «Изображение» отобразит выбранную миниатюру. Для смены изображения кликните по нему и выберите требуемый файл в открывшемся окне. При наличии ассоциированного графического файла под его миниатюрой появляется ссылка «Удалить», нажав на которую вы разорвёте связь между изображением и треком, при этом сама картинка удалена не будет.

Выбор изображения

По окончании нажмите на кнопку «Сохранить». Если форма заполнена без ошибок — данные отправятся на сервер, в противном случае некорректно заполненные поля будут подсвечены красным цветом, а под ними появятся текстовые описания ошибок, требующих исправления. При успешной загрузке/редактировании трека информация незамедлительно появится/обновится у всех администраторов благодаря синхронизации панелей управления по передовой технологии «WebSocket».

Выделите интересующий трек и нажмите кнопку «Статистика» для просмотра такой информации, как дата добавления и последнего появления в эфире, общее количество воспроизведений, голосов «за» и «против», заказов слушателями и т. п.

Статистика трека

Часть данных может отсутствовать, например, вы не увидите строку «Последний голос», если за трек никогда не голосовали.

Для удаления трека нажмите кнопку «Удалить», предварительно выделив его в блоке «Фонотека». После согласия с диалогом подтверждения файл будет безвозвратно удалён с сервера.

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

Если количество треков достаточно большое, работу с фонотекой ускорит поисковая строка. Введите ключевое слово в текстовое поле и нажмите кнопку «Поиск» или «Ввод» на клавиатуре. Все совпадения подсветятся зелёным цветом, а первое из них будет выделено и сфокусировано. При отсутствии результатов вы получите соответствующее уведомление.

Настройки

Вкладка «Настройки» содержит множество полезных параметров, позволяющих максимально точно подогнать типовое интернет-радио на базе системы «Управсайт» под конкретные требования вашего проекта.

Настройки модуля «Радио»

Секция «Автодиджей»

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

В области «Правила выбора треков» задаётся алгоритм формирования плейлиста автодиджеем. Допустимо использование до десяти правил. Новое правило создаётся после клика по ссылке «Добавить», а для удаления существующего используйте ссылку «Удалить» слева от него. По умолчанию правила выполняются в том же порядке, как вы видите их в панели управления, но доступна опция «случайная последовательность». Для сортировки перетаскивайте выпадающие списки с помощью мыши.

По мере ротации песен их вес может уменьшаться с каждым воспроизведением (см. настройки в секции «Веса треков»). Если слушатели не голосуют за трек и не заказывают его, то в определённый момент вес может достигнуть порогового значения, ниже которого песня перестанет звучать в эфире. Именно этот параметр называется «Минимальный вес трека для ротации». Он может принимать нулевое значение, отменяющее выпадание из эфира по весовому принципу.

«Разброс случайности выбора» — два числа, улучшающих непредсказуемость результата выбора автодиджея. Сначала количество треков, удовлетворяющих условию текущего правила, ограничится до случайного процента от размера всей фонотеки, полученного из этого диапазона. Конечный трек будет определён случайным образом из выбранных на предыдущем этапе.

Параметры «Минимальный интервал для появления трека/исполнителя/альбома/названия в эфире» задают защитный интервал в минутах, в течение которого тот же самый трек/исполнитель/альбом/название не могут быть выбраны автодиджеем и, возможно, заказаны слушателями (см. настройки в секции «Заказы и голосование»).

«Задержка для буферизации плееров» измеряется секундами и позволяет более точно синхронизировать информацию о звучащем треке на сайте со звуковым потоком. На это значение будут увеличиваться параметры «Дата начала воспроизведения» и «Остаток в секундах».

Веса треков

«Вес трека по умолчанию» может принимать значения от 0 до 255. Это число вставляется в поле «Вес» формы добавления трека, оно же может устанавливаться для всех песен при выбывании из ротации определённого их процента (см. последнюю настройку этой секции).

Параметр «Уменьшение веса при воспроизведении» определяет, на сколько единиц будет уменьшен вес трека при каждом появлении в эфире. Также для более гибкого управления весами песен предусмотрены настройки «Увеличение веса при заказе», «Увеличение веса при голосовании „за”» и «Уменьшение веса при голосовании „против”».

При использовании весового порога (см. настройку «Минимальный вес трека для ротации») рано или поздно количество выбывших из эфира песен достигнет критического значения. Поэтому вы можете задать процент, при превышении которого у всех треков автоматически установится вес по умолчанию или веса будут увеличены на пороговое значение.

Заказы и голосование

Здесь вы можете разрешить заказы и голосование, запретить запросы с прокси-серверов и узлов сети «Tor», отключить голосование «против», а также определить, будет ли система учитывать допустимые интервалы ротации треков/исполнителей/альбомов/названий при заказах (они задаются в секции «Автодиджей»).

Также с помощью слайдеров выставляются ограничения на максимальное количество заказов, полученных от одного слушателя в час и в сутки.

Ограничения

Определите, сколько треков будет выводиться на страницах истории, хит-парада, лидеров заказов, новинок эфира, а также количество исполнителей на одной странице одноимённого раздела.

При желании можно отметить галочками пункты «Выводить в истории эфира только треки категории „Музыка”» и «Выводить в новинках эфира только треки категории „Музыка”». В этом случае на страницах и в блоках истории и новинок не будут отображены заставки и треки других категорий, отличных от «Музыка».

Аналогичным образом работает опция «Выводить в песнях исполнителя только треки категории „Музыка”». Если она включена, то на страницах листинга треков по исполнителям появятся только те песни, которые можно заказать в эфире при отсутствии запрета на приём заказов через API сайта.

API радио

В этой секции администратор разрешает или запрещает для вывода через API модуля «Радио» определённые параметры треков и исполнителей. Например, вы не хотите, чтобы через API запроса текущего трека можно было получить количество слушателей. Для этого просто снимите соответствующую галочку и нажмите кнопку «Сохранить». Если не будет разрешён хотя бы один параметр, доступ к API будет закрыт.

API, шаблоны и блоки

API — незаменимый инструмент для повышения интерактивности сайта, создания разнообразных приложений, плееров и т. п. С помощью API осуществляется голосование и заказ, запрос текущего трека и истории эфира, хит-парада и новинок, лидеров заказов, исполнителей и песен, а также поиск по фонотеке.

Семь шаблонов определяют тип и формат вывода данных на сайте интернет-радио. Шаблон «Страница радио» используется при формировании главной страницы модуля, расположенной по адресу «/radio/». Шаблоны «Исполнители» и «Треки» применяются при генерации страниц, предоставляющих информацию о фонотеке и используемых для приёма заказов от слушателей. Названия шаблонов «История эфира», «Хит-парад», «Лидеры заказов» и «Новинки эфира» говорят сами за себя. Они отвечают за отдельные страницы, посвящённые рейтингам, спискам новинок и недавно звучавших треков.

Информацию о текущем треке, истории и новинках эфира, хит-параде и лидерах заказов вы также можете вставить в нужный участок сайта с помощью соответствующих блоков.

Построение запросов и формат ответов API, а также переменные, используемые в шаблонах и блоках, описаны в справочном файле, ссылку на который вы найдёте в своей панели администрирования.