简介
官网:https://frigate.video/
github源码页:https://github.com/blakeblackshear/frigate
官方测试页:https://demo.frigate.video/
开源免费的AI智能监控方案frigate
主要功能如下:
1、可以接入支持ONVIF/RTSP协议的摄像头,实时查看或回放录像,可将实时录像保存到NAS;
2、普通摄像头接入后,可以借助frigate的AI功能实现物体检测、分析监控画面并实时提醒,还能划定安全区域等等,让不支持AI的摄像头也能实现智能识别;
3、开源免费,摄像头数量不限
4、可以接入HomeAssistant联动
安装搭建
本次部署还是在飞牛nas的docker compose环境下
其他nas需对应修改映射目录部署
docker compose代码如下:
services:
frigate:
container_name: frigate
privileged: true # 超级权限,默认即可
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:stable
shm_size: "64mb" # 共享内存大小
devices:
- /dev/dri/renderD128:/dev/dri/renderD128 # 直通核显设备
volumes:
- /etc/localtime:/etc/localtime:ro # 主机时间同步到容器
- ./config:/config # Frigate配置文件存放位置
- ./storage:/media/frigate # 录像保存位置
- type: tmpfs
target: /tmp/cache
tmpfs:
size: 1000000000 # 临时文件系统大小
ports:
- "8971:8971" # Frigate API端口
- "5555:5000" # Frigate后台UI界面端口(请将5555替换为未被占用的端口)
- "8554:8554" # RTSP feeds流端口
- "8555:8555/tcp" # WebRTC over TCP端口
- "8555:8555/udp" # WebRTC over UDP端口
environment:
FRIGATE_RTSP_PASSWORD: "password" # RTSP流密码
frigate目前还没汉化版本,所以是全英文的,
不过因为我也没摄像头,就没调试过,但应该问题不大,有问题只能自己看看官方文档了
frigate支持ONVIF和RTSP两种协议
ONVIF:简单说就是主要用于控制摄像头的通讯协议
RTSP:简单说就是用于摄像头音视频传输的通讯协议
一般情况下,如果摄像头支持ONVIF,它通常也会支持RTSP,
如果不确定你的摄像头是否支持ONVIF或RTSP,请联系官方客服查询或去其官网查询。
部署完成后双击修改frigate目录下的这个config.yaml文件来添加摄像头
我把配置解释了一下,比他的基本配置增加了onvif设置(但是我先注释掉了)和record设置(用于录像)
mqtt:
enabled: false
cameras:
camera001: # 自定义摄像头名称,onvif配置非必须可以删除
#onvif: # ONVIF设置,用于云台摄像头控制
#host: 10.0.10.10 # 摄像头IP地址,非必须
#port: 8000 # ONVIF端口号,非必须
#user: admin # 摄像头账号,可为空,非必须
#password: password # 摄像头密码,可为空,非必须
enabled: true
ffmpeg:
inputs:
- path: rtsp://admin:password@10.0.10.10:554/stream1 # RTSP流地址
roles:
- detect # 动态检测规则
- record # 录像规则
#动态检测设置
detect:
enabled: false # 动态检测默认不开启
width: 1280
height: 720
#录像设置
record:
enabled: true #录像保存是否开启
retain:
days: 15 #录像保存天数
mode: all #录像模板类型
version: 0.14
需要增加监控的摄像头数量的,只需要复制“camera001”开始到“version”之前的这部分代码,如下,改名camera002等:
cameras:
camera001: # 自定义摄像头名称,onvif配置非必须可以删除
#onvif: # ONVIF设置,用于云台摄像头控制
#host: 10.0.10.10 # 摄像头IP地址,非必须
#port: 8000 # ONVIF端口号,非必须
#user: admin # 摄像头账号,可为空,非必须
#password: password # 摄像头密码,可为空,非必须
enabled: true
ffmpeg:
inputs:
- path: rtsp://admin:password@10.0.10.10:554/stream1 # RTSP流地址
roles:
- detect # 开启物体检测
- record # 开启录像
#动态检测设置
detect:
enabled: false # 动态检测是否开启,默认不开启
width: 1280
height: 720
#录像设置
record:
enabled: true #录像是否保存
retain:
days: 15 #录像保存天数
mode: all #录像模板类型
camera002: # 自定义摄像头名称,onvif配置非必须可以删除
#onvif: # ONVIF设置,用于云台摄像头控制
#host: 10.0.10.10 # 摄像头IP地址,非必须
#port: 8000 # ONVIF端口号,非必须
#user: admin # 摄像头账号,可为空,非必须
#password: password # 摄像头密码,可为空,非必须
enabled: true
ffmpeg:
inputs:
- path: rtsp://admin:password@10.0.10.10:554/stream1 # RTSP流地址
roles:
- detect # 开启物体检测
- record # 开启录像
#动态检测设置
detect:
enabled: false # 动态检测是否开启,默认不开启
width: 1280
height: 720
#录像设置
record:
enabled: true #录像是否保存
retain:
days: 15 #录像保存天数
mode: all #录像模板类型
version: 0.14