Git Product home page Git Product logo

pi-nvr's Introduction

Raspberry Pi NVR Configuration

CI

This repository contains Raspberry Pi NVR configurations so a Pi 4 or CM4 can be used as an NVR, or Network Video Recorder, for capturing and managing CCTV/IP camera streams.

Currently I'm experimenting with many different DVR applications.

See the 'NVR Solutions' section below for my thoughts on different applications, and read through the GitHub issues to see current progress in testing.

Raspberry Pi Setup

For an NVR, you should use storage other than built-in eMMC (CM4 only) or microSD (Lite CM4 or Pi 4 model B). For my own purposes, I'm booting a Pi off of an NVMe drive, using the new native NVMe boot option on the CM4.

You also need a lot of storage—multiple TB of storage is best if you want any form of long-term archive.

And finally, some applications like Frigate work great if you add on something like Google Coral TPU via USB.

To prep the Pi, make sure you are running the latest version of Raspberry Pi OS, can reach the Pi over SSH, and can log into it with something like ssh [email protected] (that's the default address I'm using to test).

Installation

Make sure you have Ansible installed (I install with Pip: pip3 install ansible).

Copy the example.inventory.ini to inventory.ini and change the IP address under the [dvr] section to the IP or hostname of your Pi, and the username after ansible_user to your Pi username.

Run the Ansible playbook to prepare the Pi for NVR applications:

ansible-playbook main.yml

Ideally you will have set up an SSH key pair to access the Pi without entering a password. If you need to enter a password to SSH into the Pi, add -K after the ansible-* commands and Ansible will prompt you for the password when it runs.

Then run specific NVR playbook, e.g.

ansible-playbook frigate/main.yml

Be sure to have storage settings configured (e.g. any network or local mounts) prior to starting any of these applications.

Frigate setup

The Frigate docker-compose configures the Frigate storage volume to be synced to /mnt/frigate, so you should either mount a network share in that path, or create a local volume there.

In my case, I either set up a RAID volume or a single disk (NVMe, SSD, or HDD), and made sure it was mounted at the path /mnt/frigate before running the playbook.

There are a number of great guides for Frigate out there, but I am indebted especially to this Frigate guide from Simplepush for a broad understanding of all Frigate's moving parts.

Shinobi setup

After the playbook completes, visit the URL of your NVR, at the /super path, e.g. http://dvr.local:8080/super. The default login credentials are:

Raspberry Pi NVR Solutions

Here are my notes on different options for DVR/NVR/CCTV solutions that could run on the Pi:

Author

This project was created in 2022 by Jeff Geerling.

pi-nvr's People

Contributors

geerlingguy avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.