MiBeeNvr

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 5, 2026 License: MIT

README

MiBee NVR

A lightweight Network Video Recorder (NVR) written in Go. Supports RTSP (H.264/MJPEG) and HTTP JPEG cameras, with a built-in Web UI, WebDAV, FTP, and MQTT integration. Compiles to a single static binary with an embedded SPA frontend.

中文

Screenshots

Recordings - Dark Theme Recordings - Light Theme Cameras Management - Dark Theme Statistics - Dark Theme Statistics - Light Theme Settings - Dark Theme

Features

  • RTSP (H.264/MJPEG) and HTTP JPEG camera support
  • Automatic MP4 segment recording
  • Web UI with dark/light theme (auto-detects system preference)
  • Chart.js-powered storage trends and per-camera statistics
  • lucide-svelte icons throughout the interface
  • i18n support: English/Chinese language switching
  • Responsive design for mobile and desktop
  • WebDAV (read-only) and FTP file access
  • MQTT trigger-based recording for smart home integration
  • Multi-camera concurrent recording
  • Automatic cleanup with retention and disk threshold policies
  • SQLite metadata storage
  • Single static binary, no external dependencies (CGO_ENABLED=0)

Quick Start

# Build
make build

# Create config
cp config.example.yaml mibee-nvr.yaml

# Run
./mibee-nvr -config mibee-nvr.yaml

Open http://localhost:9090 to access the Web UI.

Documentation

Document Description
Getting Started Installation, first camera setup
Configuration Full config reference
API Reference REST API documentation
MediaMTX Guide MediaMTX integration for CSI cameras
Deployment systemd, reverse proxy, cross-compile

Build

make build        # Local build
make cross        # Cross-compile for ARM64
make test         # Run tests
make lint         # Run linter

Project Structure

cmd/mibee-nvr/       # Entry point
internal/            # Core packages
  api/               # REST API handlers
  camera/            # Camera manager
  recorder/          # H.264/MJPEG recording engines
  storage/           # SQLite DB + file manager
  config/            # YAML config
  middleware/        # Auth middleware
  muxer/             # MP4 muxer
  ftp/               # FTP server
  webdav/            # WebDAV server (read-only)
  mqtt/              # MQTT client
  ui/                # Embedded web UI
web/                 # Svelte 5 frontend
deploy/              # systemd services
docs/                # Documentation (EN/ZH)

Contributing

  1. Run make lint before submitting
  2. Add tests for new features
  3. Write clear commit messages

License

MIT License © Mi&Bee Studio

Directories

Path Synopsis
cmd
mibee-nvr command
internal
api
ftp
ui

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL