把普通摄像头升级成 AI 监控:绿联 NAS + Frigate 一键部署教程

前言

很多人家里装了摄像头之后,才发现它最大的作用其实是“事后翻录像”。真遇到门口有人经过、夜里有异常动静,往往还是要自己拖进度条慢慢找。摄像头是拍到了,但它并不知道哪些画面真正重要。

如果想让摄像头具备人形识别、事件录像、主动告警这些能力,常见做法是购买更智能的摄像头、NVR 设备,或者开通云服务。但对于已经有绿联 NAS 的用户来说,其实可以换个思路:让普通摄像头继续负责拍摄,把识别和存储交给 NAS 在本地完成。

这篇文章会记录一次完整实践:通过脚本在绿联 NAS 上一键部署 Frigate,调用 N5105 的 Intel 核显进行本地 AI 推理,实现普通 RTSP 摄像头的本地人形识别和事件管理。这样不需要把识别过程交给云端,也能让摄像头从“单纯录像”升级成“智能监控”。

另外,考虑到很多时候我们并不只是在局域网里查看监控,文章后面还会配置 cpolar 内网穿透和固定二级子域名,让 Frigate 监控界面可以在公网环境下稳定访问。最终目标很简单:用现有 NAS 和普通摄像头,搭一套能本地识别、能远程访问的 AI 监控系统。

1 Frigate是什么?

logo

项目地址:https://github.com/blakeblackshear/frigate

Frigate 是一个开源的本地智能视频监控系统,也可以理解为一套带 AI 识别能力的 NVR。它可以接入常见的 IP 摄像头 / RTSP 视频流,在本地完成画面分析、目标检测、事件录像和回放管理。

从 GitHub 上看,Frigate 是目前比较热门的开源智能监控项目。截至 2026 年 5 月,项目已经有 31.9k+ Stars3.1k+ Forks,社区活跃度比较高,也有比较完整的官方文档和 Home Assistant 生态支持。

Frigate 和普通录像软件最大的区别在于,它不是单纯把摄像头画面录下来,而是会结合 AI 检测能力,识别画面里出现的对象,比如 person。这样我们就可以按事件查看录像,而不是在一整天的视频里手动拖进度条。

本文之所以选择 Frigate,是因为它支持本地化部署,也支持多种硬件加速方案。对于搭载 Intel N5105 的绿联 NAS 来说,可以通过 OpenVINO 调用 Intel 核显 来进行本地 AI 推理,比较适合用来实现低功耗的本地人形识别监控。

2 安装 Docker 并开启 SSH

2.1 安装 Docker

先进入绿联 NAS 首页(访问端口一般为9999),打开应用中心:
image-20260116184339833

打开之后,在里面搜索 Docker。找到应用后直接点安装,等它装完就可以了:
image-20260116184437287

装好之后,桌面上会多出一个 Docker 图标,说明容器环境已经准备好了:
image-20260116184741051

这里我建议顺手点进去看一眼,确认 Docker 能正常打开。因为后面 Frigate 的部署、启动和运行,都会用到 Docker 环境。

2.2 开启 SSH 并连接到 NAS

Docker 安装好之后,还需要开启 SSH,这样后面才能通过终端执行部署命令。首先,需要先给绿联NAS开启SSH远程登录功能,点击首页的控制面板,然后点击终端机图标,点击进入:
image-20260423211056283

点击勾选SSH功能,然后点击应用(注意:SSH密码为登录的密码,建议密码一定要设置强密码,特别是公网环境下!!):
image-20260116180938327

开启完成后,在电脑端打开终端工具。Windows 可以直接使用 PowerShell,电脑上摁【Win + X】键,选择终端(管理员),macOS 和 Linux 则使用系统自带终端即可。然后输入下面的命令连接到你的 NAS:

# ssh 你的绿联NAS用户名@你的绿联NAS访问IP地址
ssh susu@192.168.50.99

image-20260116181936035

连接上绿联NAS的终端后,在终端中输入如下命令,切换至root用户:

sudo -i

image-20260116183450018

完成以上准备后,就可以正式开始部署 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绑定,如:

image-20251218151906378

这样就做好IP和Mac地址绑定啦,不同的路由器页面不同,可以搜索对应品牌设置方法。

3.2 获取RTSP流协议地址

可以看到我这台设备的IP地址为:

192.168.50.127

浏览器直接访问这个地址,登录到摄像机后台,可以看到RTSP的开关和认证:

image-20251218152055778

RTSP的协议地址一般结构为(可以网上AI查询一下或者直接询问客服,如果支持流协议,客服一般会给您提供):

