{"id":13580931,"url":"https://github.com/scottlamb/moonfire-nvr","last_synced_at":"2026-02-20T04:00:59.453Z","repository":{"id":40004699,"uuid":"48900514","full_name":"scottlamb/moonfire-nvr","owner":"scottlamb","description":"Moonfire NVR, a security camera network video recorder","archived":false,"fork":false,"pushed_at":"2026-02-15T04:20:41.000Z","size":11450,"stargazers_count":1648,"open_issues_count":69,"forks_count":177,"subscribers_count":43,"default_branch":"master","last_synced_at":"2026-02-15T04:28:10.841Z","etag":null,"topics":["camera","ip-camera","javascript","nvr","rtsp","rust","security-camera","video"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/scottlamb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2016-01-02T06:05:42.000Z","updated_at":"2026-02-15T04:20:01.000Z","dependencies_parsed_at":"2023-02-16T21:15:51.487Z","dependency_job_id":"aad5bb98-4bc0-459c-a52d-c944efb0e10c","html_url":"https://github.com/scottlamb/moonfire-nvr","commit_stats":{"total_commits":976,"total_committers":17,"mean_commits":"57.411764705882355","dds":0.09323770491803274,"last_synced_commit":"865328f02d146bef7766cba8be1c514e1e2179aa"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"purl":"pkg:github/scottlamb/moonfire-nvr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottlamb%2Fmoonfire-nvr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottlamb%2Fmoonfire-nvr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottlamb%2Fmoonfire-nvr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottlamb%2Fmoonfire-nvr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scottlamb","download_url":"https://codeload.github.com/scottlamb/moonfire-nvr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scottlamb%2Fmoonfire-nvr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29640861,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T03:21:14.183Z","status":"ssl_error","status_checked_at":"2026-02-20T03:18:24.455Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["camera","ip-camera","javascript","nvr","rtsp","rust","security-camera","video"],"created_at":"2024-08-01T15:01:56.472Z","updated_at":"2026-02-20T04:00:59.323Z","avatar_url":"https://github.com/scottlamb.png","language":"Rust","funding_links":[],"categories":["Install from Source","Rust","Sensor and Communication Protocol"],"sub_categories":["Video Surveillance"],"readme":"[![CI](https://github.com/scottlamb/moonfire-nvr/workflows/CI/badge.svg)](https://github.com/scottlamb/moonfire-nvr/actions?query=workflow%3ACI)\n\n* [Introduction](#introduction)\n* [Documentation](#documentation)\n\n# Introduction\n\nMoonfire NVR is an open-source security camera network video recorder, started\nby Scott Lamb \u0026lt;\u003cslamb@slamb.org\u003e\u0026gt;. It saves H.264-over-RTSP streams from\nIP cameras to disk into a hybrid format: video frames in a directory on\nspinning disk, other data in a SQLite3 database on flash. It can construct\n`.mp4` files for arbitrary time ranges on-the-fly. It does not decode,\nanalyze, or re-encode video frames, so it requires little CPU. It handles six\n1080p/30fps streams on a [Raspberry Pi\n2](https://www.raspberrypi.org/products/raspberry-pi-2-model-b/), using\nless than 10% of the machine's total CPU.\n\n**Help wanted to make it great! Please see the [contributing\nguide](CONTRIBUTING.md).**\n\nSo far, the web interface is basic: a filterable list of video segments,\nwith support for trimming them to arbitrary time ranges. No scrub bar yet.\nThere's also an experimental live view UI.\n\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr valign=top\u003e\n      \u003ctd\u003e\u003ca href=\"screenshots/list.png\"\u003e\u003cimg src=\"screenshots/list.png\" width=360 height=345 alt=\"list view screenshot\"\u003e\u003c/a\u003e\u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"screenshots/live.jpg\"\u003e\u003cimg src=\"screenshots/live.jpg\" width=360 height=212 alt=\"live view screenshot\"\u003e\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\nThere's no support yet for motion detection, no https/TLS support (you'll\nneed a proxy server, as described [here](guide/secure.md)), and only a\nconsole-based (rather than web-based) configuration UI.\n\nMoonfire NVR is pre-1.0, with will be no compatibility guarantees:\nconfiguration and storage formats may change from version to version. There is\nan [upgrade procedure](guide/schema.md) but it is not for the faint of heart.\n\nI hope to add features such as video analytics. In time, we can build\na full-featured hobbyist-oriented multi-camera NVR that requires nothing but\na cheap machine with a big hard drive. There are many exciting techniques we\ncould use to make this possible:\n\n*   avoiding CPU-intensive H.264 encoding in favor of simply continuing to use\n    the camera's already-encoded video streams. Cheap IP cameras these days\n    provide pre-encoded H.264 streams in both \"main\" (full-sized) and \"sub\"\n    (lower resolution, compression quality, and/or frame rate) varieties. The\n    \"sub\" stream is more suitable for fast computer vision work as well as\n    remote/mobile streaming. Disk space these days is quite cheap (with 4 TB\n    drives costing about $100), so we can afford to keep many camera-months\n    of both streams on disk.\n*   off-loading on-NVR analytics to an inexpensive USB or M.2 neural network\n    accelerator and hardware H.264 decoders.\n*   taking advantage of on-camera analytics. They're often not as accurate, but\n    they're the best way to stretch very inexpensive NVR machines.\n\n# Documentation\n\n*   [Contributing](CONTRIBUTING.md)\n*   [License](LICENSE.txt) —\n    [GPL-3.0-or-later](https://spdx.org/licenses/GPL-3.0-or-later.html)\n    with [GPL-3.0-linking-exception](https://spdx.org/licenses/GPL-3.0-linking-exception.html)\n    for OpenSSL.\n*   [Change log](CHANGELOG.md) / release notes.\n*   [Guides](guide/), including:\n    *   [Installing](guide/install.md)\n    *   [Building from source](guide/build.md)\n    *   [Securing Moonfire NVR and exposing it to the Internet](guide/secure.md)\n    *   [UI Development](guide/developing-ui.md)\n    *   [Troubleshooting](guide/troubleshooting.md)\n*   [References](ref/), including:\n    *   [Configuration file](ref/config.md)\n    *   [JSON API](ref/api.md)\n*   [Design documents](design/)\n*   [Wiki](https://github.com/scottlamb/moonfire-nvr/wiki) has hardware\n    recommendations, notes on several camera models, etc. Please add more!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottlamb%2Fmoonfire-nvr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscottlamb%2Fmoonfire-nvr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscottlamb%2Fmoonfire-nvr/lists"}