Skip to main content

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

  1. 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.

  2. 02

    Detection and tracking

    Vehicles and people detected and tracked across frames, producing events instead of hours of raw footage.

  3. 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.

  4. 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 Sentinel

    Timing 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 Sentinel

    Stream timeouts are bounded, so a stalled camera returns in seconds instead of wedging a thread.

  • New alerts without a schema change

    Acasa Sentinel

    Plates, 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 Sentinel

    The 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.

  1. 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.

Scope a video analytics pilot

No pitch deck. You own the code from day one.

contact@acasalabs.com