Frigate:10分钟部署免费开源的本地AI安防NVR
【免费下载链接】frigateNVR with realtime local object detection for IP cameras项目地址: https://gitcode.com/GitHub_Trending/fr/frigate
凌晨两点,车库摄像头拍到一个陌生人站在门口。你不想第二天才翻录像,而是希望手机现在就弹一条提醒。Frigate 是一个内置本地 AI 对象检测的免费开源 NVR:接上 IP 摄像头,它会自动识别人、车、动物并生成告警和事件片段,整个过程一帧画面都不用上传云端。它适合想做家庭安防、但不想交云服务费、也不想让录像离开自家局域网的人。
为什么选 Frigate 而不是云摄像头
云摄像头便宜,但录像存在别人的数据中心里,且大多按月收费。Frigate 把检测放在你自己家里的设备上跑,画面不出局域网,装完没有订阅费。
- 🎯全本地推理:运动检测和对象识别都跑在你自己的硬件上,从几十块的 Coral 加速卡到 NVIDIA GPU 都能接
- 免费开源、自托管:一个 Docker 容器管理所有摄像头,没有月费
- 检测 + 录像 + 检索一体:不只是告警,还有可回查的事件列表和分级保留策略
3行命令拉起第一路摄像头
部署思路是:克隆仓库、写好最小 compose、启动容器。
git clone https://gitcode.com/GitHub_Trending/fr/frigate cd frigate docker compose up -d仓库里的 compose 文件是开发环境用的,生产部署按官方指南 docs/docs/guides/getting_started.md 里的最小模板自己写一份即可,记住 4 个关键参数:镜像ghcr.io/blakeblackshear/frigate:stable、挂载./config:/config和./storage:/media/frigate、映射端口8971、shm_size设到 256mb 以上。首次启动会在日志里生成管理员账号和初始密码,用docker logs frigate查看,然后访问https://服务器IP:8971登录,在 Web 设置里就能直接添加摄像头,不用手写配置。
三个高频场景实战
只在人走进车道时告警
痛点:摄像头同时拍着街道和车道,路人经过就报警,久了就麻木了。思路:在摄像头配置的 zones 区域里把车道框出来(UI 上对着画面点几个点就能画,参考 docs/docs/configuration/zones.md),再把告警限定为"必须进入该区域"。效果:只有目标包围盒底部中心落在区域内才计数,街上经过的车和行人直接忽略,还能给不同区域单独设逗留时间。
压住树叶和宠物的误报
痛点:大风把树吹得乱晃,或者猫从画面前跑过,系统识别出一个"人"。思路:在 object filters 里给每个对象类型单独设min_score和threshold(见 docs/docs/configuration/object_filters.md)——单帧低分直接丢弃,多帧中位数分数超过阈值才算真正检测;宠物常出没的摄像头甚至可以只关掉 person 标签。效果:误报明显减少,事件列表不再被噪声刷屏。
关键时刻有录像可查
痛点:告警触发后想回看前后发生了什么,却发现什么都没存。思路:开启 record 录像并配置分级保留(参考 docs/docs/configuration/record.md),比如全量录像留 3 天、有运动的留 7 天、告警事件留 30 天;每条事件会直接关联到录像时间线。效果:点开事件就能回放前后片段,重要片段可以导出,导出的文件不受保留策略清理。
部署时最容易踩的5个坑
- ❌ 容器默认 64MB 共享内存不够用,解码会卡 → 在 compose 里把
shm_size调到 256mb 以上 - 解码占满 CPU → ffmpeg 配置里设
hwaccel_args: preset-vaapi,并把/dev/dri设备传进容器 - 检测流分辨率太高 → detect 流别直接喂 4K 主码流,分辨率要与检测器模型输入匹配
- 误报多就瞎调参数 → 先看事件列表里的分数分布,0.6-0.7 的居多就调高 threshold
- 磁盘被录像吃满 → 用分级保留;重要时刻用"导出",而不是给整路摄像头拉长保留期
跑通之后可以延伸的方向
- 🚀硬件加速:Coral EdgeTPU、Hailo、OpenVINO、TensorRT 等多种后端,检测器模块在 frigate/detectors/,选型看 官方文档
- Home Assistant 集成:告警直接推给 HA 做联动,见 集成文档
- REST API:通过 HTTP 接口拉事件、录像、快照,接进自己的脚本
- 语义搜索:基于 embedding 模型,用自然语言检索"穿红衣服的人"
- 二次开发:Python 后端在 frigate/,React 前端在 web/,整条链路开源可改
手里有几台现成 IP 摄像头和一台闲置的 Linux 设备(NAS 也行),这套方案就够搭一个 7x24 小时、不依赖云端的安防系统。现在去克隆仓库,把第一路摄像头跑起来,今晚你就能在事件列表里看到车道进人的记录。
【免费下载链接】frigateNVR with realtime local object detection for IP cameras项目地址: https://gitcode.com/GitHub_Trending/fr/frigate
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考