自建NVR替代云监控存储 - 完整实施方案
监控摄像头的优势与挑战
能够录制影像并实时串流到设备的监控摄像头,是增强家庭安全的绝佳方式。不幸的是,虽然摄像头本身价格实惠,但专用网络视频录像机价格昂贵。云存储平台同样如此,订阅费用会随时间累积。而且将生活空间的录像存储在第三方服务器上还会带来隐私问题。
自托管解决方案的优势
幸运的是,自托管生态系统充满了优秀的服务,不仅能避免定期订阅费用对钱包的消耗,还能让监控系统完全私有化。即使预算低于100美元,也能构建可靠的家庭NVR设置,在摄像头检测到异常时发送警报。
Frigate:我的首选NVR工具
多平台兼容性
尽管界面简约整洁,Frigate兼容大量设备——不仅仅是主机设备。Frigate还支持多种AI加速器,可以增强其运动跟踪、物体检测、人脸识别、生成式AI描述、鸟类识别和其他机器学习功能。
经济实惠的部署方案
如果预算低于100美元,Frigate在树莓派系列上运行良好。后期甚至可以为它配备Coral Edge TPU,在创建遮罩和区域后,在机器学习工作负载中实现稳定性能。
实际部署经验
硬件选择与迁移
作者最近在运行树莓派5数月后,将Frigate部署在性价比高的NAS上。虽然卓越的处理能力在此决定中起了重要作用,但主要原因是为了将所有录像保存在NAS本身。
部署流程详解
TrueNAS部署:在存储服务器上使用TrueNAS,从内置应用商店安装Frigate非常简单。
树莓派部署:
- 创建docker-compose.yml文件
- 从官方Frigate网站粘贴代码
- 修改媒体和配置目录的路径变量
- 移除5000端口旁的#号以便访问Web UI
- 运行
docker compose up -d启动容器
摄像头配置
两种设置的后续步骤相同,只需导航到配置编辑器选项卡,添加IP摄像头的URL、分辨率和其他设置。
存储管理策略
数据保留策略
对于像Frigate这样每天生成大量数据的服务,创建保留策略是个好主意。这样Frigate会每隔几天删除录像,而不是记录所有内容。
配置方法
- 进入配置编辑器选项卡
- 从官方网站粘贴录制代码到配置文件中
- 根据需要修改限制
- 作者选择了最保守的选项,这对他的Frigate实例效果良好
智能家居集成
Home Assistant联动
虽然Frigate有内置的通知功能,可以配置NVR应用向电子邮件地址发送警报,但作者将Frigate实例与Home Assistant配对使用。
高级功能实现
- Home Assistant社区商店中的Frigate集成将监控系统转变为典型的HASS实体
- 创建单独的仪表板直接监控安全摄像头影像
- 通过SgtBatten的Frigate Camera Notifications仓库轻松自动化Frigate警报
- 配置HASS实例在特定摄像头区域检测到运动时接收通知
未来规划
作者计划花时间创建涉及其他智能家居设备的更高级自动化功能。
技术方案对比
市场上还有其他自托管NVR工具,各具特色:
- ZoneMinder:具有出色的运动检测和物体跟踪功能
- Nightwatcher:面向复杂度谱系的另一端,为寻求无痛监控和存储监控录像的用户设计
通过这种自托管方案,用户既能节省成本,又能完全掌控自己的安防数据,实现真正的私有化监控解决方案。