
前言
在现代生活中,很多人家里多少都会装 1~2 个摄像头。 本来是为了看看家里情况、照看老人和孩子,结果用着用着才发现——真正想看回放的时候,却要额外掏钱买云存储。刚装的时候,大多数人都会先插一张内存卡,想着本地存点录像就够用了。 但实际用下来才发现,内存卡容量有限,录像留不了几天,而且长时间循环写入也容易出问题。 等哪天真需要翻回之前的录像,要么已经被覆盖了,要么卡直接读不出来,这时候厂商往往就会提示你——开通云存储,录像才能保存得更久、更稳定。
如果你手上刚好有一台 NAS,其实完全没必要走到这一步。
与其反复折腾内存卡,或者长期订阅云存储,不如把这些录像直接交给 NAS 来保存。这样就不用折腾内存卡,也不用交云存储费,把所有摄像头的录像稳定地存到自己家里的 NAS 里。
这篇文章,就是我利用飞牛 NAS,通过 Docker 部署 EasyNVR,把家中摄像头录像统一存进本地 NAS 的一次实践记录。
1 什么是EasyNVR?

EasyNVR 是一款专业的软件型网络录像机(Network Video Recorder,NVR),用于集中管理和录像多路网络摄像头的视频流。它可以替代摄像头厂商提供的云存储服务,将录像统一存储在本地 NAS 或服务器上,实现完全的本地化管理。
EasyNVR 的核心功能包括:多摄像头接入,支持 RTSP、RTMP、ONVIF 等标准协议,并能够接入不同品牌和型号的摄像头,实现统一管理;本地录像存储,视频数据直接写入 NAS 或本地服务器,不依赖厂商云服务,从而避免长期订阅费用,同时支持长期录像和循环覆盖策略;实时监控与历史回放,通过 Web 界面集中管理所有摄像头,可以查看实时画面、快速定位历史录像,并支持多路同步播放和时间轴浏览;稳定运行,可在 NAS、迷你主机或家用服务器上 7×24 稳定运行,Docker 部署支持跨平台、快速安装和升级。
为了更直观理解,下面给出与摄像头官方 App 的对比:
| 对比项 | 官方 App | EasyNVR |
|---|---|---|
| 录像存储位置 | 云端 / 内存卡 | 本地 NAS / 服务器 |
| 是否依赖云服务 | 是 | 否 |
| 是否需要订阅 | 通常需要 | 不强制 |
| 多品牌摄像头管理 | 不支持 | 支持 |
| 数据控制权 | 厂商 | 用户自己 |
EasyNVR 允许用户完全掌控摄像头录像数据,同时实现多品牌摄像头的统一管理和长期本地存储,非常适合家庭或小型办公环境。
2 飞牛Nas中部署EasyNVR
本教程以Windows上虚拟机中部署的飞牛Nas为例,其他的Nas系统(如:群晖Nas、极空间Nas等)基本一致。首先,确保你的Nas系统开放了SSH远程,以飞牛Nas为例:

打开以后,在电脑上摁Win+R键,然后输入cmd回车,打开命令提示符终端,输入如下命令连接你的Nas系统终端:
ssh 飞牛用户名@你的Nas系统IP地址

连接上以后,接着使用如下命令切换root用户:
sudo -i
如下图,输入飞牛用户名的密码,即可切换至root用户(输入密码不会显示):

切换完成后,执行下面的 Docker 一键部署命令,即可快速部署 EasyNVR 服务:
docker run -d --name easynvr --restart always --network host --log-opt max-size=50M -v "$PWD/configs:/app/configs" -v "$PWD/logs:/app/logs" -v "$PWD/temporary:/app/temporary" -v "$PWD/r:/app/r" -v "$PWD/stream:/app/stream" registry.cn-shanghai.aliyuncs.com/rustc/easynvr_amd64:latest
执行完成后,如果终端返回一串容器 ID,说明 EasyNVR 已经成功在后台运行。

如果你希望 EasyNVR 录制的视频能够直接出现在飞牛相册中统一管理和查看(可选但强烈推荐),可以在部署时,将 EasyNVR 的录像目录映射到飞牛相册的实际存储路径。像如下图一样:

以飞牛默认相册路径为例:
/vol1/1000/Photos
建议在相册目录下单独创建一个 EasyNVR 录像目录,避免和日常照片混在一起:
mkdir -p /vol1/1000/Photos/EasyNVR
最终完整命令如下:
docker run -d --name easynvr --restart always --network host --log-opt max-size=50M -v "$PWD/configs:/app/configs" -v "$PWD/logs:/app/logs" -v "$PWD/temporary:/app/temporary" -v /vol1/1000/Photos/EasyNVR:/app/r -v "$PWD/stream:/app/stream" registry.cn-shanghai.aliyuncs.com/rustc/easynvr_amd64:latest
这样一来,所有摄像头的录像文件都会被直接写入飞牛相册目录,既不用内存卡,也不依赖厂商云存储,实现真正的本地集中存储和统一管理。
接着使用如下docker命令,确认是否启动:
docker ps

