# scottlamb/moonfire-nvr

Moonfire NVR, a security camera network video recorder

Repository: https://github.com/scottlamb/moonfire-nvr
Canonical: https://ross.abutalabs.com/products/moonfire-nvr
Language: Rust
License: NOASSERTION
License Family: other
Topics: nvr, ip-camera, rtsp, video, security-camera, rust, javascript, camera
Last push: 2026-08-15T01:19:00+00:00

## Health v2 (maintenance only)
Score: 98/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 97, release rhythm 98, longevity 100
- inputs: {"age_days": 3896, "days_push": 19, "days_rel": 19, "gap_med": 12.0, "n_releases_24m": 13}
- flags: no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1736, forks 188 (observed 2026-08-28T04:05:29.795731+00:00)

## What it is
Moonfire NVR is an open-source security camera network video recorder written in Rust. It records H.264-over-RTSP streams from IP cameras to disk with minimal CPU usage, storing frames on disk and metadata in SQLite, and can generate .mp4 files for arbitrary time ranges on the fly.

## Use cases
- record RTSP streams from IP cameras to disk
- self-hosted NVR for security cameras on a Raspberry Pi
- build mp4 clips from recorded camera footage for arbitrary time ranges
- store weeks of 1080p camera footage on a cheap machine with a big hard drive
- review and trim recorded video segments through a web interface
- run a low-CPU multi-camera recording server

## When to choose
- you want a lightweight, self-hosted NVR that records pre-encoded H.264 without re-encoding
- you run cameras on low-power hardware like a Raspberry Pi
- you prefer open-source software with a simple SQLite-backed storage format
- you need on-the-fly mp4 export of arbitrary time ranges

## When to avoid
- you need motion detection, which is not yet supported
- you need built-in HTTPS/TLS without setting up a proxy server
- you need a polished web UI with a scrub bar or web-based configuration
- you need stable storage/config formats across versions, since it is pre-1.0 with no compatibility guarantees

## Facets
- artifact type: application
- maturity: experimental
- function: video-processing, http-server, database, self-hosted
- domain: security, self-hosted, media
- platform: rust, self-hosted
- tags: nvr, ip-camera, rtsp, h264, surveillance, sqlite, raspberry-pi, video, linux

## Member repositories
- scottlamb/moonfire-nvr (main) score 98

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:05:29.795731+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T03:30:42.874289+00:00, confidence not recorded.
  - readme: https://github.com/scottlamb/moonfire-nvr (fetched 2026-08-28T04:05:29.795731+00:00, sha 960e3f3329d7)
- Data as of 2026-08-30T08:39:29.467469+00:00.
