简介说明
监控系统不应该只会录像
传统家用监控通常有两种体验。
一种是摄像头自带存储,想找录像时只能在手机 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 是否能正确访问设备,以及模型后端是否支持你的硬件。
比较稳妥的部署思路是:
- 先接入一台摄像头。
- 确认 RTSP 视频流正常。
- 确认 Frigate 可以录像和显示实时画面。
- 再启用目标检测。
- 最后增加硬件加速和更多摄像头。
这样可以避免一开始同时排查摄像头、模型、显卡和网络问题。
部署前需要准备什么
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 的价值并不只是“给摄像头加一个 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







评论抢沙发