Skip to main content

AVLytics video analytics setup

AVLytics is a video analytics platform. Cameras run detection on site, and every detection is sent to CleverCam as an alarm signal with a snapshot of what triggered it. One AVLytics receiver serves many sites: each site's transmitter sends a unique account code, and that account code is what tells CleverCam which site a detection belongs to.

So AVLytics is set up in two parts:

  1. The receiver — created once in Settings → Alarm Receivers for your control room.
  2. Each site's transmitter — added to the site by its account code, from the site's Add hub flow.
One-way, always

AVLytics never accepts commands — CleverCam receives detections but cannot arm, disarm or configure anything on the AVLytics side. That is true in both modes described below.

Once a transmitter is added you can run it in one of two modes:

  • Monitor only (the default) — detections raise alarm zone events. This is what every AVLytics hub does until you change it.
  • Run as cameras — detections become CleverCam cameras, so the site can arm, schedule, snooze and bypass them like any other camera. See Run as cameras below.

The receiver​

Create it in Settings → Alarm Receivers (click Add, pick AVLytics, give it a label such as AVLytics Receiver). CleverCam generates an API key and shows you a webhook URL built from it:

https://webhook.clevercam.co.za/avlytics/<your key>

Give that URL to AVLytics — it goes into their platform as the signal destination. Every camera on the account uses the same URL; the transmitter code inside each message is what separates one site from another, so there is nothing to configure per camera on our side.

Once it is receiving, the receiver row shows a rising Webhooks count and a Last Webhook time.

Finding the URL and key again​

Click the receiver row and then View Configuration. The webhook URL and the API key on its own are both there, each with a copy button — you do not need to open Edit to read them. Anyone who can open a receiver's configuration is already entitled to its credentials, so nothing is masked on that screen.

Changing the key​

Rotating the key changes the URL, and every AVLytics account posting to the old one starts being rejected the moment you save — there is no way to push a new URL out, so someone has to change it on the AVLytics side before signals resume. The form treats it accordingly: Edit → Rotate API Key is a red button that first shows how many panels it will cut off, then asks you to type the receiver's name exactly before it will generate anything. Even then the new key is only local until you press Save Changes, and an Undo button puts the old one back until you do.

Rotate it if the URL has leaked. It will not fix a receiver that has stopped receiving — it can only stop the ones that still are.

If AVLytics appends to the URL

Some AVLytics installs treat the URL you give them as a base and add their own path to the end, so the address they actually post to looks like …/avlytics/<your key>web/OAFRestService/. That is fine and needs no correction — CleverCam accepts it and also reads the key from the APIKey header AVLytics sends alongside it.

Adding a site's transmitter​

  1. Open the site (Sites → View Site) and find the Hubs & cameras section on the Hardware tab.
  2. Click Add hub.
  3. In the picker, choose the AVLytics receiver tile.
  4. The TX number step opens for that line. Type the transmitter's TX number (account code) — CleverOps checks every receiver line on the control room for it, so a transmitter already heard (on this line or another) comes up to pick. Click Continue with <code>, or Continue without a TX number to pick from the list on the next step. See Adding an alarm panel by TX number.
  5. The Add Alarm Panel dialog opens with the code already in its TX number (account code) field. Either keep it, or pick the transmitter from the "Already reporting to this receiver" list. Optionally add a friendly name — left blank, the transmitter is simply named AVLytics.
  6. Click Add Panel.

Any inbound AVLytics detection carrying that account code now raises an event on this site.

Picking a transmitter that is already reporting​

The receiver records every account code it hears, whether or not it has been linked to a site yet. Because AVLytics starts sending as soon as the URL is configured on their side, the transmitter is usually already in the list by the time you come to add it — pick it from Already reporting to this receiver rather than typing the code.

Rows are ordered most-recent-signal first and show how many of that transmitter's signals are currently unrouted (waiting for a site link).

Zones are cameras​

This is the one thing that differs from a normal alarm panel. AVLytics reports the camera channel in the zone field — a detection on channel 20 arrives as zone 20.

Unlike the other account-code panels, the Add Panel dialog does not ask you how many zones and partitions to pre-create, because there is no count to know. A channel appears the first time AVLytics sends one, so the list builds itself and only ever contains cameras that are really there.

Rename each zone to the camera it is as it turns up, e.g. Zone 20 → Nagstraat, on the site's Hardware tab. After that, a detection reads "Nagstraat" to the operator instead of a bare number.

Why there is nothing to pre-create

Pre-creating used to be offered here and it did more harm than good: picking a count high enough to cover the highest channel invented a zone for every number below it that the site does not have. One live site ended up with 19 zones for channels AVLytics has never mentioned, alongside the 13 real ones that arrived on their own. The partition was the same kind of fiction — AVLytics stamps 01 on every signal, so "Partition 1" describes nothing.

Run as cameras​

Since AVLytics zones are cameras, you can have CleverCam treat them as cameras rather than as alarm zones.

Switch it on from the site: Sites → View Site → Hardware → Hubs & cameras, find the AVLytics hub's row and click Run as cameras. The button then reads Cameras: on.

