简介

官网: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
本篇相关yml等文件下载链接,:https://gitee.com/hswz5525/dockercompose
文章如有补充内容,我会在底部留言中置顶