vq_monitor
Real-time video quality monitoring tool with 25 perceptual metrics, spatial heatmap, and scenario testing engine.
GN · Internal tool · Python
vq_monitor
Real-time video quality monitoring — 25 metrics — browser dashboard — scenario engine
BRISQUE < 50
freeze_detected: false
vq_monitor is a Python tool that captures video from a camera, file, RTSP stream, or screen recording, then computes a set of quality metrics on each frame and streams the results to a browser dashboard in real time. It was built to support video quality evaluation at GN, where there is a recurring need to monitor how a camera or codec behaves across different lighting, motion, or compression conditions without setting up a formal subjective study first.
Each frame is scored across 25 metrics spanning perceptual and signal-level dimensions: brightness, sharpness, noise, contrast, flicker, freeze detection, face-area quality, BRISQUE, and SSIM against a reference frame. Spatial issues are localised using an 8x6 grid heatmap that flags which regions of the frame are degraded, rather than collapsing everything into a single number.
The architecture is straightforward. OpenCV handles capture and frame processing, PyTorch runs the BRISQUE model, and FastAPI serves both a WebSocket stream of metric data and an MJPEG video stream to the browser. The dashboard updates in real time without page refresh.
A scenario testing engine allows structured test runs to be defined in YAML. Each scenario is a sequence of phases with a duration and a set of pass/fail criteria applied to the live metric stream. This makes it possible to run a repeatable test protocol and get a structured report at the end, rather than reviewing raw logs manually.
Stack