Johnn.Nalwa
RMIP — RTSP Metadata Injection Proxy
all projects
systems

RMIP — RTSP Metadata Injection Proxy

Real-time video synchronization that aligns delayed AI detections with live RTSP streams — integrating ODM, Milestone XProtect, and iSentry MMS for accurate overlay rendering.

C++PythonRTSPGStreamerOpenCVREST APIsVideo Streaming

/// overview

Engineered a high-performance C++ proxy server that intercepts live RTSP video streams and injects AI-generated metadata (bounding boxes, detection labels, tracking data) back into the stream in real-time. Integrated with ODM, Milestone XProtect, and iSentry MMS to enable accurate overlay rendering and seamless surveillance analytics delivery.

The problem

AI video analytics pipelines introduce processing latency. When overlaying detections onto a live surveillance stream, the mismatch causes overlays to drift from actual subjects — rendering the analytics useless in real-time monitoring scenarios.

The approach

Built a custom RTSP proxy in C++ using GStreamer and live555. Decoupled the ingestion, annotation, and delivery pipelines. Used a synchronized ring-buffer that timestamps frames on ingress, holds them while the AI inference pipeline runs, then re-injects the matched metadata overlay before re-streaming. Integrated with three VMS platforms via their respective SDK/API interfaces.

Outcome

Achieved frame overlay synchronization lag below 10ms variance on fast-moving cameras. Successfully deployed into a live surveillance analytics product with real clients.