Moonfire NVR, a security camera network video recorder
Introduction
Moonfire NVR is an open-source security camera network video recorder, started by Scott Lamb <.mp4 files for arbitrary time ranges on-the-fly. It does not decode, analyze, or re-encode video frames, so it requires little CPU. It handles six 1080p/30fps streams on a Raspberry Pi 2, using less than 10% of the machine's total CPU.
**Help wanted to make it great! Please see the contributing guide.**
So far, the web interface is basic: a filterable list of video segments, with support for trimming them to arbitrary time ranges. No scrub bar yet. There's also an experimental live view UI.
![]() |
![]() |
There's no support yet for motion detection, no https/TLS support (you'll need a proxy server, as described here), and only a console-based (rather than web-based) configuration UI.
Moonfire NVR is pre-1.0, with will be no compatibility guarantees: configuration and storage formats may change from version to version. There is an upgrade procedure but it is not for the faint of heart.
I hope to add features such as video analytics. In time, we can build a full-featured hobbyist-oriented multi-camera NVR that requires nothing but a cheap machine with a big hard drive. There are many exciting techniques we could use to make this possible:
- avoiding CPU-intensive H.264 encoding in favor of simply continuing to use
- off-loading on-NVR analytics to an inexpensive USB or M.2 neural network
- taking advantage of on-camera analytics. They're often not as accurate, but
Documentation
- Contributing
- License โ
- Change log / release notes.
- Guides, including:
- References, including:
- Design documents
- Wiki has hardware

