Build-up detection
Watch an entrance, a concourse or a platform and get an annotated alert when the head count in a zone stays high across several cycles — early warning before it becomes a crush.
Count heads per zone from sampled frames and alert only when a crowd truly persists past your threshold.
Interface preview coming soon
A single busy frame is not a crowd — someone walking past the camera should not trip an alarm. Crowd counts heads per zone from periodic snapshots and only raises an alert when the count stays over your threshold across multiple cycles, so you hear about a genuine build-up, not a passing spike.
Watch an entrance, a concourse or a platform and get an annotated alert when the head count in a zone stays high across several cycles — early warning before it becomes a crush.
Track how busy a checkout area or section is over the day and flag sustained overcrowding for staff to respond to.
Per-zone head counts give an objective density signal for a space, with the snapshot attached to every threshold alert for a human to confirm.
A worker takes periodic snapshots of the live stream over HLS. You draw polygon zones on a live frame and tag each; geometry persists per stream as normalized points.
Each snapshot is counted per zone. A multi-cycle threshold means the count must stay over your limit across several samples before it counts as a crowd.
crowd.count carries the live per-zone number; crowd.threshold fires only on a sustained breach, with the zone, tag, threshold and an optional snapshot URL, through the app's signed callbacks.
Live counts and threshold alerts show in the app tab; every event persists in the app's own crowd database for your reporting.
Declared in the plugin manifest and relayed through the app's HMAC-signed callbacks (webhook + MQTT). Anything a worker tries to emit that is not on this list is rejected — no core-event spoofing.
Numbers are the plugin authors' honest measurements, not marketing. GPU is optional on every vision plugin except where noted.
Every Studio app is a first-class application, not a config modal — and it does not have to live inside StreamHub.
Opens as its own page inside the tenant app — zones, live panels, history and settings on one surface, not squeezed into a dialog.
Keeps its state in a dedicated per-app SQLite database — reads, alerts, occupancy and evidence rows — that you own and can query.
Download the app as a self-contained bundle — worker, Dockerfile, compose and an env template — to self-host on your own infra and extend, talking back over the REST API and signed webhooks.
Tell us what you are monitoring and we will scope the right apps, wire them into your systems and run them with you. The software is open source — the deployment and operation is what we do.