wvp-GB28181-pro 部署实战:Docker 十分钟接入第一批 GB28181 摄像头
【免费下载链接】wvp-GB28181-pro基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联,支持将普通摄像机/直播流/直播推流转国标共享到国标平台。项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro
园区 80 路摄像头,一半海康一半大华,两周内置换为统一平台。这篇是笔者用 wvp-GB28181-pro 这套 GB28181 视频监控平台做的完整部署复盘:从环境体检、配 .env、点火启动,到第一台摄像头注册上线,每一步都能照着做。
30 秒认识 wvp-GB28181-pro
先说清楚它是什么,免得装完不知道东西在哪:
- 基于 GB28181-2016 国标协议,兼容部标 808/1078,海康、大华、宇视等品牌的 IPC/NVR 走统一 SIP 协议接入,不用为每个品牌单独写对接。
- 五个容器各管一摊:polaris-redis 存缓存、polaris-mysql 存设备数据、polaris-media(ZLMediaKit)收 RTP 流、polaris-wvp 跑 SIP 信令和后端、polaris-nginx 做 Web 代理。
- 配置集中在 docker/ 目录:一份 .env 决定 SIP 身份和网络出口,其余联动;doc/ 里有部署和排错的完整文档,本文所有路径都出自仓库。
- 平台默认账号密码均为 admin/admin,登录 8080 端口后第一件事是改密码。
🔧 从零到一部署实录
环境体检怎么做
装之前花十分钟过一遍这张表,后面 90% 的坑都在这一层:
| 检查项 | 验证命令 | 合格标准 |
|---|---|---|
| 操作系统 | cat /etc/os-release | 64 位 CentOS 7+ / Ubuntu 20.04+ |
| Docker 版本 | docker --version && docker compose version | 20.10+,compose v2 可用 |
| 内存 | free -h | 8GB 起步(4 核 8G 可跑约 200 路,每多 1000 路再加 1GB 左右) |
| 磁盘 | df -h | docker 所在分区 50GB+ 可用(录像另算) |
| SIP 端口 | ss -lunp | grep 8160 | 8160/udp+tcp 未被占用(也可改回 5060) |
| 媒体端口 | ss -lnup | grep "^.*300" | 30000-30500 段空闲,防火墙同段放行 |
.env 怎么配
.env 是唯一必须改的文件,下面这几行直接决定设备能不能注册、流能不能播:
SIP_Id=35020000002000000001 SIP_Domain=3502000000 SIP_Password=换成自己的强密码 SIP_Port=8160 Stream_IP=服务器内网或公网IP- SIP_Id 是平台自己的 20 位国标编号,SIP_Domain 一般取它前 10 位;两者要和上级平台报备的一致,注册时设备就是拿它们对号。
- SIP_Port 没沿用 5060 是有意的——5060 是公网扫描的重灾区,测试环境想省事改回 5060 也行。
- Stream_IP 写进前端播放地址的 IP,保持 127.0.0.1 的话,只有本机能放流。
- 媒体收流端口范围在 docker/media/config.ini 的 [rtp_proxy] port_range 里,默认 30000-30500。
启动与冒烟验证怎么过
代码和全部容器配置都在仓库的 docker 目录里,克隆后直接进去:
git clone https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro cd wvp-GB28181-pro/docker这一条命令拉起五个容器,随后用 ps 和日志确认状态正常:
docker compose up -d docker compose ps docker compose logs -f polaris-wvp冒烟标准:5 个容器全部 Up,wvp 日志滚完没有 ERROR;浏览器打开 http://服务器IP:8080,admin/admin 能进,设备列表页能打开。
接入第一台摄像头:设备端参数对照表
拿一台海康或大华的枪机做试验,在设备 Web 管理页找到平台接入(海康在"高级配置→平台接入",大华在"网络→GB28181 接入"),按下表填写后启用,注册成功即出现在平台设备列表:
| 设备端字段 | 填写内容 | 来源 |
|---|---|---|
| SIP 服务器地址 | 部署 wvp 的服务器 IP(内网填内网 IP) | 你的服务器 |
| SIP 服务器端口 | 8160,与 .env 的 SIP_Port 一致 | .env |
| 平台编号(SIP 服务器 ID) | 35020000002000000001,20 位 | .env 的 SIP_Id |
| SIP 域 | 3502000000,10 位 | .env 的 SIP_Domain |
| 注册用户名 / 密码 | 设备自身 20 位编号 / 平台统一密码 | .env 的 SIP_Password |
📷 四个高频能力实操
设备列表与状态监控怎么看
- 在"国标设备"页按在线状态筛选,每台设备的最近心跳、最近注册、通道数一目了然。
- 点右上"系统信息"可复制本平台的国标编号、域和注册密码,直接粘贴到设备端,别手抄。
- 设备离线时先看最近心跳时间:心跳断了查网络,注册失败查密码和编号。
- 新挂的 NVR 通道数不对,进操作列触发通道刷新,等目录同步完成再核对。
多画面预览与云台控制怎么用
- 进"分屏监控",切 1/4/9/16 分屏,左侧通道树勾选后画面直接上墙。
- 播放基于 WebRTC,浏览器无插件;H.265 走 WASM 解码,老机器掉帧就换 Chrome 最新版。
- 播放器工具条点云台按钮,方向、变倍、预置位、巡航、雨刷全在面板里。
- 多路同屏先切子码流保流畅,单画面要看细节再回主码流。
国标级联:把下级平台挂上来
- 级联→新增,进入上级平台配置页。
- 填写上级平台编号、域、地址与端口,以及交换好的 SIP 认证用户名和密码。
- 信令传输默认 UDP,跨广域丢包或时延高就切 TCP。
- 保存后状态变"在线",再用"选择通道"把本平台的通道批量共享给上级,上级即可点播。
录像检索与下载怎么做
- 录像两个来源:云端录像(平台侧 ZLM 落盘)和国标设备自带录像(走国标协议查设备)。
- 云端录像列表按开始/结束时间过滤,命中记录直接"播放"在线看,"下载"拿 mp4。
- 要下大批量文件,优先整段下载后离线归档,别逐条点。
- 国标录像查不到时,先核对设备时钟,别急着怀疑平台。
部署时最容易踩的 5 个坑
- 现象:设备注册 403 或无响应。原因:SIP 端口只放通了 TCP,而 GB28181 注册默认走 UDP。处理:防火墙和安全组同时放行 8160 的 udp+tcp,用
nc -u <平台IP> 8160验证。 - 现象:前几路正常,路数一多就有通道黑屏。原因:媒体收流端口段太小,默认 30000-30500 仅约 500 个端口,每路收流占一段。处理:config.ini 的 port_range 拉大到 30000-40000,防火墙同步放行,重启 polaris-media。
- 现象:NAT 后面注册成功,视频就是出不来。原因:SDP 里给设备的是内网 IP,媒体包回不去 NAT。处理:Stream_IP/SDP_IP 改为公网(或内网穿透)IP;或把设备端流传输切成 TCP,wvp 对 NAT 场景有对应支持。
- 现象:某时间段录像怎么都查不到。原因:设备时钟漂了几小时,录像文件名时间戳整体错位。处理:设备端开启 NTP 校时;临时检索按设备自身时间换算一遍再查。
- 现象:页面能开,播放器的流地址却是 127.0.0.1。原因:Stream_IP 没改,平台按本机回环生成地址。处理:.env 里 Stream_IP 和 SDP_IP 都改成前端可达的服务器 IP,重启 polaris-wvp 和 polaris-nginx。
单机 / 集群 / 云原生,怎么选
| 部署模式 | 适合谁 | 关键动作 | 代价 |
|---|---|---|---|
| 单机五容器 | 50-200 路试点、PoC | 一台 4 核 8G 直接docker compose up -d | 单点故障,录像吃本地磁盘 |
| wvp 与 media 分机 | 200-1000 路生产 | media 放带宽大的机器,改 ZLM_HOOK_HOST,wvp 与 media 保持同内网 | 网络配置多一层,Stream_IP 要仔细核对 |
| 多机多节点 | 1000+ 路 | 媒体节点页挂多个 ZLM,MySQL/Redis 主从或托管实例 | 运维复杂度明显上升,需要容量规划 |
| 云原生 K8s | 多地域、弹性伸缩 | 容器配置迁 Deployment,media 节点固定大端口段和带宽 | 学习成本高,云上 UDP 端口段受限 |
两周下来,80 路混装设备在单台 4 核 8G 机器上跑稳,真正费时间的反而是逐台改摄像头配置,不是平台本身。开工前记住两件事:先拿 1 台设备走通注册→预览→录像的完整 PoC,再批量接入;把 .env 全文和防火墙放行规则存档,换机重装能省半天。
【免费下载链接】wvp-GB28181-pro基于GB28181-2016、部标808、部标1078标准实现的开箱即用的网络视频平台。自带管理页面,支持NAT穿透,支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联,支持将普通摄像机/直播流/直播推流转国标共享到国标平台。项目地址: https://gitcode.com/GitHub_Trending/wv/wvp-GB28181-pro
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考