All Projects → scottlamb → Moonfire Nvr

scottlamb / Moonfire Nvr

Licence: other
Moonfire NVR, a security camera network video recorder

Programming Languages

javascript
184084 projects - #8 most used programming language
rust
11053 projects

Projects that are alternatives of or similar to Moonfire Nvr

Yi Hack Allwinner V2
Custom firmware for Yi 1080p camera based on Allwinner platform
Stars: ✭ 100 (-76.08%)
Mutual labels:  camera, rtsp
Yi Hack Allwinner
Custom firmware for Yi 1080p camera based on Allwinner platform
Stars: ✭ 243 (-41.87%)
Mutual labels:  camera, rtsp
Aquila
IPCamera, aim to support V4L2/UVC/RaspberryPi/Hisi/XXX SDK production
Stars: ✭ 173 (-58.61%)
Mutual labels:  camera, rtsp
Yi Hack V4
New Custom Firmware for Xiaomi Cameras based on Hi3518e Chipset. It features RTSP, SSH, FTP and more!
Stars: ✭ 1,183 (+183.01%)
Mutual labels:  camera, rtsp
WebRTCCTV
WebRTCCTV is a signaling server & webapp able to stream from RTSP cameras using WebRTC
Stars: ✭ 32 (-92.34%)
Mutual labels:  camera, rtsp
Frigate
NVR with realtime local object detection for IP cameras
Stars: ✭ 1,329 (+217.94%)
Mutual labels:  camera, rtsp
Camerattack
An attack tool designed to remotely disable CCTV camera streams (like in spy movies)
Stars: ✭ 192 (-54.07%)
Mutual labels:  camera, rtsp
Media Stream Library Js
JavaScript library to handle media streams on the command line (Node.js) and in the browser.
Stars: ✭ 192 (-54.07%)
Mutual labels:  camera, rtsp
eufy security
Home Assistant integration to manage Eufy Security devices as cameras, home base stations, doorbells, motion and contact sensors.
Stars: ✭ 242 (-42.11%)
Mutual labels:  camera, rtsp
Nager.VideoStream
Get images from a network camera stream or webcam
Stars: ✭ 27 (-93.54%)
Mutual labels:  camera, rtsp
Onvifcamera
Pod and example on how to connect to an ONVIF camera
Stars: ✭ 66 (-84.21%)
Mutual labels:  camera, rtsp
Rtspallthethings
Deprecated RTSP media server -- Use github.com/aler9/rtsp-simple-server instead.
Stars: ✭ 258 (-38.28%)
Mutual labels:  camera, rtsp
Yi Hack Mstar
Custom firmware for Yi 1080p camera based on MStar platform
Stars: ✭ 446 (+6.7%)
Mutual labels:  camera, rtsp
Videop2proxy
Proxy to enable P2P only cameras to work with standard protocols.
Stars: ✭ 102 (-75.6%)
Mutual labels:  camera, rtsp
Zsgx1hacks
Hacks for ZS-GX1 IP Camera and various Goke GK7102 based IP Cameras
Stars: ✭ 251 (-39.95%)
Mutual labels:  camera, rtsp
esp32cam-ready
Plug and Play firmware for the esp32cam. Flash, provision and connect to rtsp.
Stars: ✭ 67 (-83.97%)
Mutual labels:  camera, rtsp
Xiaopi
An Open Source Home Security Camera For Raspberry Pi
Stars: ✭ 311 (-25.6%)
Mutual labels:  camera, rtsp
Easy handeye
Automated, hardware-independent Hand-Eye Calibration
Stars: ✭ 355 (-15.07%)
Mutual labels:  camera
Cameraview
📸 A well documented, high-level Android interface that makes capturing pictures and videos easy, addressing all of the common issues and needs. Real-time filters, gestures, watermarks, frame processing, RAW, output of any size.
Stars: ✭ 4,137 (+889.71%)
Mutual labels:  camera
Android Goldeneye
A wrapper for Camera1 and Camera2 API which exposes simple to use interface.
Stars: ✭ 356 (-14.83%)
Mutual labels:  camera

CI

Introduction

Moonfire NVR is an open-source security camera network video recorder, started by Scott Lamb <[email protected]>. It saves H.264-over-RTSP streams from IP cameras to disk into a hybrid format: video frames in a directory on spinning disk, other data in a SQLite3 database on flash. It can construct .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.

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 no support for motion detection, no https/SSL/TLS support (you'll need a proxy server, as described here), and only a console-based (rather than web-based) configuration UI.

screenshot

Moonfire NVR is currently at version 0.6.2. Until version 1.0, there 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 salient motion detection. It's way too early to make promises, but it seems possible to build a full-featured hobbyist-oriented multi-camera NVR that requires nothing but a cheap machine with a big hard drive. I welcome help; see Getting help and getting involved below. 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 the camera's already-encoded video streams. Cheap IP cameras these days provide pre-encoded H.264 streams in both "main" (full-sized) and "sub" (lower resolution, compression quality, and/or frame rate) varieties. The "sub" stream is more suitable for fast computer vision work as well as remote/mobile streaming. Disk space these days is quite cheap (with 4 TB drives costing about $100), so we can afford to keep many camera-months of both streams on disk.
  • off-loading on-NVR analytics to an inexpensive USB or M.2 neural network accelerator.
  • using HTTP Live Streaming rather than requiring custom browser plug-ins.
  • taking advantage of on-camera analytics. This is the lowest CPU usage option, although many cameras' analytics aren't as good as what can be done on the NVR, they're hard to experiment with, and even when they use modern ML-based approaches, their built-in models can't be retrained.

Documentation

Getting help and getting involved

Please email the moonfire-nvr-users mailing list with questions, or just to say you love/hate the software and why. You can also file bugs and feature requests on the github issue tracker.

I'd welcome help with testing, development (in Rust, JavaScript, and HTML), user interface/graphic design, and documentation. Please email the mailing list if interested. Pull requests are welcome, but I encourage you to discuss large changes on the mailing list or in a github issue first to save effort.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].