Frigate:自建摄像头录像 + 本地 AI 检测,不把画面传上云

admin 开源软件 2026-10-29 8 0

它的核心能力是「只在有事件时录像」:用目标检测判断画面里有没有人/车/动物,有才录,没有就跳过。这一个设计让存储需求降了一个量级——不用 24 小时全录。

一、硬件要求

方案推理能力适合
CPU每秒几帧1–2 路摄像头,勉强
核显(Intel QuickSync)十几帧家庭常见选择,性价比高
独立显卡几十帧以上多路 + 高分辨率
专用加速棒十几帧小主机没有核显时

没有硬件加速也能跑,但 CPU 会被吃满,其他服务一起遭殃。这是部署前最该确认的事。

二、最小配置

services:
  frigate:
    image: ghcr.io/blakeblackshear/frigate:stable
    restart: unless-stopped
    shm_size: "256mb"
    ports: ["5000:5000", "8554:8554"]
    volumes:
      - ./config:/config
      - ./media:/media/frigate
      - /etc/localtime:/etc/localtime:ro
    environment:
      - FRIGATE_RTSP_PASSWORD=摄像头密码

shm_size 是最常见的报错来源:默认共享内存太小,多路摄像头会直接崩,按「每路 64–128 MB」估算。

三、别让摄像头连公网

这是整套方案里最重要的一条:摄像头的网络访问要断掉。

做法是在路由器上禁止摄像头访问外网(只允许访问录像服务器),或者把它放到独立的访客网络/VLAN。原因很简单——摄像头固件是物联网设备里漏洞最多的一类,一旦被拿下,家里的一举一动都在别人屏幕上。

四、录像策略

三种模式可以组合:

  • 事件录像:检测到目标才录,最省空间;
  • 连续录像:全程录,占空间大但不会漏;
  • 保留策略:按天数或磁盘水位自动删除旧录像。

实用组合是「事件录像 + 保留 30 天」,重要时段(比如长期外出)临时切成连续录像。

五、隐私边界

本地化解决的是「画面不上云」,但还有几件事需要自己注意:

  1. 别把摄像头对准邻居家或公共区域:这是法律问题,不是技术问题;
  2. 音频录制要谨慎:很多地区对录音有单独规定;
  3. 访问控制要做:录像本身就是敏感数据,至少加登录 + 双因素;
  4. 共享给家人要分级:只读和可删除应该分开。

六、和成品摄像头方案的对比

成品云方案本地方案
上手成本低(插电即用)高(要配置 + 硬件)
月费有无(只有电费)
画面去向厂商服务器自己的硬盘
断网可能无法回看本地照常录

对隐私敏感、或者有长期存储需求的人,本地方案更合适;只想要「偶尔看一眼」的,成品方案更省事。

七、一个额外收益

既然已经有一块能做推理的硬件,顺手还能跑别的:车牌识别、包裹识别、门口停留告警。这些在本地跑,不产生任何外部请求。

外网访问的方式见 WireGuard;录像存储的备份见 Restic 与 Kopia;智能家居整合见 Home Assistant。

相关阅读

评论

访问统计