CCTV analytics on on-prem GPUs
A detection and tracking pipeline that reads live camera streams and runs as a Python service on on-prem GPU hardware.
What this project is
I build computer vision services for independent clients. One of them is a CCTV analytics pipeline that reads camera streams over RTSP, detects and tracks what appears in them, and runs as a Python service on the client's own GPU hardware.
What needed solving
Nobody can watch every camera all the time, so raw footage is hard to search or act on. Detecting and tracking what appears turns it into structured data that other systems can use. Running it on hardware the client controls keeps the video on their own premises.
What I did
- Built the detection and tracking pipeline for CCTV streams.
- Packaged it as a Python service for on-prem GPU hardware.
How it works
Ingest
Read live camera feeds over RTSP.
Detect
YOLO11 detects objects in each frame.
Track
ByteTrack links detections across frames into tracks.
Serve
The pipeline is packaged as a Python service (FastAPI) for on-prem GPU hardware.
YOLO11 is a fast one-stage detector, and ByteTrack links its detections from frame to frame so every object keeps one ID. Together they run on hardware the client controls.
Tools and methods
What came out of it
What the pipeline delivers:
- Structured detections and tracks from live RTSP camera streams.
- Runs on the client's own on-prem GPU hardware.
- Packaged as a Python (FastAPI) service that other systems can call.
Interested in similar work?
Tell me about your computer vision or deep learning problem and we can see if it's a good fit.
👋 Let's talk