Know who's at the door — on your own hardware.
DBFComp watches your NVR cameras, compares each face against the people you've enrolled, and sends a Discord alert with a clean close-up. Self-hosted, private, and cross-platform.
macOS (CoreML) · Windows + NVIDIA (CUDA) · Python · ONNX Runtime
Everything stays on your network
No cloud, no third-party face database. DBFComp only recognizes the people you choose to enroll.
Private by design
Runs entirely on your own machine. Unknown faces never leave your network — they're only used to ask you who they are.
Works with your NVR
Listens for the camera's motion push, then pulls the frame over ONVIF/RTSP. No cloud subscription required.
Discord alerts
Get a sharp close-up and a caption the moment someone's seen — plus slash commands to enroll, rename, and review from your phone.
Lite · Standard · Max
Pick a model tier for your hardware — a tiny CPU model up to AdaFace IR-101 on a GPU. One setting swaps the whole stack.
Clean close-ups
Optional GFPGAN restoration turns a blurry, compressed camera frame into a crisp, identifiable face.
Cross-platform
GPU-accelerated on Apple Silicon (CoreML) and Windows + NVIDIA (CUDA), with a CPU fallback everywhere.
From motion to alert in one pass
Motion push
The NVR POSTs a motion event to DBFComp's local listener.
Grab the frame
ffmpeg pulls a fresh frame from that camera over RTSP.
Compare
The face is detected, embedded, and matched against your enrolled database.
Alert
Known or unknown, you get a Discord message with an enhanced close-up.
Match the model to your machine
Set MODEL_TIER in your config. Switching the recognizer just needs one
rebuild-db to re-embed your enrolled faces.
| Tier | Recognizer | Best for |
|---|---|---|
lite | EdgeFace-S + YuNet | Old machines / Raspberry-Pi-class CPUs |
standard | InsightFace (glintr100) | The proven default — balanced accuracy |
max | AdaFace IR-101 | A real GPU; highest accuracy |
Consensual recognition only. DBFComp identifies people you deliberately enroll — household members and known visitors. It does not identify strangers against any external or internet database. Everything is processed and stored locally.