Open Source NVR
A security camera captures some of the most sensitive video you will ever store, the inside of your home or office, recorded around the clock, so the decision that matters is not resolution but where those frames come to rest. A vendor cloud puts that private footage on hardware you neither see nor control, behind a subscription that can gate your own recordings. The open source network video recorders here ingest standard camera streams over RTSP and ONVIF and write them to storage on your own network. Footage stays local, retention is yours to set, and access lives behind your own network boundary rather than a company's login and monthly fee.

Frigate
Local NVR for IP cameras with realtime object detection and Home Assistant integration

ZoneMinder
Linux-based CCTV and security camera monitoring with capture, analysis, recording, and monitoring

motionEye
Web frontend for the motion daemon, turning cameras into a browser-managed surveillance system

Viseron
Self-hosted, local-only NVR and AI computer vision software for object, motion, and face detection

Kerberos Agent
Self-hosted video surveillance agent for IP and USB cameras with motion detection and recording
Our picks
Match the recorder to your cameras and how much detection you actually want.
Best for object-aware recording: Frigate Frigate runs realtime object detection locally, using cheap motion detection to decide where to spend heavier analysis, so recordings and alerts center on real people and vehicles rather than every shadow. It supports 24/7 recording with retention keyed to detected objects, RTSP re-streaming, and low-latency live view over WebRTC, and integrates with Home Assistant over MQTT.
Most mature all-round CCTV: ZoneMinder ZoneMinder is a long-established CCTV and video management system for Linux that handles IP, USB, and analog sources together, which helps when a site mixes camera generations. It pairs zone-based motion detection with continuous recording, records H.264 and H.265, and exposes a REST API. It is the pragmatic choice for a larger, mixed-brand install.
Best for multiple local detectors: Viseron Viseron is local-only and layers object, motion, face, and license-plate detection over RTSP and IP cameras, driving recording from detections so storage goes to footage that matters. It supports hardware acceleration through Coral EdgeTPU, CUDA, and OpenCL to keep analysis fast on modest machines.
Best for a simple or Raspberry Pi setup: motionEye motionEye puts a browser dashboard over the long-standing motion daemon, so you can add IP, USB, or Raspberry Pi cameras and manage motion-triggered clips without editing config files. It runs on modest Linux hardware, including small boards, a low-effort recorder for a handful of cameras.
Recording that holds up when it matters
Camera compatibility, not the interface, is what makes or breaks an NVR, so test it first. Confirm how each camera exposes video: RTSP URLs, ONVIF discovery, dual streams, audio, PTZ, and H.264 or H.265, and try your least standard model before committing the whole site. Many failures surface as dropped keyframes or substreams that preview fine but never record. ZoneMinder is worth a look when brands are mixed, since it spans IP, USB, and analog sources, while Frigate and Viseron focus on RTSP and IP cameras. A good recorder should let you pin stream URLs by hand and store normal camera output without transcoding it first.
Storage is the second hard axis, because NVR workloads are near-constant sequential writes and retention math outweighs feature count. Decide between continuous recording, event-only, or both on separate retention windows, then check how the system prunes old clips and survives a full or failed disk. Object detection changes this equation: it trims false alerts and saves space by recording only what matters, but it adds compute. Frigate gates object detection behind cheap motion detection and can lean on a GPU or Coral accelerator, and Viseron supports Coral, CUDA, and OpenCL, so detection stays fast on modest machines.
Operations decide whether the recorder stays usable a month in. Review zones, schedules, masks, pre- and post-roll, notifications, and clip export, and for shared sites, whether roles separate live view from playback and export. Remote access should be deliberate: a VPN or hardened gateway rather than the recorder exposed straight to the internet, since it holds both footage and camera credentials.
Related categories
Frequently asked questions
What is the difference between an NVR, a DVR, and a cloud camera?+
An NVR records network camera streams, usually over IP with RTSP or ONVIF, onto storage you control. A DVR records analog camera feeds through dedicated capture hardware. A cloud camera app sends video or events to a vendor's service before you can view or keep them. The open source NVRs here sit on your network and keep recording locally even when the internet connection drops.
Will my existing IP cameras work?+
They may, if they expose standard streams, but do not assume every feature carries over. Check for RTSP stream URLs, ONVIF discovery, H.264 or H.265 support, substreams, audio, and whether the camera insists on a vendor cloud account. Test one camera end to end before migrating a whole site, since inexpensive cameras often advertise standards while implementing authentication, time sync, or event metadata poorly.
How much storage will I need?+
It comes down to camera count, resolution, frame rate, codec, bitrate, and retention period, and continuous high-bitrate recording grows fast. Size from each camera's real configured bitrate rather than its marketing resolution, and leave headroom for pre-roll, post-roll, and database overhead. Decide what happens when disks fill: automatic pruning of the oldest clips is safer than relying on someone to clear space by hand.
Do I need a GPU for an open source NVR?+
Not always. If the recorder writes camera streams to disk and uses basic motion detection, a CPU-only machine can be fine. A GPU or AI accelerator helps with object detection, face or license-plate models, and decoding many streams at once. Frigate gates object detection behind cheap motion detection and can use a Coral or GPU, and Viseron supports Coral, CUDA, and OpenCL, features worth testing with your exact cameras.
Is it safe to view my NVR remotely?+
Exposing an NVR directly to the internet is a poor default, since it holds sensitive footage and often stores camera credentials. Reach it through a VPN, a private tunnel, or a reverse proxy with strong authentication and TLS instead. Give cameras their own network segment, use unique passwords, and confirm that mobile viewing does not require opening broad inbound access to the recorder itself.
Can it keep recording when the internet is down?+
Yes, as long as the cameras, storage, and recorder are all local and powered. An internet outage should not stop local RTSP or ONVIF recording. What typically breaks is remote viewing, push notifications, email alerts, and cloud backup, plus time sync if there is no local clock source. For important sites, put cameras, switches, and the recorder on backup power and provide a local NTP source.
Can I import recordings from my old NVR?+
Usually only in a limited way. Many proprietary recorders store video in segmented files with their own indexes and containers, so you may be able to export clips to MP4 but not fold them into a new searchable timeline. Keep the old recordings separately with clear camera labels and time ranges, and confirm they play back before you decommission the previous system.