EasyNVR轻松管理摄像头!本地存储 + 外网自由全自由!EasyNVR轻松管理摄像头!cpolar 内网穿透实验室第 717 个成功挑战

0 阅读16分钟

在这里插入图片描述

软件名称:EasyNVR

操作系统支持:支持飞牛 NAS、群晖 NAS、极空间 NAS、Windows、Linux 等(Docker 部署跨平台)

软件介绍:EasyNVR 是一款 “平民版” 网络录像机,不用花大价钱买硬件 NVR,靠 Docker 就能装在 NAS / 迷你主机上,支持 RTSP/RTMP/ONVIF 等协议,能把市面上 90% 的摄像头 “收编”,录像直接存本地,彻底摆脱厂商的云存储套路,数据全在自己手里。

在这里插入图片描述

EasyNVR 的出色功能

  1. “通吃型” 摄像头管理:不管是小米、海康、乔安还是杂牌摄像头,只要支持 RTSP/ONVIF 协议,都能接入 EasyNVR,不用再装一堆品牌 APP,一个界面搞定所有摄像头的实时监控、录像回放,堪比 “摄像头界的万能遥控器”。
  2. “不花钱” 的本地存储:告别每月几十块的云存储月租,把录像存到自家 NAS / 硬盘里,想存多久存多久,内存卡坏了、被覆盖的问题直接消失,相当于给监控装了 “永久免费的超大仓库”。
  3. 傻瓜式操作 + 稳定运行:Docker 一键部署,不用懂复杂代码,NAS 上 7×24 小时跑着不卡顿,就算是数码小白,跟着教程半小时也能搞定,比折腾摄像头原厂设置简单 10 倍。

在这里插入图片描述

实用场景

场景 1:家庭看护 —— 告别云存储,娃 / 老人 / 宠物录像想存就存

  • 痛点:装了摄像头想看看家里的老人有没有按时吃药、孩子有没有乖乖写作业,结果要么内存卡满了录像被覆盖,要么厂商提示 “开通云存储才能看 7 天前的录像”,每月掏钱像交 “保护费”;多品牌摄像头还要切换不同 APP,麻烦到想摔手机。
  • 爽点:用 EasyNVR 把所有家庭摄像头接入 NAS,录像直接存本地,哪怕半年前的录像都能找出来;配合 cpolar 外网访问,下班路上用手机就能看实时画面,周末出门也能随时查,一分钱云存储费都不花,数据还不担心被厂商泄露。

场景 2:小型商铺 —— 外网看监控 + 录像下载,防偷防扯皮

  • 痛点:小店装了摄像头,原厂云存储每年几百块,外网看监控还得连店里 WiFi,出门补货时想看看店门有没有关,根本看不了;遇到顾客扯皮(比如说没收到货),想调录像发现内存卡早就覆盖了,有理说不清。
  • 爽点:EasyNVR 把录像存到 NAS,随便调任意时间段的录像,还能下载保存当证据;cpolar 穿透后,手机流量就能看实时监控,哪怕在外地进货,也能随时盯店,每年省几百云存储费,还能防偷防扯皮,性价比直接拉满。

在这里插入图片描述

cpolar 内网穿透技术带来的便利

  1. “打破局域网牢笼”,外网看监控像刷朋友圈一样简单: EasyNVR 装在 NAS 上本来只能在自家 WiFi 里看,用 cpolar 内网穿透后,不管你在公司、在外地旅游,还是在楼下买菜,只要有网,打开手机浏览器就能访问 EasyNVR 界面,看实时监控、回放录像,不用配置复杂的路由器端口映射,小白也能一键搞定。

  2. 固定域名不翻车,不用天天记新地址: cpolar 免费版就能生成外网地址,要是想更方便,升级后能弄个固定二级子域名,不用每天面对随机变化的地址,分享给家人 / 员工也不用反复发新链接,输入一次就能永久访问,比记手机号还简单。

  3. 全平台适配,在哪看都顺手: cpolar 支持 Windows、Linux、NAS 等所有系统,和 EasyNVR 完美适配,不管你用手机、电脑、平板,只要能打开浏览器,就能看监控,不用装额外 APP,老人孩子都能上手。

  4. 安全又稳定,数据不跑偏: cpolar 的穿透隧道是加密的,不用担心监控画面被泄露;而且稳定性拉满,哪怕家里网络偶尔波动,重新连上网后,外网访问地址立刻恢复,不会耽误看监控,比原厂 APP 的外网访问还靠谱。

