Для включения визуализации на фронте вместо инференса необходимо включить следующие флаги:
- В box3/inference/.env добавить переменные:
HLS_ENCODE_TIMESTAMPS_ENABLED=True #Разрешает интеграцию в HLS поток меток времени приёма кадра
HLS_ENCODE_INFERENCE_META_ENABLED=True #отключение одной из этой и следующей отключает всю визуализацию фронтом
HLS_ENCODE_FRAME_INFO_ENABLED=True - Все три переменные прокинуть в inf-mediaserver
HLS_ENCODE_TIMESTAMPS_ENABLED=${HLS_ENCODE_TIMESTAMPS_ENABLED}
HLS_ENCODE_INFERENCE_META_ENABLED=${HLS_ENCODE_INFERENCE_META_ENABLED}
HLS_ENCODE_FRAME_INFO_ENABLED=${HLS_ENCODE_FRAME_INFO_ENABLED}
- Перменную HLS_ENCODE_INFERENCE_META_ENABLED прокинуть в inf-inference
HLS_ENCODE_INFERENCE_META_ENABLED=${HLS_ENCODE_INFERENCE_META_ENABLED}
Если переменная в True, инференс пишет VisualizationMetadata в pytsm и не делает стандартную визуализацию на изображении (коробочные решения, зоны, сегметация). Отдельные блоки могут наносить свою информацию на кадр. Если переменная в False, инференс не пишет VisualizationMetadata и делает стандартную визуализацию - Для того чтобы включить визуализацию на стороне Frontend
- перейти в файл ui-rest/ui-config/config.json
- Найти параметр hlsInferenceVisualisation и дать ему значение true
HLS_ENCODE_TIMESTAMPS_ENABLED
Назначение: Разрешает/запрещает интеграцию в HLS поток меток времени приёма кадра.
Время приёма кадра фиксируется по внутреннему таймеру медиасервера и к абсолютному времени отношения не имеет.
Данная временная метка нужна для синхронизации HLS и инференса на фронтенде.
Примечание:
- Используется SEI h264;
- Данные через SEI передаются в формате json.
- Используемый ключ:
timestamp
Разрешенные значения:
- true: интеграция в HLS поток меток времени разрешена.
- false: интеграция в HLS поток меток времени запрещена. В случае, если переменная не задана: false.
Назначение: Разрешает/запрещает интеграцию в HLS метаинформации с inference.
Примечание:
- Используется SEI h264;
- Данные через SEI передаются в формате json.
- Используемый ключ:
meta
Разрешенные значения:
- true: интеграция в HLS метаинформации с inference разрешена.
- false: интеграция в HLS метаинформации с inference запрещена. В случае, если переменная не задана: false.
Назначение: Разрешает/запрещает интеграцию в HLS информации о кадре.
Примечание:
- Используется SEI h264;
- Данные через SEI передаются в формате json.
- Используемый ключ:
img - На данный момент к информации о кадре относятся:
- Ширина (ключ
width) и высота кадра (ключ height)
Разрешенные значения:
- true: интеграция в HLS информации о кадре разрешена.
- false: интеграция в HLS информации о кадре запрещена. В случае, если переменная не задана: false.
hlsInferenceVisualisation - в конфиге фронта
Назначение: Включает HLS визуализацию фронтом
Разрешенные значения:
- true: включение frontend визуализации
- false: выключение frontend визуализации.