From that point:

  • Each AVLytics channel becomes a camera in CleverCam, created automatically the first time it detects something. They appear in a camera group called AVLytics.
  • The site arms and disarms them like any other camera — camera groups, site-wide arm, arm schedules, and snooze all work, including on the customer's CleverAlert app.
  • A detection while the group is disarmed raises nothing. Disarm, snooze or a schedule genuinely silences these cameras, which is not possible in monitor-only mode.
  • A new camera is named Camera 20 after its channel, because AVLytics sends no names. Rename it to the real thing (Nagstraat) and your name sticks.
  • Detection snapshots are copied into CleverCam, so an event keeps its picture regardless of what AVLytics does with the original later.
  • Each camera gets a Reference photo — the "what this scene should look like" picture. AVLytics cameras have a live stream, so the camera's Edit dialog has a Capture from live stream button that grabs a current frame; capture it when the scene is clear. The live frame carries the camera's own on-screen name, which is handy when renaming Camera 20 to what it really is.
  • The camera's Edit dialog also has Event routing — where each kind of AVLytics event from that camera lands (see Event routing below). Changes there save immediately.
  • The Edit dialog shows only what applies to these cameras: privacy areas, onboard analytics, stream source (RTSP/IP) and video telemetry are hidden, because AVLytics runs the detection and there is no stream of ours behind the camera.
  • The hub's alarm zones and its partition are retired. They stop being updated the moment detections start arriving as camera events, so leaving them on screen would mean a zone list frozen at whatever it last read. They are hidden, not deleted — and since an AVLytics zone is a camera, keeping both would list every camera twice.

CleverOps confirms the switch before making it and then tells you what it tidied up, for example "AVLytics now runs as cameras. Retired 32 alarm zones and 1 partition."

Leave the AVLytics unit detecting 24/7

Because AVLytics accepts no commands, CleverCam cannot switch its cameras on. Managed mode works by letting AVLytics detect continuously and deciding on our side whether a detection raises an alarm. If detection is stopped on the AVLytics side, only AVLytics can start it again.

Event routing​

AVLytics sends more than one kind of event per camera — a person, a vehicle, a tamper, a stream timeout, a mains failure. In managed mode you decide, per camera and per event type, what each one becomes. Open the camera's Edit dialog and find Event routing; each event type has its own dropdown:

Event typeChoices
Person detected (E138), Vehicle detected (E139)Intrusion alarm (E130) — a red alarm in the control-room queue, sirens per the camera's siren setting · Unverified intrusion (E138) — a yellow alarm, no siren · Soft event (triage queue) · Off
Tamper (E157)Tamper alarm (E137) — a red alarm · Soft event (triage queue) · Off
Stream timeout (E159), Mains failure (E150)Alarm event — the code's own alarm (Camera issue / Mains failure) · Soft event (triage queue) · Off
  • Soft event puts the detection in CleverCommand's Guard Tours & Soft Events panel for triage instead of the live alarm queue — one card per monitoring control room, with the snapshot, which an operator can dismiss or escalate to a real event. Soft events are raised for armed cameras only, the same rule a CleverCam hub applies to its own soft events; a disarmed camera's soft event is dropped. While a card is still open, repeated signals of the same type from the same camera refresh its picture rather than adding another card.
  • Off discards that event type for that camera only — AVLytics keeps sending it, CleverCam drops it.
  • The dropdown marks the default for each type. Out of the box, Tamper goes to the triage queue as a soft event (AVLytics re-sends a latched tamper every hour per camera, which would otherwise be a red Tamper Alarm on every one) and every other type raises its alarm event — detections as an Intrusion alarm (E130). A camera you have not touched uses the defaults; the note under each dropdown says whether it is using the default or a setting made for this camera.

Switching back to monitor only​

Click Cameras: on again. The switch is reversible, and CleverCam puts the hub back the way it was rather than leaving both halves on screen at once:

  • The alarm zones and partition come back, with their labels and their links to the site's zone list intact.
  • The cameras are disabled, not deleted. They keep their names, their group and their event history, but they cannot raise an event while AVLytics' detections are being routed as alarm signals. Switch back to cameras and they come straight back on.
  • Anything you renamed, curated or bypassed by hand is left alone in both directions — the switch only restores what it retired itself.

What an AVLytics event looks like​

A detection arrives as an Intrusion alarm ("Person detected by camera Nagstraat" / "Vehicle detected by camera Nagstraat") with a snapshot attached. The snapshot is AVLytics' own annotated frame: the detected person or vehicle in a box, the path it travelled, and the detection region drawn on top — so an operator can judge it immediately without opening live video. In managed mode the camera's Event routing can turn that into an unverified intrusion or a soft event instead.

Detections come in bursts: one person crossing a region typically produces several signals a second or two apart, each with its own snapshot.

AVLytics also sends a few non-detection codes. The ones whose meaning AVLytics has confirmed are mapped: Tamper (a soft event by default in managed mode), Stream timeout (Camera issue), Mains failure and its restore, device test (treated as a heartbeat), and the unit's own arm/disarm (recorded as hub health, never mirrored into your arm state).

Unmapped AVLytics codes are held, not guessed

AVLytics' own false-positive classes (vegetation, animal, rain, background) and a few camera-health codes with no CleverCam equivalent yet (frames-per-second low, capture/focus failure) are recorded but do not raise an operator event, so they cannot reach you described as the wrong kind of alarm. If you need one of these turned into a real event, ask CleverCam support to map it.