Frigate:把家里的摄像头,变成真正懂画面的本地 NVR github开源项目 斩获35.6k stars

文章目录(快捷跳转)

简介说明
监控系统不应该只会录像
传统家用监控通常有两种体验。
一种是摄像头自带存储,想找录像时只能在手机 App 里慢慢翻;另一种是把视频全部录到硬盘,录像是保存下来了,但“什么时候有人经过”“哪一天有车停在门口”依旧要靠人工回看。
Frigate 解决的是后一个问题。
它是一套面向 IP 摄像头的本地 NVR 系统,除了 24 小时录像,还会利用目标检测模型识别人、车、动物等对象,再围绕这些对象生成事件记录。你不必从几个小时的视频里手动寻找目标,只需要查看检测到的事件。
项目最大的特点是:视频分析尽可能在本地完成。
这意味着摄像头画面不必全部上传到第三方云服务。对于家庭监控来说,这不只是省下一笔订阅费用,也意味着录像和识别结果可以留在自己的设备上。
Frigate 的工作方式
Frigate 的基本链路可以理解为:

IP 摄像头
    ↓
RTSP 视频流
    ↓
Frigate 接收与转发
    ↓
运动检测
    ↓
目标检测
    ↓
录像、事件和自动化
    ↓
Home Assistant / MQTT / WebUI

它不会对每一帧视频都使用高成本的目标检测模型,而是先通过低开销的运动检测判断画面中是否出现了变化,只有在必要的位置和时间启动对象检测。
这样做的好处是降低计算量,也更适合同时接入多路摄像头。
Frigate 的设计重点不是“把每一帧都分析到极致”,而是在实时性、资源占用和检测效果之间取得平衡。对于家庭用户而言,监控系统不一定需要每帧都进行复杂推理,但必须能够及时发现事件,并且在需要查看时保留足够完整的录像。

它能识别什么

Frigate 使用目标检测模型识别视频中的对象,常见目标包括:

  • 人。
  • 车辆。
  • 自行车。
  • 摩托车。
  • 狗、猫等动物。
  • 包裹或其他模型支持的目标。

实际可识别的类别取决于你使用的模型和配置。Frigate 不是一个可以随意识别任何事物的通用视觉模型,不能把“检测到人”简单等同于“理解了场景”。

例如,模型可能识别出画面里有一辆车,但它未必知道这辆车是不是家人的,也不一定能准确判断车辆停留的原因。真正可靠的监控系统,通常需要把目标检测、区域、时间段和自动化规则组合起来使用。
区域和规则,让报警不再到处乱响
只识别目标还不够。
如果摄像头对着院子,路人、树影、邻居车辆都可能进入画面。没有区域限制,系统很容易产生大量无意义事件。
Frigate 支持为摄像头设置区域和掩码:

  • 区域:只关注画面中的某一部分,例如大门、车位、走廊。
  • 掩码:忽略容易产生误报的区域,例如树枝、风扇、道路或摄像头时间水印。
  • 目标筛选:只对指定类型的对象进行记录或通知。
  • 停留和运动条件:根据目标出现时间、位置变化等条件减少误报。

举个例子,车库摄像头可以只监控车位区域;门口摄像头可以只对“人”和“包裹”产生事件;后院摄像头则可以忽略围墙外的道路。

这类规则看起来不像模型参数那么“高级”,但实际使用中往往比单纯换一个更大的模型更有效。很多误报并不是模型完全认错,而是系统关注了本来就不应该关注的区域。

录像方式更贴近真实使用

Frigate 支持 24 小时录像,也可以根据检测到的对象和事件保存录像。

这种方式比单纯的移动侦测更实用。树叶晃动、光线变化和昆虫飞过,可能触发普通摄像头录像;而 Frigate 可以围绕人、车或其他目标保留更有价值的片段。

它的 Web 界面提供了实时监控、录像回看和事件查看功能,项目还提供了多摄像头同步浏览和拖动查看的能力。对于安装了多路摄像头的家庭,能够在同一时间轴上查看不同画面,查找事件会方便很多。

Frigate 还支持通过 RTSP 重新串流,减少同一摄像头被多个服务重复连接的次数。比如 Home Assistant、Frigate 和其他播放器都需要查看同一路摄像头时,可以由 Frigate 统一提供流。

在实时预览方面,项目支持 WebRTC 和 MSE,能够提供相对低延迟的浏览体验。

Home Assistant 是它的重要搭档

Frigate 可以独立运行,但和 Home Assistant 组合使用时,才更容易融入完整的家庭自动化系统。

通过官方集成,Frigate 中的摄像头、事件、检测对象和状态可以进入 Home Assistant。之后就能围绕这些信息建立自动化:

  • 检测到有人进入院子时打开灯。
  • 车位出现车辆时推送通知。
  • 门口检测到包裹时提醒。
  • 夜间检测到人物时触发警报。
  • 摄像头长时间离线时发送维护通知。
  • 家中无人时,检测到目标便启动录像或广播。

