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

Материал из SmartPlayer
Нет описания правки
Нет описания правки
Строка 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}}
Теперь на dev-сервере появилась новая вкладка в разделе трансляции - события трансляции. там можно создать событие. Ввести название события и приоритет. Созданное событие является отдельной сущностью в личном кабинете. далее заходим в трансляцию и добавляем событие через икону «+». В трансляции главная страница и она на себя зациклена. В списке событий есть кнопка «Отправить» необходимая для эмуляции событий. При отправке событий страница переключается. При переключении события учитывается его приоритет. Если сначала показалось событие со средним приоритетом , а потом появилось событие с низким приоритетом, то на экране все равно будет событие со средним приоритетом. Но если переключение с события со средним приоритетом будет на событие с высокми приоритетом на устройство выведется событие с высоким приоритетом. два события с одинаковым приоритетом буду переключаться между собой. Данная логика работает ко всем привязанным к трансляции устройствам. появился новый тип события по webhoock (вебхук) со своего сервера можно было обратится к серверу SmartPlayer. Событие - серверное приложение - ключ (внешний источник). в этот ключ можно добавить полноценный json-файл.  Сейчас на сервере работа ведется только с подобъектами.
далее заходим в трансляцию и добавляем событие через икону «+». В трансляции главная страница и она на себя зациклена. При переключении события учитывается его приоритет. Если сначала показалось событие со средним приоритетом , а потом появилось событие с низким приоритетом, то на экране все равно будет событие со средним приоритетом. Но если переключение с события со средним приоритетом будет на событие с высокми приоритетом на устройство выведется событие с высоким приоритетом. два события с одинаковым приоритетом буду переключаться между собой. Данная логика работает ко всем привязанным к трансляции устройствам. появился новый тип события по webhoock (вебхук) со своего сервера можно было обратится к серверу SmartPlayer. Событие - серверное приложение - ключ (внешний источник). в этот ключ можно добавить полноценный json-файл.  Сейчас на сервере работа ведется только с подобъектами.
== '''Видеоинструкция''' ==
== '''Видеоинструкция''' ==
[https://vk.com/video-227547238_456239097 Создание событий в личном кабинете]
[https://vk.com/video-227547238_456239097 Создание событий в личном кабинете]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • низкий;
  • средний;
  • высокий.

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

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

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

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

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

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

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

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

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

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

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

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