前言
家里装了摄像头的人大概都有一个同感——装的时候想象得很美好,什么随时随地看家里情况、出门安心,结果真装上之后才发现,这东西最大的作用其实是"事后翻录像"。真遇到门口有人经过、夜里有点动静,还是得自己一点点拖进度条去找。摄像头确实是拍到了,但它并不知道哪些画面重要,说白了就是个会录像的眼睛,脑子还是你自己在用。
我也被这个问题困扰了挺久。试过几种方案:买更贵的智能摄像头,接云服务,或者上 NVR 设备。但云服务要交月费,智能摄像头换了品牌生态就断了,NVR 更是又贵又复杂。对于我这种家里有几台 NAS 的人来说,总觉得这些方案要么费钱、要么麻烦,没有一个刚好合适的选择。
后来换了个思路:摄像头本身能拍就行,把识别和存储这件事交给 NAS 在本地处理。这样不需要额外的云服务,不绑定了某个摄像头品牌,NAS 反正 24 小时开着,资源正好用上。在 NAS 上跑了 Frigate 之后,普通 RTSP 摄像头直接就升级成了人形识别 + 事件录像 + 远程查看的智能监控。这个方案用到现在三个月,算是目前找到的最接近"既省钱又省事"的选择。
1 Frigate是什么?
Frigate 是一个开源的本地智能视频监控系统,也可以理解为一套带 AI 识别能力的 NVR。它可以接入常见的 IP 摄像头 / RTSP 视频流,在本地完成画面分析、目标检测、事件录像和回放管理。
从 GitHub 上看,Frigate 是目前比较热门的开源智能监控项目。截至 2026 年 5 月,项目已经有31.9k+ Stars和3.1k+ Forks,社区活跃度比较高,也有比较完整的官方文档和 Home Assistant 生态支持。
Frigate 和普通录像软件最大的区别在于,它不是单纯把摄像头画面录下来,而是会结合 AI 检测能力,识别画面里出现的对象,比如person。这样我们就可以按事件查看录像,而不是在一整天的视频里手动拖进度条。
本文之所以选择 Frigate,是因为它支持本地化部署,也支持多种硬件加速方案。对于搭载 Intel N5105 的绿联 NAS 来说,可以通过OpenVINO 调用 Intel 核显来进行本地 AI 推理,比较适合用来实现低功耗的本地人形识别监控。
2 安装 Docker 并开启 SSH
2.1 安装 Docker
先进入绿联 NAS 首页(访问端口一般为9999),打开应用中心:
打开之后,在里面搜索Docker。找到应用后直接点安装,等它装完就可以了:
装好之后,桌面上会多出一个 Docker 图标,说明容器环境已经准备好了:
这里我建议顺手点进去看一眼,确认 Docker 能正常打开。因为后面 Frigate 的部署、启动和运行,都会用到 Docker 环境。
2.2 开启 SSH 并连接到 NAS
Docker 安装好之后,还需要开启 SSH,这样后面才能通过终端执行部署命令。首先,需要先给绿联NAS开启SSH远程登录功能,点击首页的控制面板,然后点击终端机图标,点击进入:
点击勾选SSH功能,然后点击应用(注意:SSH密码为登录的密码,建议密码一定要设置强密码,特别是公网环境下!!):
开启完成后,在电脑端打开终端工具。Windows 可以直接使用 PowerShell,电脑上摁【Win + X】键,选择终端(管理员),macOS 和 Linux 则使用系统自带终端即可。然后输入下面的命令连接到你的 NAS:
# ssh 你的绿联NAS用户名@你的绿联NAS访问IP地址sshsusu@192.168.50.99连接上绿联NAS的终端后,在终端中输入如下命令,切换至root用户:
sudo-i完成以上准备后,就可以正式开始部署 Frigate本地智能视频监控系统。
3 获取摄像头的RTSP地址
3.1 固定摄像头IP
由于一般的路由器默认都是通过DHCP 动态分配 IP 地址,摄像头每次重启或网络波动后,IP 可能会发生变化。一旦 IP 变了,Frigate就会连不上摄像头,导致监控画面丢失。所以在接入之前,建议先给摄像头固定一个静态 IP。
设置方法有两种:
- 摄像头端设置(部分摄像机支持):登录摄像头的 Web 管理界面,在网络设置中将 IP 获取方式从”自动获取”改为”手动设置”,填写一个局域网内未被占用的 IP(如
192.168.1.100)、子网掩码(255.255.255.0)和网关(路由器 IP) - 路由器端绑定:在路由器后台找到 DHCP 静态绑定(或 IP-MAC 绑定)功能,将摄像头的 MAC 地址与一个固定 IP 绑定
推荐使用第一种方式,更加稳定可靠。设置完成后,记录下这个固定 IP,后面添加设备时会用到。
我这里使用的监控设备为乔安,它不支持将自己设置为静态IP,所以需要登录到路由器后台,找到摄像机IP,做IP-MAC绑定,如:
这样就做好IP和Mac地址绑定啦,不同的路由器页面不同,可以搜索对应品牌设置方法。
3.2 获取RTSP流协议地址
可以看到我这台设备的IP地址为:
192.168.50.127浏览器直接访问这个地址,登录到摄像机后台,可以看到RTSP的开关和认证:
RTSP的协议地址一般结构为(可以网上AI查询一下或者直接询问客服,如果支持流协议,客服一般会给您提供):
# rtsp://用户名:密码@摄像机IP地址/live/ch00_0rtsp://admin:admin123@192.168.50.127/live/ch00_0我们可以拿相关支持播放流的程序进行测试,比如PotPlayer进行播放:
可以看到,能够成功的获取到监控中的画面了!代表这个流协议地址正确!
4 使用一键脚本部署 Frigate
前面的 Docker 和 SSH 以及RTSP协议地址都准备好之后,接下来就可以正式把 Frigate 部署到绿联 NAS 上了。
如果全程手动去搭,前面还得自己建目录、处理权限、准备配置文件,再一步步把容器跑起来。为了省掉这些重复操作,我这里把部署初期常用的步骤整理成了一个一键脚本,直接执行就能把基础环境先跑起来。
首先,在终端里执行下面这条命令:
curl-fsSLhttps://gitee.com/jun-wan/script/raw/master/frigate_deploy/deploy-frigate-dx4600.sh-o/tmp/deploy-frigate-dx4600.sh&&chmod+x /tmp/deploy-frigate-dx4600.sh&&/tmp/deploy-frigate-dx4600.sh执行后,选择【1】进行首次部署:
接着会进行 Docker 环境检测和 Intel 核显检查等操作,然后选择镜像源,默认回车即可,然后进行存储位置选择:
选择完成后,会来到基础配置项,设置一个摄像头名称,然后填写前面获取到的rtsp地址,如下图操作:
回车会,会做如下的一下操作,进行自动配置和拉取部署:
可以继续查看运行检查的内容:
显示状态为UP,代表运行中,继续查看底部,可以看到输出了访问地址和用户名密码:
Frigate 地址: https://192.168.50.99:8971 默认用户: admin 初始密码: 22b37583a7479a777771c16ec45b2d64如下图所示:
我们直接切换浏览器访问试试,访问后可能会出现如下提示,点击【高级】,继续前往即可:
如下图:
可以看到成功的访问到了frigate的登录界面,使用前面终端输出的账号密码进行登录:
可以看到,成功的登录进来啦!接着点击左下角的用户头像,设置一个密码:
设置完成后点击保存:
到这里,Frigate 的基础部署和首次登录配置就完成了。接下来,就可以进入后台查看实时画面、事件录像和系统运行状态。
5 Frigate功能一览
首先是主界面的布局,如下图,顶部显示了一排视频,这些部分的视频是录制区域有移动检测,所以进行了事件录制,并且显示出来了:
点击主区域,可以进入到查看界面,查看界面支持全屏、画中画、开启关闭声音、摄像头、检测、录制、下载即时快照等功能:
点击设置,进入设置页面,还可以进行设置遮罩区域配置,以及画面变动调整,可以实时查看到变动,便且框出标记出来:
可以看到,手和顶部的时间,以及电脑画面都被自动检测框出来了,因为在变化。还可以设置遮罩/和区域:
我们还可以点击设置按钮,查看系统信息,也就是Nas的推理速度,使用率等:
如果发现 NAS 负载较高,可以进入配置编辑器,适当降低检测分辨率、帧率或启用子码流,从而减轻 CPU 和核显压力:
到这里,Frigate 的基础功能就基本体验完成了。可以看到,它并不是简单地把摄像头画面录下来,而是会根据画面变化和目标识别结果,自动生成事件片段,并提供实时预览、事件回放、检测区域、遮罩区域和系统状态查看等功能。
6 使用 cpolar 公网访问 Frigate
前面我们已经在绿联 NAS 上成功部署好了 Frigate,并且可以通过局域网地址访问它的 Web 管理界面。
不过局域网访问有一个限制:只能在家里或者同一个网络环境下打开。如果我们人在外面,想查看监控画面、回放事件录像,或者远程管理 Frigate,就需要给它配置一个公网访问地址。
这里我使用的是cpolar 内网穿透。它的作用很简单:把 NAS 本地运行的 Frigate 服务映射到公网,这样即使家里没有公网 IP,也可以通过浏览器远程访问 Frigate 界面。
6.1 什么是cpolar?
- cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
- 广泛支持Windows、macOS、Linux、树莓派、群晖 NAS等平台,并提供一键安装脚本方便部署。
6.2 安装cpolar
回到已经 SSH 连接到绿联 NAS 的终端窗口,执行如下命令,一键安装 cpolar:
sudocurlhttps://get.cpolar.sh|sh接着输入如下命令,确认cpolar是否启动:
sudosystemctl status cpolar可以看到显示为active(running),表示为正常在线状态。
接着,我们在浏览器中,输入你的绿联NAS的IP地址+9200端口,进行访问cpolar的web ui控制台:
http://192.168.50.99:9200/可以发现,成功的访问到cpolar的web ui页面啦!如果没有注册cpolar的小伙伴也可以点击底部的按钮跳转注册!
6.3 穿透Frigate以实现公网访问
注册好账号以后,回到该页面进行登录即可,登录成功后,进入侧边的【隧道管理>隧道列表】,可以看到有2条隧道:
选择website这条隧道,点击编辑进行修改(也可以创建新的隧道),设置一个方便辨识的隧道名称,然后协议选择http,本地地址填写Frigate的访问地址,注意需要带上https协议,地地区这里选择的China Top,最后点击更新,如下图所示:
接着来到【状态>在线隧道列表】,可以看到一条Frigate隧道生成了2条不同协议的公网访问地址:
这里以https协议的公网地址进行访问一下:
访问成功后,就说明 Frigate 已经可以通过 cpolar 生成的公网地址进行访问了。此时即使不在家里的局域网环境中,也可以通过浏览器打开这个地址,查看 Frigate 的监控界面、事件录像和系统状态。
7 配置固定域名访问
虽然前面我们使用cpolar 的永久免费套餐版成功实现了内网穿透,但免费版的随机域名存在一些不便之处:域名又长又难记忆,而且每隔 24 小时左右就会自动变化一次。这意味着每次域名变化后,我们都需要重新分享新的地址,使用起来非常不方便。
为了解决这个问题,cpolar 提供了固定二级子域名功能。只需升级到任意付费套餐,就可以配置一个固定不变、简短易记的专属域名,彻底告别域名频繁变化的烦恼。下面我们来看看如何配置固定二级子域名。
7.1 设置二级子域名
首先,进入官网的预留页面:
https://dashboard.cpolar.com/reserved然后,选择预留菜单,即可看到保留二级子域名项,填写其中的地区、名称、描述(可不填)项,然后点击保留按钮,操作步骤图如下:
列表中显示了一条已保留的二级子域名记录:
- 地区:显示为China Top。
- 二级域名:显示为frigate01。
注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主
7.2 修改隧道为子域名方式
进入侧边菜单栏的【隧道管理】下的【隧道列表】,可以看到名为【frigate】的隧道:
点击编辑按钮,进入编辑页,将域名类型修改为【二级子域名】类型,然后在【Sub Domain】填写前面预留的二级子域名名名称,然后点击更新:
接着再来到【状态>在线隧道列表】,可以看到Frigate隧道的公网已经变更为我们刚才设置好的二级子域名前缀的方式了:
这里继续使用 https 公网地址进行访问测试:
访问成功后,说明固定二级子域名已经配置完成。相比免费随机域名,固定域名不会频繁变化,后续无论是自己远程访问,还是临时分享给家人查看,都更加方便。
8 总结
用 Frigate 这套方案跑下来,对我而言最实际的改变就是——再也不用在一整天的录像里手动找关键时刻了。
人形识别把真正有价值的片段自动挑出来,事件录像按时间轴排列,出门在外通过 cpolar 穿透随时打开公网地址查看,家里发生了什么心里有数。Intel 核显做本地推理,NAS 功耗没明显增加,摄像头还是原来那台普通 RTSP,没有额外花钱换设备。
整体用下来感觉,这套方案最适合的场景是:你家里有 NAS、有普通 RTSP 摄像头,不想每个月交云服务费,也不想频繁换摄像头品牌被生态绑定。配置一次,后面基本不用管,它自己跑着就行。如果你的需求正好是这个方向,绿联 NAS 加 Frigate 这一套值得花一晚上试试。