explaingit

spupuz/vibenvr

Analysis updated 2026-05-18

287JavaScriptAudience · generalComplexity · 3/5Setup · moderate

TLDR

A self-hosted, privacy-respecting video surveillance system for IP cameras that keeps all recordings local, no cloud required.

Mindmap

mindmap
  root((VibeNVR))
    What it does
      Local video surveillance
      Motion detection
      Event timeline
    Tech stack
      JavaScript
      Python
      Docker
    Use cases
      Home security
      Privacy masking
      Home Assistant integration
    Audience
      Privacy focused users
      Self hosters
      Home automation fans

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a local security camera system for your home without sending footage to the cloud.

USE CASE 2

Detect motion using software, ONVIF hardware offload, or on-device AI object detection.

USE CASE 3

Set up permanent privacy masking zones to block sensitive areas from recordings.

USE CASE 4

Integrate camera events with Home Assistant and other tools over MQTT.

What is it built with?

JavaScriptPythonReactFFmpegDocker

How does it compare?

spupuz/vibenvrbuilderio/skillsdavidvkimball/vaultcms
Stars287292282
LanguageJavaScriptJavaScriptJavaScript
Setup difficultymoderateeasy
Complexity3/52/5
Audiencegeneraldevelopervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires Docker plus RTSP-capable IP cameras on the same local network.

In plain English

VibeNVR is a self-hosted video surveillance system for managing IP cameras on your own hardware, with no cloud required. The problem it solves: most consumer security camera systems send your video footage to a company's servers, raising privacy concerns and often requiring a subscription. VibeNVR keeps everything local, so your recordings stay on your own storage, and you control who has access. You install it using Docker, which makes setup relatively straightforward. Once running, you get a web interface where you can add IP cameras that connect over a standard protocol called RTSP, configure when and how recordings happen, and review footage through an event timeline. The system uses FFmpeg under the hood, a widely used open-source video processing tool, which allows near-zero CPU usage when simply copying a video stream directly without re-encoding. Motion detection offers three modes: software-based detection, hardware offloading to the camera itself via the ONVIF standard, and AI-based object detection that can recognize people, vehicles, and animals using on-device models. It also supports pan, tilt, and zoom cameras, privacy masking to permanently block out areas from recordings, and integration with home automation via MQTT. Storage management automatically deletes old footage when space runs low. You would use this if you want a privacy-respecting, self-hosted alternative to cloud camera services. It is written in JavaScript and Python. The project also includes features aimed at security and reliability, such as two-factor authentication with trusted devices, rate limiting, and read-only API tokens with expiration for connecting third-party tools. Recordings and snapshots can be filtered and organized through the event timeline, cameras can be grouped for easier management, and the system supports automated backups of its own configuration so a setup can be restored after a failure. The maintainer describes the project as under active development and open to community bug reports and feature suggestions through GitHub issues and discussions.

Copy-paste prompts

Prompt 1
Help me write a docker-compose.prod.yml file to deploy VibeNVR with my IP cameras.
Prompt 2
Explain the difference between VibeNVR's OpenCV, ONVIF Edge, and AI motion detection modes.
Prompt 3
Walk me through setting up privacy masking zones for a specific camera in VibeNVR.
Prompt 4
How do I connect VibeNVR to Home Assistant using its MQTT integration?
Prompt 5
Show me how to configure storage cleanup so old recordings are deleted automatically.

Frequently asked questions

What is vibenvr?

A self-hosted, privacy-respecting video surveillance system for IP cameras that keeps all recordings local, no cloud required.

What language is vibenvr written in?

Mainly JavaScript. The stack also includes JavaScript, Python, React.

How hard is vibenvr to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is vibenvr for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.