production· client work
Real-time video analytics at 250+ cameras
A production DeepStream pipeline that turns 250+ live RTSP feeds into real-time occupancy and safety events on four on-prem GPU servers.
250+ cameras
Problem
A large site needed live answers from hundreds of existing IP cameras: which seats are occupied, where crowds form, and when a rule is broken. Answers had to arrive in seconds, run on hardware the client owns, and stay up around the clock.
Approach
The system is split into two modules so that vision and business rules can change independently.
- Inference module. Decodes RTSP streams on the GPU, runs detection and multi-object tracking with TensorRT engines inside NVIDIA DeepStream, and publishes compact per-frame metadata to Kafka.
- Logic module. Consumes the Kafka topics and applies use-case rules such as seat occupancy, dwell time, and zone counts, then emits events to downstream services.
- Infrastructure. Four on-prem GPU servers (including 4× NVIDIA L40). I own the production setup: deployment, monitoring, and capacity planning for stream density per GPU.
Results
- 250+ concurrent camera streams processed in real time.
- New use cases ship as logic module rules, with no change to the inference path.
- Fully on-prem: no video leaves the client network.
Stack
NVIDIA DeepStream, TensorRT, CUDA, GStreamer, Kafka, Python, C++, Docker.
Client work. Details generalized and no code is published.