MQTT 则适合将 Frigate 的事件发布给其他自动化平台或自定义程序。如果你已经在使用 Home Assistant,Frigate 可以成为视觉输入层,让家庭自动化不再只依赖门磁、人体传感器和按钮。

需要注意的是,Frigate 并不等于 Home Assistant 插件。它可以独立部署,Home Assistant 只是其中一个重要的集成方向。

 

硬件加速很关键

Frigate 能运行在普通 CPU 上,但如果摄像头数量增加,或者希望获得更稳定的实时检测效果,硬件加速几乎是必须考虑的问题。

项目官方明确建议使用 GPU 或 AI 加速器。合适的加速设备可以明显降低 CPU 占用,并提升多路摄像头同时分析时的稳定性。

常见选择包括:

  • Google Coral 等边缘 AI 加速器。
  • NVIDIA GPU。
  • Intel 核显或其他支持硬件推理的设备。
  • 根据模型和后端支持情况选择的专用加速设备。

不同硬件支持的模型、驱动和容器配置并不相同。不要只看设备的理论算力,还要考虑驱动是否稳定、Docker 是否能正确访问设备,以及模型后端是否支持你的硬件。

比较稳妥的部署思路是:

  1. 先接入一台摄像头。
  2. 确认 RTSP 视频流正常。
  3. 确认 Frigate 可以录像和显示实时画面。
  4. 再启用目标检测。
  5. 最后增加硬件加速和更多摄像头。

这样可以避免一开始同时排查摄像头、模型、显卡和网络问题。

部署前需要准备什么

Frigate 最常见的部署方式是 Docker 或 Docker Compose。

开始之前通常需要准备:

  • 一台长期运行的主机。
  • 摄像头提供的 RTSP 地址。
  • 用于保存录像的硬盘或存储空间。
  • Docker 和 Docker Compose。
  • 可选的 GPU 或 AI 加速器。
  • 如果需要联动自动化,还要准备 MQTT 和 Home Assistant。

基本流程如下:

1. 确认摄像头视频流
先用 VLC、ffplay 或其他工具确认摄像头的 RTSP 地址可以正常播放。
如果 RTSP 本身不稳定,Frigate 也无法解决摄像头、交换机或 Wi-Fi 的底层问题。多路摄像头最好使用有线网络,至少保证主机与摄像头之间连接稳定。
2. 启动 Frigate
从官方文档获取适合自己环境的 Docker Compose 配置,设置数据目录、共享内存大小、端口和设备映射。
录像目录不要放在容器临时层中,否则容器重建后可能丢失。应当将主机上的持久化目录映射到 Frigate 容器。
3. 编辑配置文件
在配置文件中添加 MQTT、检测器、录像策略和摄像头信息。
摄像头配置通常需要区分不同用途的视频流:
- 低分辨率子码流:用于目标检测,降低计算量。
- 高分辨率主码流:用于录像,保留更清晰的细节。
如果摄像头同时提供主码流和子码流,优先让检测使用子码流,录像使用主码流。这样通常比直接拿 4K 视频进行实时识别更节省资源。
4. 打开 WebUI 检查状态
启动后进入 Frigate WebUI,检查:
- 摄像头是否在线。
- 视频画面是否正常。
- 录像是否写入指定目录。
- 目标检测是否运行。
- 硬件加速设备是否被识别。
- 日志中是否出现错误。
5. 接入 Home Assistant
安装 Frigate 官方集成,填写连接地址,然后在 Home Assistant 中检查实体和事件是否出现。
完成后,再根据自己的生活习惯配置灯光、通知和报警自动化。
一个合理的家庭监控方案
以一套普通家庭环境为例,可以这样规划:

门口摄像头
- 检测:人、包裹
- 区域:门前台阶、快递柜
- 动作:检测到包裹时通知

车库摄像头
- 检测:人、车
- 区域:车位
- 动作:夜间检测到人物时打开灯

后院摄像头
- 检测:人、动物
- 掩码:围墙外道路、树木区域
- 动作:有人进入指定区域时通知

室内摄像头
- 检测:人
- 动作:家中无人时才启用通知

