Функционал моделей событий для видео аналитики: различия между версиями

Материал из SmartPlayer
Нет описания правки
Строка 60: Строка 60:
=== '''Приоритеты событий''' ===
=== '''Приоритеты событий''' ===
В личном кабинете SmartPlayer реализована три вида приоритетов:
В личном кабинете SmartPlayer реализована три вида приоритетов:
* низкий;
# низкий;
* средний;
# средний;
* высокий.
# высокий.
[[File:Приоритеты_событий.png|thumb|center| Пример списка приоритетов|800px]]
Логика работы приоритетов следующая:
* если текущее событие ниже по приоритету, чем то, которое произошло, то произойдет переключение на событие с более высоким приоритетом.
* если текущее событие имеет приоритет выше, чем то, которое произошло, то переключения события не произойдет.
* если текущее событие и следующее событие то они проиграются по очереди.
=== '''Изменение настроек личного кабинета SmartPlayer''' ===
=== '''Изменение настроек личного кабинета SmartPlayer''' ===
Для корректной работы событий пользователям необходимо будет зайти в раздел «Настройки» личного кабинета в двух случаяХ:
Для корректной работы событий пользователям необходимо будет зайти в раздел «Настройки» личного кабинета в двух случаяХ:
Строка 71: Строка 76:
В качестве ключа пользователь теперь может готовый json-файл, в котором после загрузки можно выбрать поле на которое будет смотреть сервер используя целевой путь. Поля «Целевой путь» и «Значение» после выделения кликом в json-файле определяются автоматически, но также «Значение» можно ввести вручную.
В качестве ключа пользователь теперь может готовый json-файл, в котором после загрузки можно выбрать поле на которое будет смотреть сервер используя целевой путь. Поля «Целевой путь» и «Значение» после выделения кликом в json-файле определяются автоматически, но также «Значение» можно ввести вручную.
{{Note|Сейчас на сервере работа ведется только с подобъектами.|warn}}
{{Note|Сейчас на сервере работа ведется только с подобъектами.|warn}}
  далее заходим в трансляцию и добавляем событие через икону «+». В трансляции главная страница и она на себя зациклена.   Если сначала показалось событие со средним приоритетом , а потом появилось событие с низким приоритетом, то на экране все равно будет событие со средним приоритетом. Но если переключение с события со средним приоритетом будет на событие с высокми приоритетом на устройство выведется событие с высоким приоритетом. два события с одинаковым приоритетом буду переключаться между собой. Данная логика работает ко всем привязанным к трансляции устройствам. появился новый тип события по webhoock (вебхук) со своего сервера можно было обратится к серверу SmartPlayer. Событие - серверное приложение - ключ (внешний источник). в этот ключ можно добавить полноценный json-файл.  Сейчас на сервере работа ведется только с подобъектами.
  далее заходим в трансляцию и добавляем событие через икону «+». В трансляции главная страница и она на себя зациклена.     появился новый тип события по webhoock (вебхук) со своего сервера можно было обратится к серверу SmartPlayer. Событие - серверное приложение - ключ (внешний источник). в этот ключ можно добавить полноценный json-файл.  Сейчас на сервере работа ведется только с подобъектами.


== '''Видеоинструкция''' ==
== '''Видеоинструкция''' ==

Версия от 12:12, 15 октября 2025

Описание ситуации

В рамках реализации проекта видеоаналитики для велотрека была переработана логика работы событий на платформе SmartPlyer. Ранее логика работы событий привязывалась к одной конкретной трансляции. То есть, для каждой трансляции нужно создавать своё, отдельное событие и переиспользовать его в других трансляциях возможности не было. После переработки появился полноценная категория в разделе «Трансляции» («События трансляций»), в которой можно создавать события и впоследствии привязывать их к нужным трансляциям. Таким образом появлялся логируемый список событий, который можно создавать, настраивать, хранить и привязывать к нужным трансляциям.

Предварительная настройка

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

Изменения личного кабинета

В личном кабинете SmartPlayer при текущей реализации прошли следующие изменения:

  1. Появилась новая категория «События трансляций» в разделе «Трансляция».
  2. Добавились параметры в разделе «Настройки» влияющие на работу событий.

Категория «События трансляций»