# rtsp://用户名:密码@摄像机IP地址/live/ch00_0
rtsp://admin:admin123@192.168.50.127/live/ch00_0

我们可以拿相关支持播放流的程序进行测试,比如PotPlayer进行播放:

image-20260515160946795

可以看到,能够成功的获取到监控中的画面了!代表这个流协议地址正确!

4 使用一键脚本部署 Frigate

前面的 Docker 和 SSH 以及RTSP协议地址都准备好之后,接下来就可以正式把 Frigate 部署到绿联 NAS 上了。

如果全程手动去搭,前面还得自己建目录、处理权限、准备配置文件,再一步步把容器跑起来。为了省掉这些重复操作,我这里把部署初期常用的步骤整理成了一个一键脚本,直接执行就能把基础环境先跑起来。

首先,在终端里执行下面这条命令:

curl -fsSL https://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】进行首次部署:
image-20260515155551754

接着会进行 Docker 环境检测和 Intel 核显检查等操作,然后选择镜像源,默认回车即可,然后进行存储位置选择:
image-20260515155751989

选择完成后,会来到基础配置项,设置一个摄像头名称,然后填写前面获取到的rtsp地址,如下图操作:
image-20260515161641395

回车会,会做如下的一下操作,进行自动配置和拉取部署:
image-20260515172803447

可以继续查看运行检查的内容:
image-20260515172842181

显示状态为UP,代表运行中,继续查看底部,可以看到输出了访问地址和用户名密码:

Frigate 地址: https://192.168.50.99:8971
默认用户: admin
初始密码: 22b37583a7479a777771c16ec45b2d64

如下图所示:

image-20260515172946880

我们直接切换浏览器访问试试,访问后可能会出现如下提示,点击【高级】,继续前往即可:

image-20260515173244310

如下图:
image-20260515173308642

可以看到成功的访问到了frigate的登录界面,使用前面终端输出的账号密码进行登录:
image-20260515173436680

可以看到,成功的登录进来啦!接着点击左下角的用户头像,设置一个密码:
image-20260515173517746

设置完成后点击保存:
image-20260515173554505

到这里,Frigate 的基础部署和首次登录配置就完成了。接下来,就可以进入后台查看实时画面、事件录像和系统运行状态。

5 Frigate功能一览

首先是主界面的布局,如下图,顶部显示了一排视频,这些部分的视频是录制区域有移动检测,所以进行了事件录制,并且显示出来了:
image-20260515174410526

点击主区域,可以进入到查看界面,查看界面支持全屏、画中画、开启关闭声音、摄像头、检测、录制、下载即时快照等功能:

image-20260515174833735

点击设置,进入设置页面,还可以进行设置遮罩区域配置,以及画面变动调整,可以实时查看到变动,便且框出标记出来:

image-20260515175642028

可以看到,手和顶部的时间,以及电脑画面都被自动检测框出来了,因为在变化。还可以设置遮罩/和区域:
image-20260515175841749

我们还可以点击设置按钮,查看系统信息,也就是Nas的推理速度,使用率等:
image-20260515181319001

如果发现 NAS 负载较高,可以进入配置编辑器,适当降低检测分辨率、帧率或启用子码流,从而减轻 CPU 和核显压力:
image-20260515181439854

到这里,Frigate 的基础功能就基本体验完成了。可以看到,它并不是简单地把摄像头画面录下来,而是会根据画面变化和目标识别结果,自动生成事件片段,并提供实时预览、事件回放、检测区域、遮罩区域和系统状态查看等功能。

6 使用 cpolar 公网访问 Frigate

前面我们已经在绿联 NAS 上成功部署好了 Frigate,并且可以通过局域网地址访问它的 Web 管理界面。

不过局域网访问有一个限制:只能在家里或者同一个网络环境下打开。如果我们人在外面,想查看监控画面、回放事件录像,或者远程管理 Frigate,就需要给它配置一个公网访问地址。

这里我使用的是 cpolar 内网穿透。它的作用很简单:把 NAS 本地运行的 Frigate 服务映射到公网,这样即使家里没有公网 IP,也可以通过浏览器远程访问 Frigate 界面。

6.1 什么是cpolar?

image-20250910114418412

  • cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
  • 广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,并提供一键安装脚本方便部署。

6.2 安装cpolar

回到已经 SSH 连接到绿联 NAS 的终端窗口,执行如下命令,一键安装 cpolar:

sudo curl https://get.cpolar.sh | sh

image-20260118213804470

接着输入如下命令,确认cpolar是否启动:

sudo systemctl status cpolar

