news 2026/8/24 15:54:30

wvp-GB28181-pro 部署实战:Docker 十分钟接入第一批 GB28181 摄像头

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
wvp-GB28181-pro 部署实战:Docker 十分钟接入第一批 GB28181 摄像头

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-release64 位 CentOS 7+ / Ubuntu 20.04+
Docker 版本docker --version && docker compose version20.10+,compose v2 可用
内存free -h8GB 起步(4 核 8G 可跑约 200 路,每多 1000 路再加 1GB 左右)
磁盘df -hdocker 所在分区 50GB+ 可用(录像另算)
SIP 端口ss -lunp | grep 81608160/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 个坑

  1. 现象:设备注册 403 或无响应。原因:SIP 端口只放通了 TCP,而 GB28181 注册默认走 UDP。处理:防火墙和安全组同时放行 8160 的 udp+tcp,用nc -u <平台IP> 8160验证。
  2. 现象:前几路正常,路数一多就有通道黑屏。原因:媒体收流端口段太小,默认 30000-30500 仅约 500 个端口,每路收流占一段。处理:config.ini 的 port_range 拉大到 30000-40000,防火墙同步放行,重启 polaris-media。
  3. 现象:NAT 后面注册成功,视频就是出不来。原因:SDP 里给设备的是内网 IP,媒体包回不去 NAT。处理:Stream_IP/SDP_IP 改为公网(或内网穿透)IP;或把设备端流传输切成 TCP,wvp 对 NAT 场景有对应支持。
  4. 现象:某时间段录像怎么都查不到。原因:设备时钟漂了几小时,录像文件名时间戳整体错位。处理:设备端开启 NTP 校时;临时检索按设备自身时间换算一遍再查。
  5. 现象:页面能开,播放器的流地址却是 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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 15:53:50

聚焦双语翻译阅读体验 探索高效顺畅的双语内容阅读优化方向

科研党避坑指南&#xff5c;不囤工具只选对的&#xff0c;从入门到精通全靠这4款&#xff08;含切问学术实操&#xff09; 走过科研新手期的坑&#xff0c;才明白一个道理&#xff1a;好用的科研工具&#xff0c;从来不是越多越好&#xff0c;而是精准匹配需求、能真正解决问题…

作者头像 李华
网站建设 2026/8/24 15:50:17

Atmosphere 1.8.0 安装教程:3 步完成 19.0.0 系统固件适配

Atmosphere 1.8.0 安装教程&#xff1a;3 步完成 19.0.0 系统固件适配 【免费下载链接】Atmosphere Atmosphre is a work-in-progress customized firmware for the Nintendo Switch. 项目地址: https://gitcode.com/GitHub_Trending/at/Atmosphere Atmosphere 是目前 N…

作者头像 李华
网站建设 2026/8/24 15:46:10

SKILL.md 快速上手:5 步让 AI 代理学会你的工作流

SKILL.md 快速上手&#xff1a;5 步让 AI 代理学会你的工作流 【免费下载链接】agentskills Specification and documentation for Agent Skills 项目地址: https://gitcode.com/GitHub_Trending/ag/agentskills 当你得反复向 AI 代理解释同一套项目约定时&#xff0c;a…

作者头像 李华
网站建设 2026/8/24 15:44:08

油猴中文网

链接&#xff1a;https://pan.quark.cn/s/eddf99b5496c提供免费油猴脚本插件下载工具,让自己也能制作脚本,为小白提供相关知识信息,包括油猴插件工具开发等&#xff0c;让您感受全面的油猴信息

作者头像 李华
网站建设 2026/8/24 15:34:10

go语言如何取struct的全包名

在 Go 中&#xff0c;通过 reflect 包可以获取 struct 的完整限定名&#xff08;Fully Qualified Name&#xff09;&#xff0c;即 完整导入路径.类型名。核心方法gopackage mainimport ("fmt""reflect" )// 假设这是你的 struct type User struct {Name s…

作者头像 李华