Категория «События трансляций» располагается в личном кабинете в разделе «Трансляция».

Пример отображения категории «События трансляции» в разделе «Трансляции»

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

  1. События трансляции — включает в себя все созданные события.
  2. Журнал событий трансляций — список с подробным описанием использования событий.
Пример отображения главной страницы категории «События трансляции»
Выделенные с помощью чекбокса события отображаются в правой части экрана.
Пример отображения главной страницы категории «События трансляции»

Для выделенных событий доступна два действия:

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

События трансляции

Блок «События трансляции» включает в себя следующую информацию и возможности:

  • кнопка «Создать» — позволяет создать событие и в последствии прикрепить его к трансляции;
  • чекбокс для выделения — выделяет нужное событие;
  • название — отображается текстовое название события;
  • тип события — отображается тип имеющегося события;
  • ключ — отображается ключ используемый для события;
  • значение — численное значение для события;
  • приоритет — отображается текстом приоритет события;
  • кнопка «Отправить» — кнопка которая позволяет протестировать привязанное к трансляции и устройству событие (эмулирует это событие виртуально) и отобразит контент события на экране. При корректной настройки трансляции и события кнопка «Отправить» переключит событие, если его приоритет выше чем у текущего события.
Для более удобного поиска событий пользователь может обратится в систему поиска.
Пример отображения системы поиска

кнопка «Создать»

Кнопка «Создать» открывает модальное окно в котором пользователю необходимо заполнить поля для создания события. Доступны следующие основные поля:

  • название — прописать текстовое название события;
  • приоритет — выставить приоритет события. Доступно три вида: низкий, средний, высокий;
  • тип события — выбрать из раскрывающегося списка нужный тип события (в данном случае «Серверное приложение»)
Пример отображения списка основных параметров

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

В старой логике работы событий такого ключа для события типа «Серверное приложение» нет и его невозможно выбрать.
Пример отображения ключа «Внешний источник»

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

Пример отображения дополнительных прааметров

Это параметры:

  • модель выходящих данных — позволяет перенести с помощью drag-n-drop (перетаскивания файла) json-файл, который будет расшифрован и выбрать (с помощью клика по значению) в этом файле нужное поле. Это поле будет ориентиром для сервера и с него он будет получать данные. Клик по значению автоматически заполнит поле «Значение».
Пример отображения перенесенного json-фалйа в параметр «Модель выходящих данных»
  • значение — поле в котором необходимо указать значении вручную или с помощью клика по значению в json-файле (как описано выше).
Пример отображения заполненного поля «Значение»

Журнал событий

Блок «Журнал событий» включает в себя все созданные и передает о них следующую информацию:

Для более удобного поиска событий пользователь может обратится в систему поиска.
Пример отображения системы поиска

Приоритеты событий

В личном кабинете SmartPlayer реализована три вида приоритетов:

  1. низкий;
  2. средний;
  3. высокий.
Пример списка приоритетов

Логика работы приоритетов следующая:

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

Изменение настроек личного кабинета SmartPlayer

Для корректной работы событий пользователям необходимо будет зайти в раздел «Настройки» личного кабинета в двух случаяХ:

  1. Создания API-ключа для события.
  2. Количество отображаемых событий в категории «События трансляции».

Изменения серверной логики

На данный момент серверное приложение может работать по вебхукам (webhook), которая позволяет серверам обращаться к серверу SmartPlayer. В качестве ключа пользователь теперь может готовый json-файл, в котором после загрузки можно выбрать поле на которое будет смотреть сервер используя целевой путь. Поля «Целевой путь» и «Значение» после выделения кликом в json-файле определяются автоматически, но также «Значение» можно ввести вручную.

Сейчас на сервере работа ведется только с подобъектами.
далее заходим в трансляцию и добавляем событие через икону «+». В трансляции главная страница и она на себя зациклена.     появился новый тип события по webhoock (вебхук) со своего сервера можно было обратится к серверу SmartPlayer. Событие - серверное приложение - ключ (внешний источник). в этот ключ можно добавить полноценный json-файл.  Сейчас на сервере работа ведется только с подобъектами.

Видеоинструкция

Создание событий в личном кабинете

Дополнительная информация

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

Пример отображения вкладки «Обсуждения» на wiki-странице

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