✨重磅!盹猫的个人小站正式上线啦~诚邀各位技术大佬前来探秘!✨
这里有:
- 硬核技术干货:编程技巧、开发经验、踩坑指南,带你解锁技术新姿势!
- 趣味开发日常:代码背后的脑洞故事、工具测评,让技术圈不再枯燥~
- 独家资源分享:开源项目、学习资料包,助你打怪升级快人一步!
👉 点击直达→ 盹猫猫的个人小站 👈
🌟 来逛逛吧,说不定能挖到你正在找的技术宝藏哦~
目录
[📇 前言](#📇 前言)
[🎀 关键词解释](#🎀 关键词解释)
[🤔 什么是GB/28181?](#🤔 什么是GB/28181?)
[🤔 什么是sip?](#🤔 什么是sip?)
[📢 声明](#📢 声明)
[🌿 部署环境](#🌿 部署环境)
[📚 部署流程](#📚 部署流程)
[1️⃣ 编译前端](#1️⃣ 编译前端)
[2️⃣ 编译wvp服务](#2️⃣ 编译wvp服务)
[3️⃣ 修改配置文件](#3️⃣ 修改配置文件)
[4️⃣ 测试运行](#4️⃣ 测试运行)
[⭕ 总结](#⭕ 总结)
欢迎来到 盹猫(>^ω^<)的博客
本篇文章主要介绍了
**GB28181视频服务wvp和zlmediakit部署**
❤博主广交技术好友,喜欢文章的可以关注一下❤
📇 前言
最近需要进行国标设备的接入,接入方是大华的摄像头做向上的推流,使用的是TCP的被动模式。通过一些查询,了解到了一般是使用wvp+zlmediakit服务的方式进行视频国标视频流的接入工作,部署过程中也出现了很多问题,在这里进行一些wvp的部署流程的记录,防止年龄大了老年痴呆😃。
🎀 关键词解释
GB/28181=SIP服务+视频流服务。
🤔 什么是GB/28181?
GB/T 28181 是 中国国家标准《公共安全视频监控联网系统信息传输、交换、控制技术要求》 的代号(GB/T 代表 "国家推荐性标准"),由公安部主导制定,核心目标是解决不同品牌、不同厂家的视频监控设备(如摄像头、NVR、平台)之间的 互联互通问题,让分散的监控资源能统一管理、调度和查看。
🤔 什么是sip?
SIP 是 Session Initiation Protocol(会话初始协议) 的缩写,是一种用于 建立、修改和终止实时通信会话 的应用层协议 ------ 简单说,它是实时通信的 "调度员",负责沟通双方的 "身份确认、连接建立、会话控制",但不直接传输语音 / 视频数据本身。
在GB28181通信标准中,比较核心的就是SIP服务(这里的wvp服务 实现),然后zlmediakit起到进行视频流转发的作用。
📢 声明
声明:以下操作在centos8(linux)操作系统内进行,注意不同系统的命令区别。
🌿 部署环境
因为wvp使用java和nodejs进行开发的,所以这里需要使用下面的命令安装需要环境:
bash
yum install -y java-1.8.0-openjdk.x86_64 git maven nodejs npm
📚 部署流程
1️⃣ 编译前端
从gitee上拉取最新版的源码文件:
bash
git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git
进入到wvp目录中进行前端代码的编译,前端代码位于(wvp-GB28181-pro/web/)目录下:
bash
cd wvp-GB28181-pro/web/
npm --registry=https://registry.npmmirror.com install
npm npm run build:prod
成功示例

打包后将会在wvp-GB28181-pro/src/main/resources目录下生成static文件夹,也就是前端编译后的代码。
2️⃣ 编译wvp服务
进入wvp-GB28181-pro进行jar包(wvp服务)的编译,使用以下命令创建jar包:
bash
cd wvp-GB28181-pro
mvn package
运行后会在wvp-GB28181-pro/target目录下生成需要的jar包和配置文件。

3️⃣ 修改配置文件
根据需要修改application-dev.yml文件,这里面包括redis,mysql服务的配置(经常使用,不多介绍),主要修改下面几个配置信息:
bash
server:
port: 18080
# 作为28181服务器的配置
sip:
# [可选] 28181服务监听的端口
port: 15060
# 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
# 后两位为行业编码,定义参照附录D.3
# 3701020049标识山东济南历下区 信息行业接入
# [可选]
domain: 3402000000
# [可选]
id: 34020000002000000001
# [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
password: 123456
# 是否存储alarm信息
alarm: false
#zlm 默认服务器配置
media:
id: uH08vs0Ipp7iwmw5
# [必须修改] zlm服务器的内网IP
ip: 192.168.0.24
# [必须修改] zlm服务器的http.port
http-port: 9092
# [必选选] zlm服务器的hook.admin_params=secret
secret: sYlI8iic4mN7E1NIijQ5ErlUULAH5gDo
# 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
rtp:
# [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
enable: true
# [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性,不然自动配置此属性可能不成功
port-range: 40000,45000 # 端口范围
# [可选] 国标级联在此范围内选择端口发送媒体流,
send-port-range: 50000,55000 # 端口范围
- sip: 即当前的wvp服务的相关信息的配置,根据实际需要进行修改,这里是共享给级联平台的配置信息。
- media: 即zlmediakit服务的配置信息,这里可以先进性自定义的设置(公网请不要使用弱口令)。
- server:管理界面的访问端口,这里设置为18080。
4️⃣ 测试运行
使用
java -jar wvp-pro-2.7.4-10160712.jar
命令进行启动(注意端口冲突问题),除zlmediakit未连接外应该无任何其它的报错信息,访问18080端口进入管理界面:

默认的用户名和密码是admin,进入管理界面后可查看在线的媒体节点信息:

因为我这边已经部署完成,所以显示在线的状态,如果没运行zlmediakit这里应该是灰色不在线的。(在**GB28181视频服务wvp部署(二)**文章记录zlmediakit服务的部署过程)
⚠️注意:如果有国标对接,现在应该在【国标设备】菜单中可以看到通道信息,但无法播放。
⭕ 总结
在进行wvp服务编译时,一定要注意先编译前端文件后再进行整体jar包的打包,在进行配置时zlmediakit的IP地址可以是公网的IP地址,需要根据实际的需要进行配置,同时确保SIP配置中不要使用弱密码。
上面就是所有配置信息了,如果内容对你有帮助,麻烦留一个赞👍和收藏⭐支持一下!
如果你对区块链 内容感兴趣可以查看我的专栏:小试牛刀-区块链
感谢您的关注和收藏!!!!!!
