wvp-GB28181-pro:六步部署一套免费国标视频监控平台,从摄像头接入到上级级联
【免费下载链接】wvp-GB28181-pro基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联,支持将普通摄像机/直播流/直播推流转国标共享到国标平台。项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro
wvp-GB28181-pro 是一个基于 GB/T 28181-2016 国标协议(可以理解为视频监控设备之间的"普通话")的开源网络视频平台,MIT 协议授权,免费商用。它解决的是各品牌摄像头、NVR 无法统一管理、上级平台调阅不到画面的问题。适合需要自建监控汇聚节点、把存量设备接入国标体系的团队和个人。
为什么需要它:品牌混杂的摄像头谁来管
你在实际项目里大概率遇到过这两种情况:一是园区里同时装着海康、大华、宇视、水星几家品牌的设备,各家私有协议互不相通,录像分散在各家自己的 NVR 里,出了问题要一台台登录查看;二是公安、政府类项目要求下级平台把通道和直播流上报给上级,你的存量设备不支持国标,上级点一次播就要手工导流一次。
wvp-GB28181-pro 的定位就是做这两件事:把海康、大华、宇视等品牌的 IPC/NVR 通过国标协议统一注册进来,并把不国标的设备、直播流转成国标通道共享给上级平台。
第一次部署:用 Docker 一条命令拉起全部 5 个组件
本节帮你把 MySQL、Redis、ZLMediaKit(WVP 底层的开源流媒体服务)、WVP、Nginx 一次性跑起来。
- 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro- 进入
docker目录,修改.env文件(docker-compose 编排文件中的变量都从这里联动),重点确认这几项:
| 配置项 | 说明 |
|---|---|
| SIP_Domain | 你的 20 位国标 ID 的前 10 位 |
| SIP_Id | WVP 服务的完整 20 位国标 ID |
| SIP_Password | SIP 注册鉴权密码,设备端要填同一个 |
| Stream_IP / SDP_IP | 流媒体对外的 IP,单机测试先写服务器内网 IP |
- 启动并访问:
cd docker && docker compose up -d启动完成后浏览器访问http://服务器IP:8080,用默认账号 admin / admin 登录。上线前先做三件事:按部署文档的清单放行 Web 8080、SIP 8116(docker 默认)及 ZLM 的 RTMP 10935、RTSP 5540、RTP 10000 等端口;测试阶段建议先关防火墙排除网络变量;登录后立即修改默认密码和生产环境的 SIP 端口,这两项默认值在公网下很容易被打。
接入第一台摄像头:设备端只需填 4 项国标 SIP 参数
本节解决"设备怎么注册进来"。注册原理很简单:在摄像头或 NVR 的国标 SIP 配置页填入 WVP 这边的信息,两边一致才能握手成功。平台侧参数在"国标设备"页点击"接入信息"即可查看:
设备端要填的 4 项(外加密码):
| 参数 | 填什么 |
|---|---|
| SIP 服务器地址 | WVP 所在服务器的 IP |
| SIP 端口 | 与.env中 SIP_Port 一致,docker 默认 8116 |
| SIP 域 | 20 位国标 ID 统一编码的前 10 位 |
| SIP ID | WVP 服务的完整 20 位 ID |
| 密码 | 与平台侧 SIP_Password 一致 |
所谓 20 位国标 ID,是国标协议里给每个设备/平台分配的 20 位数字编码,相当于设备在国标网络里的"门牌号"。
填完保存后,设备注册成功,"国标设备"列表里会出现新设备,它的通道(摄像头路数)会随着目录订阅自动同步过来,你不需要手工添加:
海康、大华、宇视、水星等品牌在设备端的配置路径各不相同,官方设备接入文档里每个品牌都配了操作截图,照着点即可。
看画面与云台控制:浏览器直接解码播放
本节带你走一遍"登录后到看到画面"的完整路径。
打开后台首页,左侧菜单是全部功能入口,首屏汇总了设备总数与在线数、通道总数与在线数、推流和拉流代理的在线情况,以及上传/下载带宽曲线,设备是否注册成功、流是否正常一眼可查:
要看图,点左侧"分屏监控",左侧树按行政区划或业务分组展开,选中通道即可播放:
播放完全在浏览器内解码完成,不用装任何插件,H.264 和 H.265 编码都能放,播放器上可以切换主码流(高清、占用带宽大)和子码流(流畅、适合多路同时看)。选中某一路画面后,页面内会出现云台控制面板,可以转方向、拉近拉远,预置位的查询和调用也在同一个面板里。
进阶玩法:推流代理与国标级联
推流代理:让不支持国标的设备也能入列
- 解决什么问题:存量摄像头只支持 RTSP 拉取,或者 OBS、无人机这类设备只会推流,无法走国标信令注册。
- 入口在哪里:左侧"推流列表"菜单里生成推流地址(在"媒体节点"页可查到节点的 RTSP/RTMP 端口,地址规则为
rtsp://流IP:端口/应用名/流ID),推流默认开启鉴权,防止被乱推;"拉流代理"菜单则用于由平台主动去拉设备上的 RTSP/RTMP 地址,顺便解决老摄像头只允许 1 路并发的限制。
- 得到什么结果:推流或代理进来的流,在"国标通道配置"里填一个国标编号后,就变成一个固定的国标通道,上级平台可以像点播普通摄像头一样点播它。
这一步的实际价值在于:你的私有协议设备从此拥有了国标"身份",可以被任意上级平台调阅,不用再为每个客户单独做转发方案。
国标级联:把通道和直播流上报给上级平台
- 解决什么问题:下级平台需要把设备目录和实时画面推送到上级国标平台(政府、公安项目里的典型需求)。
- 入口在哪里:"国标级联"菜单中添加上级平台的 SIP 地址、域、ID、密码,保存后自动完成注册与心跳保活,再勾选要推送的通道即可;同一设备可以同时级联到多个上级,每个平台还能使用不同的通道编号。
- 得到什么结果:上级发起点播时平台自动把流推过去,同时支持目录订阅、录像查看与播放、云台控制、GPS 位置订阅推流,完整流程见级联文档同级目录的 cascade 说明。
避坑与进阶:三类启动报错自查和源码索引
最常见的三类启动报错:
- MySQL/Redis 连接失败——检查
.env中主机、端口、密码是否正确,容器内服务是否健康(docker compose ps查看状态); - 端口占用——SIP 端口、Tomcat 的 server.port 被其他进程占用会直接启动失败,换一个端口再启动;
- 网络不通——服务器防火墙拦截了 SIP 或媒体端口,先放行再排查其他原因。
每类报错的截图和对应原因在官方 FAQ里都对号入座了,先对照那里排查效率最高。
规模与源码进阶:WVP 的并发能力来自 Java 虚拟线程改造,局域网压测可接入 5 万+设备,实际接入路数只取决于服务器性能;规模上去后支持国标信令集群和流媒体节点集群,把 WVP 与 ZLM 分开部署即可线性扩展。想读源码,国标信令核心在 src/main/java/com/genersoft/iot/vmp/gb28181/,流媒体对接层在同级 media 目录;文档站入口在 doc/README.md,从注册失败、播放报错两个 FAQ 读起,基本能覆盖新手阶段的绝大多数问题。
【免费下载链接】wvp-GB28181-pro基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联,支持将普通摄像机/直播流/直播推流转国标共享到国标平台。项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考