WHAT IS IT?
Shinobi is an open source Network Video Recorder (NVR) written in Node.js. It lets you manage, record and monitor video streams from IP and USB cameras through a web interface. Think of it as a self-hosted alternative to proprietary surveillance systems, built as a smart wrapper around FFmpeg.
WHY IS IT INTERESTING?
- Fully web-based UI : No app to install — live stream viewing, recording playback and full configuration happen right in the browser from any device.
- Massive camera support : Compatible with over 6000 IP and USB camera models via ONVIF, RTSP, MJPEG and other standard protocols.
- Lightweight and efficient : Users report running 16 cameras at 1080p 15fps on a Pentium E5500 with just 3 GB of RAM. Runs on anything from a dedicated server to a Raspberry Pi.
- Real-time via WebSocket : Events like motion detection and alerts are pushed to connected clients in real time — no polling needed.
- Built-in motion detection : Server-side video analysis with configurable zones, custom thresholds and automatic recording triggers.
- Multi-user management : Account system with granular permissions, ideal for shared installations or professional deployments.
USE CASES
- Self-hosted home surveillance without relying on third-party cloud services
- Construction site or retail space monitoring with continuous recording
- Browser-accessible baby monitor viewable from any mobile device
- Centralized multi-site security system running on a single server
- Integration into existing home automation setups (Home Assistant compatible)
