CCTV video analytics software development
Turn the cameras you already have into something you can search.
CCTV video analytics software watches camera streams so people do not have to: it detects and tracks vehicles and people, counts crowds, flags zone intrusion, and makes footage searchable. Acasa Labs builds it vendor-neutral. Acasa Sentinel, our hackathon build, ingests RTSP and HLS streams from any camera and runs all inference locally.
The problem
Recorded is not the same as searchable.
Most CCTV networks record everything and find very little. Footage sits on recorders from several vendors, and the only search is a person with a timeline and a lot of patience. Analytics bundled with one vendor's cameras do not cover the others. Analytics that send video to a cloud API raise hard questions about where the footage goes. The useful version works across vendors, stays on your hardware, and turns events into something an operator can filter.
What we build
- 01
Vendor-neutral ingest
RTSP and HLS streams behind one interface, a worker per camera under a supervisor, and timing taken from the stream itself.
- 02
Detection and tracking
Vehicles and people detected and tracked across frames, producing events instead of hours of raw footage.
- 03
Crowd counts and zone intrusion
Counts per camera and alerts when someone enters a zone, written to the same events table as every other analytic.
- 04
Search and a map
Events searchable by camera and time, vehicles by appearance, and sightings placed on a map in the operator console.
From production
How Acasa Sentinel handles the cameras.
Time from the stream, not the clock
Acasa SentinelTiming is taken from the video stream itself rather than from when frames happen to arrive, so events from different cameras line up even when the network lags.
A stalled camera cannot wedge the system
Acasa SentinelStream timeouts are bounded, so a stalled camera returns in seconds instead of wedging a thread.
New alerts without a schema change
Acasa SentinelPlates, crowd counts, and zone intrusion all write to one events table, so adding a new analytic needs no database change.
Fast on modest hardware
Acasa SentinelThe detector ran at 5.7 ms per frame at 1080p on Apple Silicon, with device fallback from CUDA to Apple Silicon to CPU. Measured on the running system against the hackathon sandbox, not a production deployment.
Honest trade-offs
When your camera vendor's analytics will do
If every camera on your site comes from one vendor and its built-in analytics cover what you need, use them: they cost less than a custom system. Vendor-neutral analytics make sense when you run several brands of camera, need to search across all of them at once, want to keep footage off third-party clouds, or need analytics no vendor ships. Any system should still put a person between an alert and an action.
What we reach for
- FFmpeg, OpenCV
- YOLOv8, ByteTrack
- DINOv2
- Postgres, pgvector, PostGIS
- FastAPI
- Next.js, Leaflet
Proof
Shipped, not pitched.
01Case study
Acasa Sentinel
Give it a number plate. It returns the vehicle's route across a CCTV network.
A vendor-neutral video analytics system built for the Gujarat Police Hackathon Innovation Challenge 2026. It reads number plates, re-identifies vehicles by appearance across cameras, reconstructs routes, and raises watchlist alerts for an operator to confirm.
Operator console (web) · API
Questions
CCTV video analytics questions we get asked.
Which cameras does it support?
Any camera or recorder that can serve RTSP or HLS, which covers most IP cameras and NVRs. We check your models during a pilot.
Can it count people in a crowd?
Yes. Crowd counts are one of Sentinel's analytics, alongside zone intrusion and plate reading, all written to one events table.
How many cameras can it handle?
Sentinel registered 30 sandbox cameras, with a worker per camera under a supervisor. Capacity on your site depends on resolution, frame rate, and hardware, which a pilot measures.
Does footage leave our premises?
Not with Sentinel's design. All inference runs locally, and no footage goes to a third-party API.
Can we add our own alerts later?
Yes. Every analytic writes to one events table, so a new alert type, such as loitering in a zone, is added without changing the database.
Is this a production product?
No. Acasa Sentinel is a hackathon build from 2026, measured on a sandbox. We use its design as the starting point for a production system and a pilot on your cameras.
CCTV video analytics software development
Start with a pilot on a few cameras.
Tell us your camera vendors and what you need to find. We will scope a pilot that measures what analytics can do on your footage.