关键不在于把所有摄像头都配置成“发现任何变化就报警”,而是给每个摄像头设置明确的职责。
这样既能减少误报,也能让后续事件记录更容易查看。
Frigate 的优点
本地处理,隐私更可控
录像和目标检测可以放在自己的设备上完成,不依赖第三方云端识别服务。对于不愿意把家庭视频上传到云端的用户,这是非常实际的优势。
与 Home Assistant 集成紧密
它可以把摄像头识别结果转化为家庭自动化条件,不再只是一个单独的视频播放器。
资源使用思路合理
通过运动检测决定什么时候进行目标检测,并使用多进程和独立检测进程处理任务,在多路摄像头环境下更容易维持实时性。
事件检索比传统录像方便
用户不需要从头到尾看完整录像,可以围绕检测对象和事件进行回看。
支持多种视频流和实时查看方式
RTSP、重新串流、WebRTC 和 MSE 等能力,使它可以连接不同摄像头与家庭自动化组件。
开源且可自定义
配置、部署方式和集成接口都比较开放,适合希望自己掌控数据和系统行为的用户。项目代码采用 MIT License,但 “Frigate” 名称、品牌和 Logo 属于独立的商标范围,二次分发时不能忽略这一点。
Frigate 的缺点和使用门槛
对硬件和部署环境有要求
Frigate 不是安装在普通电脑上就一定能轻松运行的桌面软件。Docker、摄像头协议、模型、存储和硬件加速之间需要正确配合。
摄像头数量越多、分辨率越高、检测目标越复杂,对 CPU、内存、显卡和磁盘的压力就越大。
配置文件需要一定学习成本
虽然 WebUI 已经比纯命令行工具友好,但摄像头、录像、检测、区域、MQTT 和硬件加速仍然需要阅读文档。初次配置时,不能完全依赖复制别人的 YAML。
AI 检测并不绝对准确
逆光、夜间、雨雪、遮挡、低码率和摄像头角度都会影响检测结果。一个模型可能漏检,也可能将广告牌、海报、雕像或阴影误认为目标。
因此,Frigate 更适合做“事件筛选和自动化触发”,不应该被当作百分之百可靠的安防判定系统。
录像非常占空间
如果启用多路 24 小时高清录像,硬盘消耗会很快增加。需要提前规划保存时长、码率、硬盘健康和备份方式。
事件录像保留时间可以比全天录像更长,重要片段也应考虑单独备份。
摄像头本身决定了上限
Frigate 不能修复摄像头带来的严重问题。夜间画面太暗、镜头角度不合理、RTSP 频繁断流,都会直接影响系统效果。
一套便宜但安装位置合理、码流稳定的摄像头,往往比一套参数很高但网络不稳定的摄像头更适合长期使用。
远程访问需要自己做好安全
Frigate WebUI、Home Assistant 和 MQTT 都不适合直接裸露在公网。建议通过 VPN、反向代理、访问控制和 HTTPS 进行保护,不要简单地把管理端口映射出去。
它适合哪些人

Frigate 适合:
- 已经在使用 Home Assistant 的家庭用户。
- 想搭建本地 NVR 的技术爱好者。
- 有多路 RTSP 摄像头,需要统一管理的人。
- 希望使用本地 AI 检测而不是云端订阅服务的人。
- 需要围绕摄像头事件配置灯光、通知和报警自动化的人。
- 愿意维护 Docker、模型和存储环境的用户。
它不太适合:
- 只想下载一个软件立即使用的人。
- 不愿意处理网络、容器和配置文件的用户。
- 需要厂商提供完整售后和硬件保修的商业安防场景。
- 希望 AI 自动替代专业安保系统的用户。
- 没有足够存储空间,却计划保存大量高清录像的人。

 

Frigate Home Assistant 集成
Frigate Home Assistant 集成
提供以下内容

  • 富媒体浏览器,带有缩略图和导航功能
  • 传感器实体(摄像机帧率、检测帧率、进程帧率、跳过帧率、检测到物体)
  • 二元传感器实体(物体运动)
  • 摄像机实体(实时视图,检测到物体快照)
  • 切换实体(录制、检测、快照、提升对比度)
  • 控制摄像机的服务(手动事件,长距离电阻控制)
  • 支持多个护卫舰实例。

Frigate 的价值并不只是“给摄像头加一个 AI 模型”。
它把摄像头视频、目标检测、录像、事件回看、MQTT 和家庭自动化连接起来,让监控系统从单纯的录像机变成一个能够理解事件的本地服务。
它不会让普通摄像头突然拥有电影级画质,也不会保证每次检测都准确。但通过合理的摄像头位置、清晰的 RTSP 码流、合适的检测模型、区域规则和硬件加速,Frigate 可以把家庭监控中最麻烦的“找录像”和“处理误报”大幅简化。
如果你已经在使用 Home Assistant,或者手里有几路支持 RTSP 的摄像头,Frigate 值得作为家庭监控系统的核心组件认真研究。真正开始部署时,建议从一台摄像头和一个检测目标开始,先把录像、事件和通知跑通,再逐步扩展到整套家庭监控。
Frigate 的模型支持、硬件加速方式、配置项和部署要求会随版本变化,实际安装时应以当前官方文档为准。项目采用 MIT License,但 Frigate 的名称、品牌和 Logo 受到独立商标政策约束。

图片预览
实时仪表盘
实时仪表盘
简化审核流程
简化审核流程
多机位擦除
多机位擦除
内置遮罩和区域编辑器
内置遮罩和区域编辑器

下载地址

https://github.com/blakeblackshear/frigate
https://github.com/home-assistant/core
https://github.com/blakeblackshear/frigate-hass-integration

https://pan.baidu.com/s/1ZjPH4As979L5H14wE6Djmg?pwd=nq7v 提取码: nq7v
https://pan.quark.cn/s/c7381d3554cb

未经允许不得转载:网站源码、软件资源与技术教程分享 - 今夕资源网 » Frigate:把家里的摄像头,变成真正懂画面的本地 NVR github开源项目 斩获35.6k stars
扫码在手机上阅读本页
赞(0)

评论抢沙发

评论前必须登录!