本文介绍了在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
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联调后推流规则:
推流时需要携带推流鉴权的签名sign
,sign=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官方文档
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。