LazyNVR is a self-hostable server application that collect video recordings from IP cameras and store and organize them,
while providing you also with a live stills feed from the cameras.
The goal is to be lightweight and be able to support an unlimited number of IP cameras without requiring high-end hardware.
LazyNVR expects the cameras to perform motion detection and video recording.
This is by design. If you are looking for an NVR software that parsed live feed from the cameras and perform any live manipulation, this tool is not LazyNVR. LazyNVR expects to find recorded videos by the cameras on a local filesystem, so the camera must be able to detect motion, record video and push it to where LazyNVR is running. This is by design.
LazyNVR core features:
- No motion detection: no CPU/GPU requirements
- No video recording: no CPU/GPU requirements
- Fast and efficient C++ backend to monitor incoming video recordings
- Any incoming video will be converted to web streaming friendly format
- Store and purge videos older than XX days
- Audio will be preserved, if present
- Nice and lean web frontend to monitor live stills (no live video streaming at the moment)
- View and download stored video recordings from web frontend
- Easy to install (supports containers like Docker/Compose or direct installation)
- Can handle hundreds of cameras at the same time
- Can run on very low end specs (like Pi or small NUCs)
- No AI/LLM features
- No vibecoding
LazyNVR requirements:
- IP cameras that perform on-board motion detection (like Dahua, Reolink and similar cameras)
- IP cameras that will automatically upload recorded videos via FTP or similar protocol to your server
- An AMD64 or ARM64 based server with as little as 2GB RAM
Some local storage to store the recorded videos after they are organized and encoded
LazyNVR limitations:
- there is no authentication to the web interface, use Authelia, HTTP authentication or something like that
More informnation on LazyNVR Codeberg page, including installation documentation.