Docs
Instructions, not marketing.
Every section starts with what you need before you begin.
Connect a camera or NVR
Before you begin, you need the camera or NVR's IP address on the local network, its ONVIF or RTSP credentials, and a box or server already on the same network segment.
Run ONVIF discovery from the box. It lists every ONVIF-compliant device it can see on the segment, with model name and firmware version. Select the device and enter its credentials when prompted.
If the camera does not appear, or is not ONVIF-compliant, add it by RTSP URL directly. The pattern is usually rtsp://<user>:<password>@<ip>:<port>/<stream-path>, but the stream path varies by manufacturer and is written on the device's own documentation or its web admin page under video settings.
- If the stream will not open, confirm the port (554 by default) is not blocked by a firewall between the box and the camera.
- Confirm the camera's video codec is H.264 or H.265; other codecs are not yet supported.
- Confirm the credentials work by opening the same RTSP URL in a desktop player before troubleshooting further.
- If the camera sits behind an NVR, connect to the NVR's RTSP output instead of the camera directly, and select the channel number for that camera.
Supported inputs
Before you begin, know which of these input types your site uses; each has a different setup path in the box's admin page.
- CCTV and IP cameras over ONVIF and RTSP.
- NVR and VMS exports and live streams.
- Dashcam and body-cam clips, uploaded or synced from the device.
- Phone uploads of photos and short videos, through the app.
- Recorded video for backfill, uploaded in bulk.
- Audio from control rooms and radios, where a site enables it.
The list of tested camera and recorder brands, with model line and any notes on quirks we have found, is maintained on this page and grows as we test more hardware. We do not claim compatibility we have not tested; an untested device may still work over standard ONVIF or RTSP, but treat it as unverified until you have confirmed it on your own site.
Lenses
Before you begin, decide which lens applies to which cameras. A camera can run more than one lens at once.
- Safety Lens detects PPE compliance at entry and on the line, people inside restricted or vehicle zones, and near-misses between vehicles and pedestrians.
- Security Lens detects intrusion and perimeter crossing after hours, tailgating at controlled doors, and loitering at loading bays and gates.
- Compliance Lens detects checklist steps completed with timestamped evidence, hygiene and housekeeping standards, and deviations logged with a clip attached.
- Fleet Lens detects loading and unloading dwell time per bay, vehicle and driver activity from dashcams, and delivery proof from photos and clips.
To draw a zone, open the camera's view in the admin page and trace the polygon that bounds the area you care about; save it, then assign which detection types apply inside it. A zone can be restricted to specific hours.
To set a schedule, attach a time window to a zone or to the whole camera; detections outside the window are recorded but do not raise alerts.
Alerts are rated by a reviewer marking each one as a true or false alarm; this rating feeds the false-alarm rate published on the benchmarks page and is also visible per camera in the dashboard.
Alerts and evidence
Before you begin, decide where alerts should go: the app, email, a webhook endpoint, or any combination.
Alerts go to the app by default. Add an email address or a webhook URL in notification settings to also receive them there; a webhook receives the same event record as a signed JSON payload.
A clip contains a short window of footage around the detected event, the camera identifier, a timestamp, and the detection type and any zone it occurred in. Clips are stored with the event record until the retention period expires.
Reports are built in the cloud from event records over a date range you choose. Select the cameras, lenses and date range, then export as PDF or CSV; a report can be scheduled to build and send automatically on a recurring basis.
Retention settings control how long event records and clips are kept before deletion. A default is published in the privacy policy; a site can shorten it, and can request deletion of any record on demand.
Ask VISILENS
Before you begin, know that Ask VISILENS runs in the cloud, unlike detection, which runs on the box.
Ask VISILENS can search across cameras, clips, images and audio using a plain-English question, and answers with the matching events and clips attached. It can also be used to set an alert in the same plain language.
When you ask a question, VISILENS sends the event record and the specific clip the question concerns to the cloud, not the whole day of footage from that camera.
To turn it off, disable Ask VISILENS in site settings. Detection, alerts and reports keep working on the box without it; only the plain-English search and answer capability is removed.
API
Before you begin, generate an API key from the dashboard under integrations; keep it secret, and issue a separate key per integration so any one key can be revoked without affecting the others.
Authenticate every request with the key in an Authorization: Bearer header. Requests without a valid key return 401.
- Events endpoint: list and filter event records by camera, lens, zone and date range; each record includes the detection type, timestamp and a link to its clip.
- Clips endpoint: fetch or stream the short video clip attached to an event by its identifier.
- Webhooks: register a URL to receive event records as they are created; payloads are signed so you can verify they came from VISILENS.
- Rate limits: requests are limited per key per minute; the current limit and your remaining quota are returned in the response headers on every call.
Hardware
Before you begin, count the cameras at the site and note their resolution and frame rate; this determines which box class fits.
- Small fanless x86 box: for sites with a moderate number of streams and no rack space.
- ARM board with an NPU: low-power edge hardware for sites that need detection without a rack.
- Existing NVR with spare compute: runs alongside recording on hardware already on site, where the NVR has spare capacity.
- Cloud, when you ask for it: for sites without local compute, or workloads that need more of it than a single box provides.
To size a site, match the camera count and resolution against the cameras-per-box figures on the benchmarks page for the hardware class you are considering. If a site outgrows one box, add a second box rather than replacing it with a larger one.
On failure: if the network drops, the box keeps detecting and queues events, syncing them in order once the link returns. If a camera stops streaming, you get an alert for that camera rather than silence. If the box loses power, it restarts into the same state; there is no cloud dependency for detection.