可以看到,状态为UP,启动成功!让我们浏览器访问测试一下:
http://你的飞牛NAS系统IP地址:10000

成功访问到页面啦,输入用户名和密码admin,让我们登录看一下:

成功进入EasyNVR的首页啦,这里选择简体语言,然后下一步:

继续下一步即可:

然后到最后一步骤,设置一个新的账号名称和密码,就初始化完成啦:

3 配置监控接入到EasyNVR
前面已经介绍了EasyNVR支持接入 RTSP、RTMP、ONVIF 等标准协议,并能够接入不同品牌和型号的摄像头,实现统一管理。简单说一下区别:RTSP 是纯视频流协议,只能拉流观看,不支持云台控制;RTMP 主要用于推流场景,同样不支持设备控制;而 ONVIF 是一套完整的设备管理标准,除了拉流外还支持云台控制、设备发现、参数配置等功能,如果你的摄像头支持 ONVIF,优先推荐使用它接入。
3.1 固定摄像头IP
由于一般的路由器默认都是通过 DHCP 动态分配 IP 地址,摄像头每次重启或网络波动后,IP 可能会发生变化。一旦 IP 变了,EasyNVR 就会连不上摄像头,导致监控画面丢失。所以在接入之前,建议先给摄像头固定一个静态 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 获取流协议地址
可以看到我这台设备的IP地址为:
192.168.50.127
浏览器直接访问这个地址,登录到摄像机后台,可以看到RTSP的开关和认证:

RTSP的协议地址一般结构为(最好的办法是可以直接询问客服,如果支持流协议,客服会给您提供):
# rtsp://用户名:密码@摄像机IP地址/live/ch00_0
rtsp://admin:admin123@192.168.50.127/live/ch00_0
我们可以拿相关支持播放流的程序进行测试,比如PotPlayer进行播放:

可以看到,能够成功的获取到监控中的画面了!代表这个流协议地址正确!
3.3 将流协议地址接入到EasyNVR
在前面,我们已经成功的给摄像头配置了静态IP,这样我们的RTSP流协议地址就不会发生变化了。接着,我们将这个RTSP流协议地址接入到EasyNVR中。
首先打开EasyNVR的首页,然后选择设备列表菜单,点击添加按钮:

这里由于是RTSP协议地址,所以选择PULL,下面也可以看到提示为接入设备RTSP、HTTP、TCP实时流,然后填写好拉流地址,点击确定:

点击确定后,就可以看到你的设备添加上来了,可以看到在线状态:

点击通道列表图表,点击进入,然后可以看到录像计划显示为未录像,这里直接将其设置为,这样就会一直录制啦:

点击下方的直播中按钮,即可进入到观看页面:

如下图所示:

可以看到,该直播预览页面集成了多协议实时播放、线路切换、云台控制与参数可视化等能力,用户可根据实际场景在 WebRTC、HTTP-FLV、RTMP、RTSP 等协议间自由切换以兼顾延迟与兼容性;在视频播放的同时,页面还实时展示分辨率、编码格式、传输方式、码率等关键流媒体信息,便于调试与排障;若视频流协议源本身支持云台控制,还可直接在页面中完成方向控制、变倍与速度调节,实现从预览到运维的一体化操作。
3.4 查看录像回放
前面设置好了录像计划,设置为每天,设置好后就会即刻开始录像。我们回到首页,选择菜单的录像回放:

我们直接点击查看图表,即可进来回放页面了:

不仅回放功能,还支持选择指定时间段进行下载:

如果你按照前面的飞牛相册路径映射,你还可以直接在飞牛相册中查看回放:

好啦,基本设置就完成啦,EasyNVR还拥有更多功能值得你去探索!
4 穿透EasyNVR实现公网访问
到这里,EasyNVR 已经在飞牛 NAS 上跑起来了,录像也都存在本地硬盘上,彻底告别了云存储月租费。但问题来了:虽然各家摄像头 APP 也能看实时画面,但想回看历史录像就要交钱,而且家里几个不同品牌的摄像头还得装好几个 APP,管理起来很麻烦。
有了 cpolar 内网穿透,这些问题就迎刃而解了。只需简单配置,就能让 EasyNVR 通过公网地址随时随地访问——不仅能看实时画面,更重要的是免费回放本地存储的所有录像。而且一个链接就能分享给家人,不用每个人都装 APP、注册账号,浏览器打开就能看。
4.1 什么是cpolar?