image-20260118213830382

可以看到显示为active(running),表示为正常在线状态。

接着,我们在浏览器中,输入你的绿联NAS的IP地址+9200端口,进行访问cpolar的web ui控制台:

http://192.168.50.99:9200/

image-20260118213922836

可以发现,成功的访问到cpolar的web ui页面啦!如果没有注册cpolar的小伙伴也可以点击底部的按钮跳转注册!

6.3 穿透Frigate以实现公网访问

注册好账号以后,回到该页面进行登录即可,登录成功后,进入侧边的【隧道管理>隧道列表】,可以看到有2条隧道:

隧道列表

选择website这条隧道,点击编辑进行修改(也可以创建新的隧道),设置一个方便辨识的隧道名称,然后协议选择http,本地地址填写Frigate的访问地址,注意需要带上https协议,地地区这里选择的China Top,最后点击更新,如下图所示:

image-20260517185700276

接着来到【状态>在线隧道列表】,可以看到一条Frigate隧道生成了2条不同协议的公网访问地址:

image-20260517185747231

这里以https协议的公网地址进行访问一下:
image-20260517185812358

访问成功后,就说明 Frigate 已经可以通过 cpolar 生成的公网地址进行访问了。此时即使不在家里的局域网环境中,也可以通过浏览器打开这个地址,查看 Frigate 的监控界面、事件录像和系统状态。

7 配置固定域名访问

虽然前面我们使用 cpolar 的永久免费套餐版成功实现了内网穿透,但免费版的随机域名存在一些不便之处:域名又长又难记忆,而且每隔 24 小时左右就会自动变化一次。这意味着每次域名变化后,我们都需要重新分享新的地址,使用起来非常不方便。

为了解决这个问题,cpolar 提供了固定二级子域名功能。只需升级到任意付费套餐,就可以配置一个固定不变、简短易记的专属域名,彻底告别域名频繁变化的烦恼。下面我们来看看如何配置固定二级子域名。

7.1 设置二级子域名

首先,进入官网的预留页面:

https://dashboard.cpolar.com/reserved

然后,选择预留菜单,即可看到保留二级子域名项,填写其中的地区、名称、描述(可不填)项,然后点击保留按钮,操作步骤图如下:
image-20260517190955443

列表中显示了一条已保留的二级子域名记录:

  • 地区:显示为China Top
  • 二级域名:显示为frigate01

注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主

7.2 修改隧道为子域名方式

进入侧边菜单栏的【隧道管理】下的【隧道列表】,可以看到名为【frigate】的隧道:

image-20260517191030230

点击编辑按钮,进入编辑页,将域名类型修改为【二级子域名】类型,然后在【Sub Domain】填写前面预留的二级子域名名名称,然后点击更新:

image-20260517191757119

接着再来到【状态>在线隧道列表】,可以看到Frigate隧道的公网已经变更为我们刚才设置好的二级子域名前缀的方式了:
image-20260517192407925

这里继续使用 https 公网地址进行访问测试:

image-20260517192542735

访问成功后,说明固定二级子域名已经配置完成。相比免费随机域名,固定域名不会频繁变化,后续无论是自己远程访问,还是临时分享给家人查看,都更加方便。

8 总结

通过这次实践,我们把一台普通 RTSP 摄像头接入到了绿联 NAS 上的 Frigate 系统中,并利用 N5105 的 Intel 核显完成本地 AI 检测,让原本只能“看画面、翻录像”的摄像头,升级成了可以识别目标、生成事件、远程访问的本地智能监控系统。

  • 本地识别更可控:Frigate 可以在 NAS 本地完成目标检测、事件录像和回放管理,不需要把识别过程全部交给云端,隐私和数据掌控感更强。
  • 旧摄像头也能升级:只要摄像头支持 RTSP 视频流,就可以接入 Frigate,不一定非要重新购买智能摄像头或专用 NVR 设备。
  • 配合 cpolar 远程访问更方便:通过 cpolar 内网穿透和固定二级子域名,即使家里没有公网 IP,也可以在外网稳定访问 Frigate 管理界面。

当然,Frigate 对 NAS 性能、摄像头码流和配置参数都有一定要求。如果后续发现 CPU、核显或内存占用偏高,可以继续从检测分辨率、帧率、子码流、遮罩区域等方面优化。整体来看,对于已经有绿联 NAS 和普通摄像头的用户来说,这是一套成本不高、可玩性很强的本地 AI 监控方案。

感谢您阅读本篇文章,有任何问题欢迎留言交流。 cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站

Share:

发表回复

目录

On Key

推荐文章