Как настроить обратный отсчет времени на рекламных блоках ?

Рассмотрим пример создания счетчика, отображающего время до конца текущего рекламного блока. Для решения данной задачей будут использоваться Actions - система правил для программного канала (Program Channel) и элементы API платформы SL NEO.

Actions – специальный механизм, использующийся в серверном ПО SL NEO и позволяющий реализовать событийную модель автоматизации эфира. При помощи системы правил можно запрограммировать выполнение сервером определенных действий при наступлении заданных условий. Условием для выполнения правила является наступление определенного события в play-листе, условие задается в процессе настройки правила. При наступлении условия сервер выполняет заданное действие. Существует набор определенных действий, выполнение которых может быть назначено.

API платформы SL NEO представляет собой программный интерфейс для взаимодействия сторонних приложений с сервером. В API включен ряд функций для управления графическим оформлением, некоторые функции API могут вызываться напрямую из правил (Actions) без участия сторонних приложений. В примере мы будем использовать функции API по работе с графическими элементами типа Text Counter, будем устанавливать значение для счетчика и запускать обратный отсчет.

Для примера понадобится play-лист, состоящий из передач и рекламных роликов.

playlist.jpg
 
Для наглядности, рекламные ролики выделены желтым цветом, каждый блок начинается с отбивки «Рекламный блок». У всех рекламных событий в колонке Type проставлено значение adv - это идентификатор, по которому сервер сможет отделить рекламу от прочих программ.

Для примера понадобится графическая композиция, в которой будет содержаться элемент Text Counter.

Counter_1.jpg
 
Элемент CountDownToNext - счетчик, имеющий тип Text Counter. Параметр Type для счетчика установим в значение External для того, чтобы счетчиком можно было управлять программно извне. Тип отсчета таймера - Backward.

Настройка графического слоя, содержащего счетчик

В пункте меню Status web-консоли управления сервером, в соответствующем окне ProgramChannel необходимо выбрать слой, в котором разместится счетчик - один из пунктов меню Graphics 1...N. В открывшемся окне, в поле Source type выбираем URL, в поле Source name вводим наименование графической композиции со счетчиком (см. поле Media в окне Media Browser). 

Создание первого правила для программного канала
 
Первое правило будет срабатывать на тех строках play-листа, значение колонки Type в которых равно adv, правило будет также задавать значение счетчику, равное времени до начала следующей программы. "Программами" будем считать те строки play-листа, для которых значение поля Type не равно adv. Для установки значения таймера будет использована API-команду counter_set_val.
 
Выполним следующие действия в web-консоли управления сервером:
 
В разделе Manage переходим в закладку Program Outputs, соответствующем программном канале (Program Channel) переходим в закладку Actions, выбираем Add action, в открывшемся окне. в произвольной форме вводим название нового правила в поле Name, в поле Layer выбираем слой, в котором будет срабатывать правило. Выбираем 1 - основной полноэкранный слой (слой основного play-листа). В поле Address указываем IP адрес сервера или оставляем поле пустым при значении localhost. Нажимаем на три точки рядом с полем Service и выбираем соответствующий сервис программного канала Program Channel, нажимаем на три точки рядом с полем Action и выбираем Graphics action - действие, которое будет выполнять сервер при срабатывании правила.

setCountDownAction.jpg

Делаем настройки в  разделе Action condition, в соответствии с рисунком. Здесь мы задаем условие при котором будет срабатывать правило: «если в текущей строке основного плейлиста значение поля Type равно adv».

Производим настройки в  разделе Action parameters: в поле Param1 вводим команду counter_set_val - данная команда API устанавливает значение таймера. В поле Param2 вводим название элемента графической композиции, имеющего тип Text Counter, значение которого мы хотим устанавливать. В нашем примере это счетчик - объект с именем CountdownToNext.

Next_item_field.jpgВ поле Param3 необходимо настроить автоматический расчет времени до следующей «нерекламной» программы. Для этого нажмем на три точки рядом с полем ввода и в открывшемся окне выберем пункт Next Item field… В новом открывшемся окне сделаем настройки в соответствии с рисунком. Мы настроили поиск ближайшей строки плейлиста со значением колонки Type не равным adv и подстановку значения времени до начала этой строки в поле Param3.
  
В поле Param4 впишем значение start и нажмем ОК.



Создание 2-х правил, которые будут скрывать счетчик на обычных передачах и показывать его на рекламе

Правило для показа счетчика во время рекламы использует функцию API object_show.

show_timer_action.jpg

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

hide_timer_action.jpg

На этом настройка закончена, нажимаем кнопку Apply Changes в верхней части web-консоли. При этом программный канал, для которого производились настройки, будет перезагружен.