Перейти к основному содержимому
Версия: 2.4.1

Интеграции

Вебхуки

Для настройки передачи процессов через вебхуки перейдите в файл конфигурации run_params.json и укажите значения для параметра webhook_tracking_subscribers. Параметр представляет собой список объектов, описывающих адрес сервера, принимающего процессы с OMNI Agent и представлен в двух версиях:

Версия 1

{
"url": "http://127.0.0.1:5000/trigger" // указание адреса с эндпоинтом
}

Версия 2 (установлена по умолчанию)

{ 
"host": "127.0.0.1", // адрес
"port": "5000", // порт
"is_secured": false, // флаг http/https
"path": "/trigger" // эндпоинт
}

Добавить вебхук также можно в Настройках веб-интерфейса OMNI Agent.

Данные передаются по вебхукам в формате процессов. Массив процессов отправляется в начале и окончании трекинга, при идентификации человека по базе данных, при нахождении человека в области интереса или при пересечении размеченных линий, а также каждые 5 секунд (по умолчанию).

Чтобы изменить интервал отправки процессов, отредактируйте поле ongoings_interval_in_msec в файле run_params.json (измеряется в миллисекундах).

Для отправки лучших кадров по вебхукам включите опцию "Отправка лучших кадров по вебхукам" в Настройках веб-интерфейса OMNI Agent, либо укажите значение true для поля enable_webhook_image2jpg_conversion. Значение по умолчанию - false. Лучший кадр кодируется в base64 как jpeg изображение.

Спецификация API

В дополнение к интерфейсу веб-конфигуратора, OMNI Agent использует следующие HTTP эндпоинты.

/about

Получение информации о версии OMNI Agent.

Метод: GET

Параметры запроса: -

Параметры ответа:

  • version: string - версия OMNI Agent
  • full_version_with_hash: string - версия OMNI Agent с хэшем
  • build_hash: string - хэш git коммита, из которого собран OMNI Agent
  • build_date: string - дата сборки OMNI Agent
  • name: string - имя исполняемого файла OMNI Agent
  • used_software: object - объект, описывающий версии используемых библиотек
    • FaceSDK: string - версия используемого Face SDK
  • may_be_standalone: bool - признак доступности standalone режима.

/external_process/begin

Запуск внешнего (медиа) процесса.

Метод: POST

Параметры запроса:

  • repeats: bool - признак повторяемого (зацикленного) процесса
  • name: string - имя (для класса Медиа - имя видеофайла)
  • class: string - класс внешнего процесса (по умолчанию - media)
  • duration: int - предполагаемая длина процесса. По умолчанию 0.
    • 0 - длина неизвестна.
  • started_at: int - внутренняя метка времени запуска внешнего процесса.
  • stream_uuid: UUID string - идентификатор камеры, к которому привязывается этот внешний процесс. По умолчанию - пустая строка.
    • Процессы, не привязанные к камерам, игнорируются.

Параметры ответа: -

/external_process/end

Завершает последний открытый внешний (медиа) процесс соответствующий запрошенным параметрам (помечены звёздочкой).

Метод: POST

Параметры запроса:

  • name*: string - имя (для класса Медиа - имя видеофайла)
  • class*: string - класс внешнего процесса (по умолчанию - media)
  • stopped_at: int - внутренняя метка времени остановки внешнего процесса.
  • stream_uuid: UUID string - идентификатор камеры, к которому привязывается этот внешний процесс. По умолчанию - пустая строка.
    • Если камера одна - выбирается единственная доступная.
    • Процессы, не привязанные к камерам, игнорируются.

Параметры ответа: -

/external_process/terminate_all

Завершает все открытые внешние процессы, привязанные к видеопотоку с соответствующим UUID.

Метод: POST

Параметры запроса:

  • stream_uuid: UUID string - идентификатор камеры, по умолчанию - пустая строка.
    • Если пустая строка - удаляются все процессы (для всех камер)

Параметры ответа: -

/multistream_bodies

Запрос положения людей на карте объекта/помещения.

Метод: GET

Параметры запроса: -

Параметры ответа:

  • views: object - маппинг view name →view object.
    • <view name>: object - содержит информацию о детекциях тел на данном виде. Имя объекта соответствует названию вида. По умолчанию используется имя “top_view”.
      • view_name: string - название вида. По умолчанию “top_view”.
      • camera_frames_data: object - объекты с метками времени кадров, на которых получены исходные детекции для каждого видеопотока в виде маппинга stream_uuid →frame_data
        • <stream_uuid>: object - объект с метками времени кадра, на котором получена исходная детекция. Имя объекта - идентификатор видеопотока.
          • frame_index, timestamp_microsec, timestamp_millisec, video_timestamp
      • objects: array multistream objects - массив мультистрим детекций тел
        • object - информация о детекции тела на данном виде (карте)
          • bbox: array float[2…] - координаты детекции на данном виде (последовательность x, y координат). Число точек не менее 1, определяется методом преобразования координат bbox исходных объектов. По умолчанию содержит координаты 1 точки, соответствующей положению ног человека на карте объекта/помещения.
          • class: string = “body”.
          • id: int - порядковый номер детекции на данном виде. В общем случае не совпадает с номерами детекций исходных объектов.
          • score: float - уверенность детектора, среднее значение соответствующего параметра исходных объектов.
          • source_objects: object - маппинг stream_uuid →source object.
            • <stream_uuid>: object - исходный объект детекции на видеопотоке stream_uuid.
примечание

Если функция "Трекинг людей на карте (Beta)" отключена или некорректно настроена, содержимое объекта views будет пустым.