Функционал моделей событий для видео аналитики
Описание ситуации
В рамках реализации проекта видеоаналитики для велотрека была переработана логика работы раздела «События». Ранее логика работы событий привязывалась к одной конкретной трансляции. То есть, для каждой трансляции нужно создавать своё событие и переиспользовать его в других трансляциях. После переработки созданные события можно привязывать к любой трансляции. Была добавлена новая логика. Также на стороне личного кабинета было добавлено ведения журналов события в отдельном разделе - «События трансляции».
Изменения личного кабинета
В личном кабинете SmartPlayer при текущей реализации прошли следующие изменения:
- Появилась новая категория «События трансляций» в разделе «Трансляция».
- Добавились параметры в разделе «Настройки» влияющие на работу событий.
Категория «События трансляций»
Категория «События трансляций» располагается в личном кабинете в разделе «Трансляция».

Перейдя категорию «События трансляции» пользователю откроется главная страница раздела, которая разделена на два блока:
- События трансляции — включает в себя все созданные события.
- Журнал событий трансляций — список с подробным описанием использования событий.


Для выделенных событий доступна два действия:
- Отменить выбор — снимает чекбокс (галочку) выделения со всех устройств.
- Удалить — удаляет сущность выделенных события из списка событий, а также записи о событиях с сервера.

События трансляции
Блок «События трансляции» включает в себя следующую информацию и возможности:
- кнопка «Создать» — позволяет создать событие и в последствии прикрепить его к трансляции;
- чекбокс для выделения — выделяет нужное событие;
- название — отображается текстовое название события;
- тип события — отображается тип имеющегося события;
- ключ — отображается ключ используемый для события
- значение — численное значение для события
- приоритет — отображается текстом приоритет события
- отправить —
Журнал событий
Блок «Журнал событий» включает в себя все созданные и передает о них следующую информацию:
Приоритеты событий
Изменение настроек личного кабинета SmartPlayer
Для корректной работы событий пользователям необходимо будет зайти в раздел «Настройки» личного кабинета в двух случаяХ:
- Создания API-ключа для события.
- Количество отображаемых событий в категории «События трансляции».
Изменения серверной логики
На данный момент серверное приложение может работать по вебхукам (webhook), которая позволяет серверам обращаться к серверу SmartPlayer. В качестве ключа пользователь теперь может готовый json-файл, в котором после загрузки можно выбрать поле на которое будет смотреть сервер используя целевой путь. Поля «Целевой путь» и «Значение» после выделения кликом в json-файле определяются автоматически, но также «Значение» можно ввести вручную.
Теперь на dev-сервере появилась новая вкладка в разделе трансляции - события трансляции. там можно создать событие. Ввести название события и приоритет. Созданное событие является отдельной сущностью в личном кабинете. далее заходим в трансляцию и добавляем событие через икону «+». В трансляции главная страница и она на себя зациклена. В списке событий есть кнопка «Отправить» необходимая для эмуляции событий. При отправке событий страница переключается. При переключении события учитывается его приоритет. Если сначала показалось событие со средним приоритетом , а потом появилось событие с низким приоритетом, то на экране все равно будет событие со средним приоритетом. Но если переключение с события со средним приоритетом будет на событие с высокми приоритетом на устройство выведется событие с высоким приоритетом. два события с одинаковым приоритетом буду переключаться между собой. Данная логика работает ко всем привязанным к трансляции устройствам. появился новый тип события по webhoock (вебхук) со своего сервера можно было обратится к серверу SmartPlayer. Событие - серверное приложение - ключ (внешний источник). в этот ключ можно добавить полноценный json-файл. Сейчас на сервере работа ведется только с подобъектами.
Видеоинструкция
Создание событий в личном кабинете
Дополнительная информация
Если данная статья не помогает использовать функционал по назначению или после ее прочтения остаются вопросы, их можно озвучить в разделе "Обсуждения" вверху страницы.

Также дополнительную информацию можно узнать на странице Как взаимодействовать пользователю с разделом "Обсуждения"