Frigate 简介
Frigate[1] 是一个为IP摄像头设计的具有实时本地目标检测功能的网络视频录像机(NVR),支持视频流处理和物体检测。它专为Home Assistant[2]设计,并使用OpenCV和TensorFlow进行实时目标检测。
项目特点
主要特点
-
与Home Assistant的紧密集成:通过自定义组件[3]实现。
-
资源利用最小化与性能最大化:仅在必要时刻和地点检测目标。
-
多进程处理:强调实时处理,而非逐帧处理。
-
低开销运动检测:确定运行目标检测的位置。
-
TensorFlow目标检测:在独立进程中运行,以实现最大帧率。
-
通过MQTT通信:方便集成到其他系统中。
-
基于检测到的对象设置视频保留:支持24/7录制。
-
通过RTSP重新流式传输:减少对相机的连接数。
-
支持WebRTC和MSE:低延迟实时查看。
使用场景
Frigate适用于需要实时监控和目标检测的场景,如家庭安全、商业监控等。它特别适合与Home Assistant集成,为用户提供一个完整的智能家居安全解决方案。
项目使用
-
准备环境:
-
确保你的系统支持Docker。
-
选择一个操作系统,最好是基于Debian的,因为Frigate在这类系统上运行最佳。
-
安装Docker:
-
如果系统尚未安装Docker,需要先安装Docker。可以在Docker官网找到安装指南。
-
配置存储:
-
Frigate使用Docker卷来存储配置文件、数据库、快照和录像等。需要配置适当的存储空间。
-
配置端口:
-
Frigate使用多个端口进行通信,包括用于UI和API的8971端口,以及用于RTSP重流和WebRTC连接的其他端口。确保这些端口在你的网络中是开放的。
-
计算shm-size:
-
根据你的相机分辨率,需要计算并设置合适的shm-size,这是Frigate用于存储处理中帧的共享内存大小。
-
使用Docker Compose部署Frigate:
-
通过Docker Compose来部署Frigate是最推荐的方法。需要创建一个
docker-compose.yml
文件,并在其中配置卷、端口和环境变量。
-
配置Frigate:
-
创建一个配置文件(通常是
frigate.ini
),在其中设置你的相机信息、检测设置等。
-
启动Frigate:
-
通过Docker Compose启动Frigate容器。
-
访问Frigate UI:
-
通过浏览器访问Frigate的UI,通常是
http://<your-server-ip>:8971
。
-
集成Home Assistant(如果需要):
-
如果你使用Home Assistant,可以按照Frigate的文档将Frigate集成到Home Assistant中。
-
监控和调整:
-
监控Frigate的性能,并根据需要调整配置以优化性能。
PS:具体的安装和配置步骤可能会根据你的具体硬件和操作系统有所不同,所以建议详细阅读Frigate的官方文档[4]以获取更精确的指导。
项目截图
-
实时仪表盘:
-
简化的审查工作流程:
-
多相机快进:
注:本文内容仅供参考,具体项目特性请参照官方 GitHub 页面的最新说明。
欢迎关注&点赞&在看,感谢你的阅读~
资源列表
[1]
Github地址: https://github.com/blakeblackshear/frigate
[2]
Home Assistant: https://www.home-assistant.io
[3]
自定义组件: https://github.com/blakeblackshear/frigate-hass-integration
[4]
官方文档: https://docs.frigate.video