在这里插入图片描述

总结

EasyNVR 就像给你的摄像头装了个 “私人管家”,把多品牌设备管得服服帖帖,还把录像存到自家地盘,彻底断了厂商赚云存储月租的念想;而 cpolar 则是这个管家的 “通行证”,让你不管在哪,都能随时找到这个 “管家”,看监控、调录像全自由。

不用花大价钱买高端 NVR,不用每月交冤枉的云存储费,几十分钟就能搭好属于自己的私有监控系统,家庭看护、小店盯店都能用,数据在自己手里,心里才踏实。与其被厂商的云存储 “绑架”,不如用 EasyNVR+cpolar 把监控的主动权拿回来!

教程准备好了,快去安装吧!

这篇文章,就是我利用飞牛 NAS,通过 Docker 部署 EasyNVR,把家中摄像头录像统一存进本地 NAS 的一次实践记录。

1 什么是EasyNVR?

image-20251218105203364

EasyNVR 是一款专业的软件型网络录像机(Network Video Recorder,NVR),用于集中管理和录像多路网络摄像头的视频流。它可以替代摄像头厂商提供的云存储服务,将录像统一存储在本地 NAS 或服务器上,实现完全的本地化管理。

EasyNVR 的核心功能包括:多摄像头接入,支持 RTSP、RTMP、ONVIF 等标准协议,并能够接入不同品牌和型号的摄像头,实现统一管理;本地录像存储,视频数据直接写入 NAS 或本地服务器,不依赖厂商云服务,从而避免长期订阅费用,同时支持长期录像和循环覆盖策略;实时监控与历史回放,通过 Web 界面集中管理所有摄像头,可以查看实时画面、快速定位历史录像,并支持多路同步播放和时间轴浏览;稳定运行,可在 NAS、迷你主机或家用服务器上 7x24 稳定运行,Docker 部署支持跨平台、快速安装和升级。

为了更直观理解,下面给出与摄像头官方 App 的对比:

对比项官方 AppEasyNVR
录像存储位置云端 / 内存卡本地 NAS / 服务器
是否依赖云服务
是否需要订阅通常需要不强制
多品牌摄像头管理不支持支持
数据控制权厂商用户自己

EasyNVR 允许用户完全掌控摄像头录像数据,同时实现多品牌摄像头的统一管理和长期本地存储,非常适合家庭或小型办公环境。

2 飞牛Nas中部署EasyNVR

本教程以Windows上虚拟机中部署的飞牛Nas为例,其他的Nas系统(如:群晖Nas、极空间Nas等)基本一致。首先,确保你的Nas系统开放了SSH远程,以飞牛Nas为例: image-20251218141410498

打开以后,在电脑上摁Win+R键,然后输入cmd回车,打开命令提示符终端,输入如下命令连接你的Nas系统终端:

ssh 飞牛用户名@你的Nas系统IP地址

image-20251218141451997

连接上以后,接着使用如下命令切换root用户:

sudo -i

如下图,输入飞牛用户名的密码,即可切换至root用户(输入密码不会显示): image-20251218141524973

切换完成后,执行下面的 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 已经成功在后台运行

image-20251218143455324

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

以飞牛默认相册路径为例:

/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

image-20251218143622303 可以看到,状态为UP,启动成功!让我们浏览器访问测试一下:

http://你的飞牛NAS系统IP地址:10000

image-20251218143732607

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

image-20251218143822756

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

继续下一步即可:

image-20251218144001820

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

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绑定,如: image-20251218151906378

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

3.2 获取流协议地址

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

192.168.50.127

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

image-20251218152055778

RTSP的协议地址一般结构为(最好的办法是可以直接询问客服,如果支持流协议,客服会给您提供):

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

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

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

