NVR & Camera Setup

The NVR client is the on-premises component. It connects to your cameras, runs continuous local face detection and matching, and reports matches to the platform.

What it runs

1. Connect cameras

Point the client at your cameras over RTSP. Most IP cameras expose a URL like rtsp://user:pass@camera-ip:554/stream. Media Server ingests these streams; the client reads frames from them.

Use the highest-quality substream that still keeps frame rate stable — face detection benefits from resolution, but you don't need the full main stream.

2. Register the device

In the dashboard, add an NVR device under your site. The client authenticates to the platform with the device credentials and begins reporting. Devices and detections are scoped to the site you register them under.

3. Detection vs. cloud search

Matching thresholds

Matching uses cosine similarity. Three thresholds are available:

Threshold Value Use
Permissive 0.35 Cast a wide net; more false positives
Default 0.45 Balanced
Strict 0.55 High confidence; fewer matches

Tune per site based on camera quality and how you act on alerts. Treat every match as probabilistic — see Compliance on human review.

Keeping the client current

NVR clients talk to a versioned API (/api/v1/) so existing hardware keeps working across platform updates. Keep the client reasonably up to date when new versions are published.

Note on cache desync. If the platform database is reset, the NVR's local face cache can hold stale profile IDs, which surfaces as a 404 on POST /api/nvr/detect/match/. The fix is to delete the local cache file and restart the client — not to purge the device. See Troubleshooting.