GB28181视频服务wvp部署(一)

✨重磅!盹猫的个人小站正式上线啦~诚邀各位技术大佬前来探秘!✨

这里有:

  • 硬核技术干货:编程技巧、开发经验、踩坑指南,带你解锁技术新姿势!
  • 趣味开发日常:代码背后的脑洞故事、工具测评,让技术圈不再枯燥~
  • 独家资源分享:开源项目、学习资料包,助你打怪升级快人一步!

👉 点击直达→ 盹猫猫的个人小站 👈

🌟 来逛逛吧,说不定能挖到你正在找的技术宝藏哦~

目录

[📇 前言](#📇 前言)

[🎀 关键词解释](#🎀 关键词解释)

[🤔 什么是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配置中不要使用弱密码。

上面就是所有配置信息了,如果内容对你有帮助,麻烦留一个赞👍和收藏⭐支持一下!


如果你对区块链 内容感兴趣可以查看我的专栏:小试牛刀-区块链

感谢您的关注和收藏!!!!!!

相关推荐
我命由我123453 小时前
Spring Boot - Spring Boot 静态资源延迟响应(使用拦截器、使用过滤器、使用 ResourceResolver)
java·spring boot·后端·spring·java-ee·intellij-idea·intellij idea
Xzh04233 小时前
前后端学习的交界
java·ajax·maven·axios·测试
豆沙沙包?3 小时前
2025年--Lc201- 378. 有序矩阵中第 K 小的元素(排序)--Java版
java·线性代数·矩阵
华仔啊3 小时前
3 分钟让你彻底搞懂 Spring 观察者和发布者模式的本质区别
java·后端
言之。3 小时前
LiteLLM:让LLM调用变得简单统一
后端·python·flask
没有bug.的程序员3 小时前
服务治理与 API 网关:微服务流量管理的艺术
java·分布式·微服务·架构·wpf
宠友信息4 小时前
java微服务驱动的社区平台:友猫社区的功能模块与实现逻辑
java·开发语言·微服务
驰羽4 小时前
[GO]golang接口入门:从一个简单示例看懂接口的多态与实现
开发语言·后端·golang