3.3 将流协议地址接入到EasyNVR

在前面,我们已经成功的给摄像头配置了静态IP,这样我们的RTSP流协议地址就不会发生变化了。接着,我们将这个RTSP流协议地址接入到EasyNVR中。

首先打开EasyNVR的首页,然后选择设备列表菜单,点击添加按钮: image-20251218154228277

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

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

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

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

如下图所示: image-20251218154838525

可以看到,该直播预览页面集成了多协议实时播放、线路切换、云台控制与参数可视化等能力,用户可根据实际场景在 WebRTC、HTTP-FLV、RTMP、RTSP 等协议间自由切换以兼顾延迟与兼容性;在视频播放的同时,页面还实时展示分辨率、编码格式、传输方式、码率等关键流媒体信息,便于调试与排障;若视频流协议源本身支持云台控制,还可直接在页面中完成方向控制、变倍与速度调节,实现从预览到运维的一体化操作。

3.4 查看录像回放

前面设置好了录像计划,设置为每天,设置好后就会即刻开始录像。我们回到首页,选择菜单的录像回放image-20251218161547415

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

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

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

好啦,基本设置就完成啦,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

image-20251218165154961

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

sudo systemctl status cpolar

image-20251218165228464

4.3 注册及登录cpolar web ui管理界面

访问cpolar官网,点击免费注册按钮,进行账号注册

image-20250804085039567

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

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

http://192.168.184.137:9200/

image-20251014164829371

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

image-20251014164856740

4.4 穿透EasyNVR的WebUI界面

点击左侧菜单栏的隧道管理,展开进入隧道列表页面,页面下默认会有 2 个隧道:

  • ssh隧道,指向22端口,tcp协议
  • website隧道,指向8080端口,http协议(http协议默认会生成2个公网地址,一个是http,另一个https,免去配置ssl证书的繁琐步骤)

image-20251218165452591

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

image-20251218165710198

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

image-20251218165830760

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

image-20251218165942550

可以看到成功的访问到EasyNVR的页面啦!不过随机域名方式适合预算有限的用户。使用此方式时,系统会每隔 24 小时 左右自动更换一次域名地址。对于长期访问的不太友好,但是该方案是免费的,如果您有一定的预算,可以查看大纲5固定域名方式,且访问更稳定哦。

5 固定二级子域名

随机域名虽然免费,但每 24 小时左右会自动更换一次,每次变化都要重新记地址、重新分享链接,用起来确实不太方便。如果你希望拥有一个固定不变、简短易记的专属域名,只需升级 cpolar 任意付费套餐,即可配置固定二级子域名,彻底告别域名频繁变化的烦恼。下面我们来看看如何操作。

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

https://dashboard.cpolar.com/reserved

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

image-20251218171936173

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

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

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

接着,进入侧边菜单栏的隧道管理下的隧道列表,可以看到名为easynvr的隧道:

image-20251218172009215

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

image-20251218172120553

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

image-20251218172150224

这里以https访问测试一下:

image-20251218172241180

访问成功!

总结

从 Docker 一键部署 EasyNVR,到摄像头固定 IP 配置、RTSP 流接入,再到用 cpolar 将监控画面稳定暴露到公网——我们把原本需要交云存储费才能实现的"随时随地看监控",变成了完全自主可控的本地方案。

  • 彻底告别云存储费:录像直接存在飞牛 NAS 本地硬盘,不依赖厂商云服务,想存多久存多久
  • 多品牌统一管理:家里不同牌子的摄像头,一个 EasyNVR 界面全搞定,不用装一堆 APP
  • 历史录像免费看:本地存储的录像随时回放、下载,再也不用为"回看要付费"买单
  • 一键分享给家人:cpolar 生成的公网链接直接分享,不用每个人都装 APP、注册账号,浏览器打开就能看

这不仅是一份部署教程,更是一套让家用摄像头真正"为你所用"的完整方案。无论是想省下云存储费,还是想统一管理家里的监控设备,这套方案都能让你在几十分钟内搭建好自己的私有监控平台。现在就动手试试吧!