-
Notifications
You must be signed in to change notification settings - Fork 9
Getting Started zh
MiBee NVR 是一个用 Go 语言编写的轻量级网络视频录像机。它将 IP 摄像头的视频流录制为 MP4 片段并保存到磁盘,提供 Web 界面用于查看录像、管理摄像头和访问录制内容。
主要功能:
- 支持 RTSP (H.264、H.265、MJPEG)、HTTP JPEG 和 ONVIF 摄像头录制为 MP4 片段
- Web 管理界面,支持深色/浅色主题、HLS 实时预览和 Chart.js 统计图表
- WebDAV(可配置只读/读写)和 FTP 访问录像文件
- MQTT 集成,支持事件触发录制
- 片段合并,减少文件数量
- 单一静态二进制文件,内嵌 Web 界面,无外部依赖
从 GitHub Releases 下载对应架构的最新版本:
# AMD64(大多数 PC/服务器)
wget https://github.com/Mi-Bee-Studio/MiBeeNvr/releases/latest/download/mibee-nvr-amd64
chmod +x mibee-nvr-amd64
# ARM64(树莓派等)
wget https://github.com/Mi-Bee-Studio/MiBeeNvr/releases/latest/download/mibee-nvr-arm64
chmod +x mibee-nvr-arm64初始化配置并启动:
./mibee-nvr-amd64 init --password 你的密码
./mibee-nvr-amd64 -config mibee-nvr.yaml在浏览器打开 http://localhost:9090。
docker compose up -d在浏览器打开 http://localhost:9090。
注意:无需准备配置文件!MiBee NVR 在没有配置文件的情况下启动时会自动初始化。
默认情况下,录像存储在宿主机的 ./data 目录(映射到容器内的 /data)。
如果要将录像存储到外部硬盘或其他目录,请修改 docker-compose.yml:
volumes:
- /mnt/external/nvr:/data # ← 改为你的宿主机路径
environment:
- NVR_DATA_DIR=/data # 必须与卷挂载的右侧一致
# - NVR_UID=1000 # 与宿主机目录所有者的 UID 一致
# - NVR_GID=1000 # 与宿主机目录所有者的 GID 一致重要:卷挂载的右侧(
:data)和NVR_DATA_DIR必须始终一致。 如果容器无法启动或不断重启,请检查宿主机目录是否存在,以及配置的 UID/GID(默认 1000:1000)是否有写入权限。
curl -fsSL https://raw.githubusercontent.com/Mi-Bee-Studio/MiBeeNvr/main/install.sh | sudo bash此脚本会自动下载二进制文件、创建系统用户(nvr)、生成配置、安装 systemd 服务并启动。数据目录:/var/lib/mibee-nvr。
卸载(保留录像数据):
curl -fsSL https://raw.githubusercontent.com/Mi-Bee-Studio/MiBeeNvr/main/install.sh | sudo bash -s -- --uninstall需要 Go 1.26+ 和 Node.js(编译前端):
git clone https://github.com/Mi-Bee-Studio/MiBeeNvr.git
cd MiBeeNvr
make build
./mibee-nvr init --password 你的密码
./mibee-nvr -config mibee-nvr.yaml交叉编译到 ARM64(如树莓派):
make crossinit 子命令创建带有安全默认值的配置文件:
./mibee-nvr init --password 你的密码选项:
| 参数 | 默认值 | 说明 |
|---|---|---|
--password |
(交互输入) | Web UI 管理员密码 |
--username |
admin |
管理员用户名 |
--data-dir |
/var/lib/mibee-nvr |
录像和数据库的数据目录 |
--listen |
:9090 |
HTTP 监听地址 |
--config |
mibee-nvr.yaml |
配置文件路径 |
--force |
false | 覆盖已有配置文件 |
设置管理员密码有三种方式:
-
mibee-nvr init --password <密码>— 初始化时直接设置哈希密码(推荐) -
配置文件明文 — 在 YAML 中设置
auth.password,首次启动时自动转换为password_hash -
手动生成哈希 — 使用
mibee-nvr hash-password <密码>生成,粘贴到auth.password_hash
| 路径 | 说明 |
|---|---|
/var/lib/mibee-nvr/ |
数据目录(录像、数据库) |
/var/lib/mibee-nvr/mibee-nvr.db |
SQLite 数据库 |
mibee-nvr.yaml |
配置文件 |
MiBee NVR 使用独立的传输协议 + 编码格式配置摄像头:
-
传输协议:
rtsp、http、onvif -
编码格式:
h264、h265、mjpeg、jpeg
旧版组合格式(
rtsp_h264、rtsp_h265、rtsp_mjpeg、http_jpeg)仍然支持,保持向后兼容。
cameras:
- id: "front-door"
name: "前门"
protocol: "rtsp"
encoding: "h264"
url: "rtsp://192.168.1.100:554/stream"
enabled: truecameras:
- id: "driveway"
name: "车道"
protocol: "rtsp"
encoding: "h265"
url: "rtsp://192.168.1.103:554/stream"
enabled: truecameras:
- id: "garage"
name: "车库"
protocol: "http"
encoding: "jpeg"
url: "http://192.168.1.102:8080/snapshot"
enabled: truecameras:
- id: "lobby"
name: "大厅"
protocol: "onvif"
url: "http://192.168.1.104:80/onvif/device_service"
username: "admin"
password: "camera123"
enabled: trueONVIF 会自动检测编码格式,可以省略
encoding字段。
以下格式仍然可用:
cameras:
- id: "cam1"
name: "旧格式摄像头"
protocol: "rtsp_h264"
url: "rtsp://192.168.1.100:554/stream"
enabled: true编辑配置后重启 MiBee NVR,或通过 Web UI 在运行时添加摄像头。
在浏览器打开 http://你的服务器地址:9090,使用配置的凭据登录。通过 Web UI 可以:
- 查看摄像头实时画面(HLS)
- 回放和下载录像
- 添加、编辑和删除摄像头
- 查看存储统计和趋势
- 配置系统设置
WebDAV 默认启用(只读模式),访问路径为 /dav/:
curl -u admin:密码 http://你的服务器地址:9090/dav/在文件管理器中挂载:davs://你的服务器地址:9090/dav/
要启用读写访问,在配置中设置 webdav.read_write: true。
FTP 默认启用,端口为 2121:
ftp 你的服务器地址 2121
# 用户名:admin
# 密码:(你设置的密码)- 检查配置文件语法:
cat mibee-nvr.yaml - 确认数据目录存在且可写:
ls -la /var/lib/mibee-nvr/ - 查看日志:
journalctl -u mibee-nvr -f
-
install.sh脚本创建了nvr系统用户。确保数据目录的所有者正确:sudo chown -R nvr:nvr /var/lib/mibee-nvr/
- 默认端口为 9090。如果被占用,在配置中修改
server.listen(如":8080")
- 使用 VLC 或 ffplay 验证摄像头 URL:
ffplay rtsp://192.168.1.100:554/stream - 检查网络连通性:
ping 192.168.1.100 - 确认摄像头用户名和密码正确
- 部分 H.265 摄像头可能需要使用特定的子码流 URL
- 将
segment_duration设为30s(默认值)。更长的时长会在内存中缓存更多数据。 - 树莓派 3B 约 900MB 内存,4 个摄像头 30 秒片段时稳定运行约占 300MB。
GitHub | Report Issue | MIT License
Setup & Basics
Camera & Streaming
Integrations
Advanced
安装配置
摄像头与流媒体
集成
进阶