本文介绍了在Ubuntu系统下配置wvp-GB28181-pro以及与ZLMediaKit联调的全流程教程。关于ZLMediaKit的配置过程请参照上一篇Ubuntu下配置ZLMediaKit的操作流程
关于wvp-pro的详细信息可查看wvp官方说明

1.安装依赖

Ubuntu环境下:

apt-get install -y openjdk-11-jre git maven nodejs npm

2.安装MySql和Redis

安装 MySql 和 Redis ,可在wvp本机也可在其他服务器上,具体操作方式此处不再详细说明,网上很多。
安装MySql后需要创建wvp数据库,执行sql/mysql.sql初始化数据库结构。

3.编译运行ZLMediaKit

参照上一篇Ubuntu下配置ZLMediaKit的操作流程

4.编译wvp-pro

4.1 下载代码
#从gitee下载项目代码(此处还是安装在opt文件夹下)
cd /opt
git clone https://gitee.com/pan648540858/wvp-GB28181-pro.git
4.2 编译前端页面
cd /opt/wvp-GB28181-pro/web_src/
#用淘宝源下载
npm --registry=https://registry.npm.taobao.org install
npm run build
4.3 打包项目
cd /opt/wvp-GB28181-pro
mvn package

5.修改配置文件

5.1 配置文件位置

wvp配置文件基于spring boot的开发方式,配置文件的加载是很灵活的。默认在src/main/resources/application.yml,部分配置项是可选,你不需要全部配置在配置文件中, 完全的配置说明可以参看all-application.yml

5.2 需要修改的配置内容

配置文件中信息较多,以下是必须要改的

  • redis配置信息
  • mysql配置信息
  • ZLM连接配置信息 (这里的media.id要和ZLM里的general.mediaServerId一致,ZLM的配置文件在release/linux/Debug/config.ini,也要注意端口等信息是否一致)

6.启动项目

将修改后的配置文件替换到jar包 BOOT-INF/classes 后启动。如果不想用替换jar包中配置文件的方式,可以通过指定配置文件的方式进行配置。
此处我采用的是修改/src/main/resources/application-dev.yml中的内容然后指定的方式。

cd wvp-GB28181-pro/target
java -jar wvp-pro-*.jar --spring.config.location=../src/main/resources/application-dev.yml

启动后访问http://ip地址:18080进行登陆,默认用户名密码都是admin

7.注意事项

  • wvp和ZLM联调成功后,wvp会接管ZLM的配置文件,修改其中的相关信息
  • wvp推流需要鉴权
wvp联调后推流规则:

推流时需要携带推流鉴权的签名signsign=md5(pushKey)(通过MD5转码后的32位字符串)
pushKey来自数据库中user表,每个用户会有一个不同的pushKey。
例如:pp=test,stream=live,pushKey=1000,ip=192.168.1.4, port=10554
那么推流地址为:

rtsp://192.168.1.4:10554/test/live?sign=a9b7ba70783b617e9998dc4dd82eb3c5

支持推流时自定义播放鉴权Id,参数名为callId,此时sign=md5(callId_pushKey)
例如:app=test,stream=live,pushKey=1000,callId=12345678, ip=192.168.1.4,port=10554
那么推流地址为:

rtsp://192.168.1.4:10554/test/live?callId=12345678&sign=c8e6e01dde2d60c66dcea8d2498ffef1

具体规则和更多说明可参照WVP官方文档


Vinger
1 声望3 粉丝