Skip to content

Welcome to the VibeNVR Wiki! 📹

VibeNVR is a modern, modular, and containerized video surveillance system designed to manage IP cameras, recordings, motion detection, and a unified event timeline.

This Wiki serves as the extended documentation hub for advanced configurations, troubleshooting guides, maintenance procedures, and deep dives into the system's architecture.

  • Bulk Timeline Operations: Multi-select events (with Shift+Click support) for rapid deletion and storage cleanup.
  • Timeline Filters: Instantly filter recordings by Camera, Event Type (Motion vs Continuous), AI Objects, Date, and Hour.
  • AI Object Detection: Hardware-accelerated ML inference via Google Coral Edge TPU or CPU. Detect people, vehicles, animals, and filter Timeline events by object type.
  • UniFi First-Class Support: Native RSTSPS streaming with automatic TLS verification bypass for UniFi controllers.
  • WebCodecs Performance: Ultra low-latency streaming with hardware acceleration and intelligent keyframe caching.
  • Dual-Stream Optimization: Dedicated sub-streams for lightweight dashboard grids, saving CPU and bandwidth.
  • Advanced PTZ: Native ONVIF support for low-latency Pan, Tilt, Zoom, and Home Positions with resident hardware fallbacks.
  • MQTT & Home Automation: Native integration with Home Assistant via MQTT Discovery. Instant motion sensors and AI object metadata reporting.
  • System Integrity Assurance: Integrated security, RBAC, and path-sanitization audits running on every release. New: Hardened Notification Pipeline with explicit SSRF protections and Sanitized Camera Exports.
  • Tiered Storage Architecture: Set up primary and secondary storage profiles with intelligent archival scheduling and per-profile quotas. Includes a granular UI breakdown.
  • Stability & Efficiency: Adaptive RTSP retry logic for Wyze/Battery cameras, dynamic zero-buffer memory optimization for passthrough recording, and O(1) Database Query optimization for background tasks to prevent OOM errors.

⚠️ Important Notes

  • Language Policy: English is the official and only supported language for all VibeNVR documentation, interfaces, issues, and code.
  • Security First: VibeNVR is designed to be secure by default. Always ensure your .env secrets are strong (especially SECRET_KEY and WEBHOOK_SECRET) and never expose internal container ports directly to the internet without a properly configured reverse proxy.
  • Contribute: Read our CONTRIBUTING.md and CODE_OF_CONDUCT.md guidelines if you want to help improve VibeNVR.

Use the sidebar on the right to navigate through the available Wiki pages.