- cpolar 是一款内网穿透工具,可以将你在局域网内运行的服务(如本地 Web 服务器、SSH、远程桌面等)通过一条安全加密的中间隧道映射至公网,让外部设备无需配置路由器即可访问。
- 广泛支持 Windows、macOS、Linux、树莓派、群晖 NAS 等平台,并提供一键安装脚本方便部署。
4.2 安装cpolar
在前面连接的飞牛终端中输入如下命令,一键安装cpolar:
sudo curl https://get.cpolar.sh | sh

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)
sudo systemctl status cpolar

4.3 注册及登录cpolar web ui管理界面
官网链接:https://www.cpolar.com/
访问cpolar官网,点击免费注册按钮,进行账号注册

进入到如下的注册页面进行账号注册:

注册完成后,在浏览器中输入飞牛NAS的IP地址+9200端口访问 web ui管理界面:
http://192.168.184.137:9200/

输入刚才注册好的cpolar账号登录即可进入后台页面:

4.4 穿透EasyNVR的WebUI界面
点击左侧菜单栏的隧道管理,展开进入隧道列表页面,页面下默认会有 2 个隧道:
- ssh隧道,指向22端口,tcp协议
- website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)

点击编辑website的隧道,这里设置名称为easynvr方便辨识,然后本地地址填写10000端口系统的访问地址,地区这里选择的China Top,然后点击更新:

接着,点击左侧菜单的状态菜单,接着点击在线隧道列表菜单按钮,可以看到有2个easynvr的隧道,一个为http协议,另一个为https协议:

接下来在浏览器中访问easynvr隧道生成的公网地址,这里以https为例:

可以看到成功的访问到EasyNVR的页面啦!不过随机域名方式适合预算有限的用户。使用此方式时,系统会每隔 24 小时 左右自动更换一次域名地址。对于长期访问的不太友好,但是该方案是免费的,如果您有一定的预算,可以查看大纲5 的固定域名方式,且访问更稳定哦。
5 固定二级子域名
随机域名虽然免费,但每 24 小时左右会自动更换一次,每次变化都要重新记地址、重新分享链接,用起来确实不太方便。如果你希望拥有一个固定不变、简短易记的专属域名,只需升级 cpolar 任意付费套餐,即可配置固定二级子域名,彻底告别域名频繁变化的烦恼。下面我们来看看如何操作。
首先,进入官网的预留页面:
https://dashboard.cpolar.com/reserved
然后,选择预留菜单,即可看到保留二级子域名项,填写其中的地区、名称、描述(可不填)项,然后点击保留按钮,操作步骤图如下:

列表中显示了一条已保留的二级子域名记录:
- 地区:显示为China Top。
- 二级域名:显示为easynvr。
注:二级域名是唯一的,每个账号都不相同,请以自己设置的二级域名保留的为主
接着,进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为easynvr的隧道:

点击编辑按钮进入编辑页面,修改域名类型为二级子域名,然后填写前面配置好的子域名,点击更新按钮:

接着来到状态菜单下的在线隧道列表可以看到隧道名称为easynvr的公网地址已经变更为二级子域名+固定域名主体及后缀的形式了:

这里以https访问测试一下:

访问成功!
总结
从 Docker 一键部署 EasyNVR,到摄像头固定 IP 配置、RTSP 流接入,再到用 cpolar 将监控画面稳定暴露到公网——我们把原本需要交云存储费才能实现的”随时随地看监控”,变成了完全自主可控的本地方案。
- 彻底告别云存储费:录像直接存在飞牛 NAS 本地硬盘,不依赖厂商云服务,想存多久存多久
- 多品牌统一管理:家里不同牌子的摄像头,一个 EasyNVR 界面全搞定,不用装一堆 APP
- 历史录像免费看:本地存储的录像随时回放、下载,再也不用为”回看要付费”买单
- 一键分享给家人:cpolar 生成的公网链接直接分享,不用每个人都装 APP、注册账号,浏览器打开就能看
这不仅是一份部署教程,更是一套让家用摄像头真正”为你所用”的完整方案。无论是想省下云存储费,还是想统一管理家里的监控设备,这套方案都能让你在几十分钟内搭建好自己的私有监控平台。现在就动手试试吧!
感谢您阅读本篇文章,有任何问题欢迎留言交流。cpolar官网-安全的内网穿透工具 | 无需公网ip | 远程访问 | 搭建网站


