Функционал моделей событий для видео аналитики: различия между версиями
Нет описания правки |
Нет описания правки |
||
| Строка 1: | Строка 1: | ||
== '''Описание ситуации''' == | == '''Описание ситуации''' == | ||
В рамках реализации проекта видеоаналитики для велотрека была переработана логика работы | В рамках реализации проекта видеоаналитики для велотрека была переработана логика работы событий на платформе SmartPlyer. Ранее логика работы событий привязывалась к одной конкретной трансляции. То есть, для каждой трансляции нужно создавать своё, отдельное событие и переиспользовать его в других трансляциях возможности не было. После переработки появился полноценная категория в разделе «Трансляции» («События трансляций»), в которой можно создавать события и впоследствии привязывать их к нужным трансляциям. Таким образом появлялся логируемый список событий, который можно создавать, настраивать, хранить и привязывать к нужным трансляциям. | ||
=== '''Предварительная настройка''' === | |||
{{Note|Новая логика работы событий реализована параллельно со старой. Со старой логикой работы событий можно ознакомиться [https://wiki.smartplayer.org/index.php/%D0%A2%D1%80%D0%B8%D0%B3%D0%B3%D0%B5%D1%80%D0%BD%D1%8B%D0%B5_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F_%D0%B2_%D1%82%D1%80%D0%B0%D0%BD%D1%81%D0%BB%D1%8F%D1%86%D0%B8%D0%B8 здесь]. В старой логике нельзя использовать в качестве ключа события «Внешний источник». Данный ключ доступен только в новой реализации при условии что событие создается в категории «События трансляции».|warn}} | |||
== '''Изменения личного кабинета''' == | == '''Изменения личного кабинета''' == | ||
| Строка 8: | Строка 8: | ||
# Появилась новая категория «События трансляций» в разделе «Трансляция». | # Появилась новая категория «События трансляций» в разделе «Трансляция». | ||
# Добавились параметры в разделе «Настройки» влияющие на работу событий. | # Добавились параметры в разделе «Настройки» влияющие на работу событий. | ||
=== '''Категория «События трансляций»''' === | === '''Категория «События трансляций»''' === | ||
Категория «События трансляций» располагается в личном кабинете в разделе «Трансляция». | Категория «События трансляций» располагается в личном кабинете в разделе «Трансляция». | ||
| Строка 28: | Строка 27: | ||
* название — отображается текстовое название события; | * название — отображается текстовое название события; | ||
* тип события — отображается тип имеющегося события; | * тип события — отображается тип имеющегося события; | ||
* ключ — отображается ключ используемый для события | * ключ — отображается ключ используемый для события; | ||
* значение — численное значение для события | * значение — численное значение для события; | ||
* приоритет — отображается текстом приоритет события | * приоритет — отображается текстом приоритет события; | ||
* | * кнопка «Отправить» — кнопка которая позволяет протестировать привязанное к трансляции и устройству событие (эмулирует это событие виртуально) и отобразит контент события на экране. При корректной настройки трансляции и события кнопка «Отправить» переключит событие, если его приоритет выше чем у текущего события. | ||
{{Note|Для более удобного поиска событий пользователь может обратится в систему поиска. | |||
[[File:Система_поиск_события.png|thumb|center| Пример отображения системы поиска|800px]]|warn}} | |||
==== '''кнопка «Создать»''' ==== | |||
Кнопка «Создать» открывает модальное окно в котором пользователю необходимо заполнить поля для создания события. Доступны следующие основные поля: | |||
* название — прописать текстовое название события; | |||
* приоритет — выставить приоритет события. Доступно три вида: низкий, средний, высокий; | |||
* тип события — выбрать из раскрывающегося списка нужный тип события (в данном случае «Серверное приложение») | |||
[[File:Базовая_модалка_создания_событий.png|thumb|center| Пример отображения списка основных параметров|800px]] | |||
После выбора в качестве типа события значения «Серверное приложение» появится еще один параметр — «Ключ». Это параметр отвечает за то, на какое будет смотреть сервер для поиска события. В текущей реализации необходимо выбрать в качестве ключа «Внешний источник». | |||
{{Note|В старой логике работы событий такого ключа для события типа «Серверное приложение» нет и его невозможно выбрать.|warn}} | |||
[[File:Выбор_ключа.png|thumb|center| Пример отображения ключа «Внешний источник»|800px]] | |||
Выбрав «Внешний источник» в качестве ключа пользователь увидит что модальное окно увеличилось еще больше и появились два новых параметра. | |||
[[File:Новые_параметры.png|thumb|center| Пример отображения дополнительных прааметров|800px]] | |||
Это параметры: | |||
* модель выходящих данных — позволяет перенести с помощью drag-n-drop (перетаскивания файла) json-файл, который будет расшифрован и выбрать (с помощью клика по значению) в этом файле нужное поле. Это поле будет ориентиром для сервера и с него он будет получать данные. Клик по значению автоматически заполнит поле «Значение». | |||
[[File:Новые_параметры.png|thumb|center| Пример отображения перенесенного json-фалйа в параметр «Модель выходящих данных»|800px]] | |||
* значение — поле в котором необходимо указать значении вручную или с помощью клика по значению в json-файле (как описано выше). | |||
[[File:Новые_параметры.png|thumb|center| Пример отображения заполненного поля «Значение»|800px]] | |||
=== '''Журнал событий''' === | === '''Журнал событий''' === | ||
Блок «Журнал событий» включает в себя все созданные и передает о них следующую информацию: | Блок «Журнал событий» включает в себя все созданные и передает о них следующую информацию: | ||
| Строка 39: | Строка 56: | ||
* | * | ||
* | * | ||
{{Note|Для более удобного поиска событий пользователь может обратится в систему поиска. | |||
[[File:Система_поиск_события.png|thumb|center| Пример отображения системы поиска|800px]]|warn}} | |||
=== '''Приоритеты событий''' === | === '''Приоритеты событий''' === | ||
В личном кабинете SmartPlayer реализована три вида приоритетов: | |||
* низкий; | |||
* средний; | |||
* высокий. | |||
=== '''Изменение настроек личного кабинета SmartPlayer''' === | === '''Изменение настроек личного кабинета SmartPlayer''' === | ||
Для корректной работы событий пользователям необходимо будет зайти в раздел «Настройки» личного кабинета в двух случаяХ: | Для корректной работы событий пользователям необходимо будет зайти в раздел «Настройки» личного кабинета в двух случаяХ: | ||
| Строка 48: | Строка 71: | ||
В качестве ключа пользователь теперь может готовый json-файл, в котором после загрузки можно выбрать поле на которое будет смотреть сервер используя целевой путь. Поля «Целевой путь» и «Значение» после выделения кликом в json-файле определяются автоматически, но также «Значение» можно ввести вручную. | В качестве ключа пользователь теперь может готовый json-файл, в котором после загрузки можно выбрать поле на которое будет смотреть сервер используя целевой путь. Поля «Целевой путь» и «Значение» после выделения кликом в json-файле определяются автоматически, но также «Значение» можно ввести вручную. | ||
{{Note|Сейчас на сервере работа ведется только с подобъектами.|warn}} | {{Note|Сейчас на сервере работа ведется только с подобъектами.|warn}} | ||
далее заходим в трансляцию и добавляем событие через икону «+». В трансляции главная страница и она на себя зациклена. При переключении события учитывается его приоритет. Если сначала показалось событие со средним приоритетом , а потом появилось событие с низким приоритетом, то на экране все равно будет событие со средним приоритетом. Но если переключение с события со средним приоритетом будет на событие с высокми приоритетом на устройство выведется событие с высоким приоритетом. два события с одинаковым приоритетом буду переключаться между собой. Данная логика работает ко всем привязанным к трансляции устройствам. появился новый тип события по webhoock (вебхук) со своего сервера можно было обратится к серверу SmartPlayer. Событие - серверное приложение - ключ (внешний источник). в этот ключ можно добавить полноценный json-файл. Сейчас на сервере работа ведется только с подобъектами. | |||
== '''Видеоинструкция''' == | == '''Видеоинструкция''' == | ||
[https://vk.com/video-227547238_456239097 Создание событий в личном кабинете] | [https://vk.com/video-227547238_456239097 Создание событий в личном кабинете] | ||
Версия от 11:57, 15 октября 2025
Описание ситуации
В рамках реализации проекта видеоаналитики для велотрека была переработана логика работы событий на платформе SmartPlyer. Ранее логика работы событий привязывалась к одной конкретной трансляции. То есть, для каждой трансляции нужно создавать своё, отдельное событие и переиспользовать его в других трансляциях возможности не было. После переработки появился полноценная категория в разделе «Трансляции» («События трансляций»), в которой можно создавать события и впоследствии привязывать их к нужным трансляциям. Таким образом появлялся логируемый список событий, который можно создавать, настраивать, хранить и привязывать к нужным трансляциям.
Предварительная настройка
Изменения личного кабинета
В личном кабинете SmartPlayer при текущей реализации прошли следующие изменения:
- Появилась новая категория «События трансляций» в разделе «Трансляция».
- Добавились параметры в разделе «Настройки» влияющие на работу событий.
Категория «События трансляций»
Категория «События трансляций» располагается в личном кабинете в разделе «Трансляция».

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


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

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

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

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

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

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

- значение — поле в котором необходимо указать значении вручную или с помощью клика по значению в json-файле (как описано выше).

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

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

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