Автоматическое управление рекордером из исполняемого play-листа

Примечание: описание справедливо для версий ПО 1.8.89 и выше

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

Для реализации данной задачи можно предложить следующее: 

1. В исполняемом play-листе в отдельной колонке устанавливается маркер, по которому автоматически формируется новое событие в record-листе, задается наименование для нового клипа и формируется команда на старт записи;

2. В исполняемом play-листе, в другой колонке указывается команда на остановку записи. Поскольку "прямой" эфир будет состоять из нескольких событий, настройки будут сделаны таким образом, чтобы запись можно было запустить синхронно со стартом одного выбранного события, а остановить по старту (или по окончании) другого выбранного события в play-листе.

Для решения данной задачи будут использоваться Actions - система правил и команд платформы SL NEO. При помощи системы правил Actions можно запрограммировать выполнение сервером определенных действий при наступлении заданных условий. Условием для выполнения правила будет являться наступление определенного события в play-листе, условие задается в процессе настройки правила. При наступлении условия сервер будет выполнять заданное действие. В нашем примере команды будут формироваться программным каналом (программный модуль Program Channel) и транслироваться сервису записи (Recorder).

Правило для формирования нового события и старта записи

Для формирования нового события в rec-лиcте необходимо создать правило (Action) для соответствующего программного канала (Program Channel), которое при выполнении условия создаст новую строку в листе записи с определенными атрибутами и запустит запись.

Настройки будут осуществляться из web-консоли управления сервером, который формирует программу. В левом меню консоли выбираем Manage, выбираем закладку Program Outputs и канал Program_1. В нем выбираем закладку Actions, далее - закладку Playlist events и в ней выбираем Add Action

В открывшемся окне вводим параметры нового правила:

rec_ctrl1.jpg

В разделе Action Configuration поле Name в произвольной форме вводим наименование правила, в нашем примере - REC Start, в поле Layer выбираем слой, который будет генерировать команды. Выбираем 1 - основной полноэкранный слой (слой основного play-листа). В поле Address указываем IP адрес сервера, на котором функционирует соответствующий рекордер или оставляем поле пустым при значении localhost.

Нажимаем на три точки рядом с полем Service - если сервер с указанным IP адресом активен, в списке будут отображены все его доступные сервисы. Выбираем сервис записи, которым будем управлять - Recorder_1, нажимаем на три точки рядом с полем Action и выбираем из списка действие, которое будет выполняться при срабатывании правила - Append Item.

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

Производим настройки в  разделе Action parameters: в поле Param 1 можно задать длительность события записи. Поскольку длительность "прямого" эфира нельзя установить точно, оставим это поле пустым. В поле Param 2 задаем тип старта события записи - Manual. Нажимаем на три точки рядом с полем Param 3 и выбираем, из какой колонки play-листа будет считано наименование для нового клипа. В нашем примере это колонка GPI 1 V (GPI 1 Value).

В поле Param 4 задаем имя папки БД сервера, в которую будет помещен клип или оставляем поле пустым, в этом случае клип будет помещен в папку с текущей датой. В поле Param 5 указываем "время жизни" нового клипа в сутках или оставляем поле пустым.

В поле Param 6 указываем действие для рекордера при срабатывании правила - старт записи, команда START.

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

Правило для остановки записи

Для остановки записи из play-листа создаем новое правило для соответствующего программного канала (Program Channel). В левом меню консоли управления выбираем Manage, выбираем закладку Program Outputs и канал Program_1. В нем выбираем закладку Actions, далее - закладку Playlist events и в ней выбираем Add Action

В открывшемся окне вводим параметры: в разделе Action Configuration поле Name в произвольной форме вводим наименование правила, в поле Layer выбираем слой, который будет генерировать команды. Выбираем 1 - слой основного play-листа. В поле Address указываем IP адрес сервера, на котором функционирует рекордер или оставляем поле пустым при значении localhost. Нажимаем на три точки рядом с полем Service и выбираем сервис записи, которым будем управлять - Recorder_1, нажимаем на три точки рядом с полем Action и выбираем из списка действие, которое будет выполняться при срабатывании правила - Stop.

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

rec_ctrl3.jpg

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

Теперь, после выполненных настроек, запись будет стартовать и останавливаться автоматически, в соответствии с командами в колонках GPI 1 и GPI V1 исполняемого play-листа (см. рисунок). 

rec_ctrl2.jpg