A single camera is a demo. Fifty cameras is a system. The difference is everything that happens between decoding a frame and showing an operator something worth their attention.
The stages
- Ingest: negotiate RTSP/ONVIF, monitor stream health, and normalise formats.
- Decode: use hardware decoders so compute is spent on models, not codecs.
- Infer: run detection and recognition at a frame rate matched to the use case.
- Track: maintain identities across frames and, where appropriate, across cameras.
- Correlate: merge related detections into single events with context.
- Act: evaluate rules, route alerts, and trigger integrations.
Why correlation is the hard part
Most false alarms in multi-camera systems are duplicates: the same person seen by three cameras becomes three intrusions. Cross-camera correlation, built on spatial calibration and appearance embeddings, is what makes the output usable.