Расписание эфиров для автоматизации профессионального вещания

Небольшое описание принципов работы расписания для новичков или как не наломать дров.
Учтите что это описание может быть изменено или дополнено в любой момент.

Основа расписания - набор заданий которые проверяются ежеминутно и срабатывают при совпадении условий.
Ротация по папкам - вместо плейлистов для удобства вы можете использовать папки - подробнее внизу.
Динамические плейлисты - плейлисты составленные из ротации папок или файлов - подробнее внизу.

Основа расписания

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

1. Расписание это список задач, которые проверяются ежеминутно и в случае соответствия запускаются. Если условие запуска совпадёт для нескольких плейлистов в одно время, запуск произойдёт последовательно.

2. Существует 3 вида запуска плейлистов: эфирный, вставка плейлиста, вставка 1 трека. Важно понимать, что по приоритету сначала отыграют вставки 1 трека из очереди, затем вставки плейлистов, и затем будет возврат к эфирному плейлисту. Если играет вставка плейлист, то по расписанию её может перебиить другая вставка плейлист по дате/времени. А вставка плейлист через N треков или N минут не перебьёт, а будет ожидать окончания текущей вставки.

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

4. Затем, если требуется, можно указать плейлисты вставки. Вставки, это плейлисты или треки, которые временно перебивают основной эфир. Как правило это короткие плейлисты или джинглы, которые вставляются в течении дня. Например: джинглы, заставки, реклама, часовые отбивки, расказы, мини-плейлисты.

5. При указании задачи в расписании следует указать способ включения плейлиста. Для эфирных плейлистов нужно всегда указывать включение по времени/дате, при этом вы можете задать сразу несколько временных условий. Время включения задаётся в стиле CRON, где не заданное значение принимает "любое значение". Расмотрим варианты пропуская звездочки:
****-**-10 **:00 Понед - плейлист будет запускаться каждый час в 00 минут, но только 10го числа в понедельник, нормально?
****-**-** 10:00 Понед - в 10 утра по понедельникам, вот это уже нормально
****-**-** 20:15 - каждый день в 20:15
****-**-** **:00 - каждый час
****-06-20 15:00 - 20го июня в 15:00
****-**-01 15:00 - 1го числа в 15:00

6. Вставки можно указывать не только по времени, но и включать каждые N минут или через N песен. Т.е. если вы хотите запускать джинглы каждые 15 минут, или например через каждые 5 проигранных песен, то эти условия для вас. Лучше не использовать таких условий слишком много.

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

8. Следующей опцией является способ проигрывания плейлиста, плейлист может играть попорядку, либо в разноброс, либо попорядку с перемешиванием в начале/конце. Режим текущего плейлиста можно менять в любой момент в управлении Авто-DJ.

9. Очень интересная опция это указание номера песни с которой будет стартовать плейлист. Если не указано - плейлист будет играть сначала, а если указать не номер, а -1, то плейлист будет влючаться с той позиции на которой он закончил до этого. Данная опция очень интересна например для вставки джинглов. В данном случае джинглы будут вставляться по одному, но продолжая порядок плейлиста.

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

11. Для тарифов PRO также существует возможность вставки джингла поверх потока. Кроме этого в настойках можно указать % громкости музыки в момент наложения джингла поверх.

Ротация папок без плейлистов

Удобнее всего использовать ротацию по папкам без создания плейлистов. Если вам требуется ротация по папкам без повторения исполнителей, это то что нужно. Больше не нужно заморачиваться с плейлистами. Просто загрузите файлы и задайте новую папку в расписании. Система будет выбирать из неё самые холодные треки без повторения исполнителей - всё автоматизировано. Холодные или остывшие треки - это треки которые дольше всего не выходили в эфир.

Как работает ротация по папкам. Система проверяет какие исполнители и треки играли недавно, после чего пытается выбрать исполнителя из папки который давно не звучал в эфире. При этом задача у ротатора по возможности отыграть все треки в папке. В случае когда в папке мало треков или малое кол-во исполнителей, система постарается равномерно распределить треки на сколько это возможно. Если в папке есть треки с одинаковыми названиями, то система постарается отыграть их все, но при этом максимально отдалив друг от друга. Необходимо загружать треки с правильными названиями исполнителей. Если требуется полное разнообразие, не загружайте большое кол-во треков одного исполнителя.

Алгоритм в числах. Есть выборки с лимитами и динамическими % из какого числа треков случайно выбрать следующий трек. Это нужно для того, чтобы папка не играла всегда в той же последовательности. Изначально система учитывает исполнителей из 30 последних треков, а затем без повторения исполнителя пытается выбрать трек из 50 самых холодных треков папки. Если в папке менее 100 треков, то система выбирает из 50% самых холодныъ треков. Это основные условия выборки треков для разнообразных папок. Для небольших папок срабатывают другие условия и лимиты. Данный алгоритм уже несколько лет дорабатывается под различные задачи наших клиентов и вникать в тонкости вряли имеет смысл. Если вы считате что что-то работает неверно, просто сообщите нам.

Важно! Если вы указываете папку в которой есть вложенные папки, то они также будут использоваться системой при ротации. Соответственно, если указать корневую папку "/", то система будет использовать абсолютно все загруженные файлы. О проблемах с ротацией папок пишите через контакты.

Динамические плейлисты с ротацией папок (аналог ротации часа)

Если возникла задача создать динамические плейлисты по аналогии с ротацией часа, то у нас это также возможно. Просто создайте пустой плейлист, а потом добавляйте в него как обычные треки, так и ротации папок. Такой плейлист будет играть как обычный плейлист, но там где добавлена папка проиграет 1 холодный трек из этой папки. Давайте для примера создадим плейлист для ротации часа или нескольких часов:
1. Джингл1
2. Реклама1
3. /Популярное/***
4. /Популярное/***
5. /Новинка/***
6. /Джинглы/***
7. /Реклама/***
8. /Популярное/***
9. /Популярное/***
10. /Новинка/***
Джинглы и реклама для примера добавлены как треки и как папки. Мы можем запустить этот плейлист как эфирный к примеру в 12:00 и указанные 10 треков будут играть по кругу пока не сработает новое условие из расписания. К примеру в 13:00 можно просто запустить другой эфирный плейлист. Динамические плейлисты удобны тем, что их можно составить 1 раз, указать запуск в расписании, а потом работать только с папками и файлами. В данном случае мы получаем и удобство работы с папками и гибкость плейлистов.

Ну вот в принципе и все основы расписания на данный момент. Возможно вы найдете и другие скрытые возможности :)