Конвейер AI Метаданных
RUSEON Core предоставляет end-to-end конвейер для видеоаналитики.
Цикл работы
- Извлечение: Внешний AI-воркер подключается к gRPC Service (
StreamFrames), получая сырые NAL units. - Обработка: Воркер декодирует кадр, выполняет инференс (распознавание) и генерирует bounding boxes.
- Внедрение: Воркер отправляет рамки обратно через
PushMetadata, указываяpts(Presentation Timestamp) проанализированного кадра. - Трансляция: Внутренний компонент
MetadataBroadcasterполучает данные и распределяет их подключенным клиентам.
Механизмы доставки
Метаданные автоматически форматируются и доставляются вместе с видеопотоком по трем различным каналам:
1. HLS WebVTT
В HLS потоках метаданные упаковываются как субтитры WebVTT в плейлист subs.m3u8. Видеоплееры могут парсить эти метки для рендеринга оверлеев, идеально синхронизированных с буфером воспроизведения видео.
2. WebRTC DataChannels
Для потоков WebRTC WHEP метаданные отправляются через выделенный WebRTC DataChannel с именем "metadata".
3. MQTT
Метаданные также публикуются на настроенный брокер MQTT для использования в базах данных или системах правил (rule engines).
Рендеринг на фронтенде
Для отображения bounding boxes в веб-интерфейсе RUSEON предлагает стандартный подход:
- Извлеките JSON метаданные из DataChannel или WebVTT cue.
- Используйте элемент
<canvas>, наложенный поверх элемента<video>. - Используйте
requestAnimationFrameдля отрисовки рамок (x,y,width,height), идеально синхронизированных с обновлением экрана.