How it Works#
The stack ingests an RTSP stream, runs a DL Streamer pipeline that samples frames for VLM inference, and sends results to the dashboard.

Data Flow#
flowchart LR
subgraph FLOW["Data Flow"]
RTSP["RTSP Source"] --> DPS["DL Streamer Pipeline Server"]
DPS -->|"1fps AI branch\n(GStreamer gvagenai)"| MQTT["MQTT Broker"]
DPS -->|"30fps preview"| MTX["mediamtx (WebRTC)"]
MTX --> DASH["Dashboard"]
DASH --> METRICS["Dashboard collects metrics\n(CPU, GPU, RAM)"]
end
System Components#
dlstreamer-pipeline-server: Intel DL Streamer Pipeline Server processing RTSP sources with GStreamer pipelines and
gvagenaifor VLM inferencemediamtx: WebRTC/WHIP signaling server for video streaming
coturn: TURN server for NAT traversal in WebRTC connections
app: Python FastAPI backend serving REST APIs, SSE metadata streams, and WebSocket caption streams
metrics-manager: Bundled system metrics microservice (
intel/metrics-manager, Telegraf collector + HTTP/SSE API) reporting CPU, GPU, NPU, memory, and power