GB28181 wvp项目部署

参考:https://notemi.cn/wvp---zlmedia-kit---mediaserverui-to-realize-streaming-playback-and-recording-of-camera-gb28181.html

简介

本文主要介绍使用 WVP+ZLMediaKit+MediaServerUI 实现通过 GB28181 进行海康、大华、宇视等品牌的 IPCNVRDVR 接入,完成摄像头监控播放,控制,录制。

sip 服务 WVP https://github.com/swwheihei/wvp-GB28181

流媒体服务 ZLMediaKit https://github.com/xiongziliang/ZLMediaKit

前端展示项目 MediaServerUI https://gitee.com/kkkkk5G/MediaServerUI/tree/gb28181/

安装zlmediakit

这里我们不详细描述如何安装zlmediakit,使用docker 快速体验一下

docker run -it --name media -p 6080:80 -p 10443:443 -p 10935:1935 -p 19351:19350 -p 10554:554 -p 10554:554/udp -p 10332:332 -p 10332:332/udp -p 10010:10000 -p 10010:10000/udp -p 30000-30500:30000-30500/udp -p 30000-30500:30000-30500/tcp panjjo/zlmediakit

MediaServerUI

MediaServerUI

拉下项目代码:https://gitee.com/kkkkk5G/MediaServerUI/tree/gb28181/

git clone https://gitee.com/kkkkk5G/MediaServerUI.git
cd MediaServerUI/
git checkout gb28181

修改global.js

/**---------------GB28181服务器信息配置-------------------**/
const serverip="172.16.101.235:8787"

const host = 'http://' + serverip;
/**------------------------------------------------------**/


/**---------------ZLMediaKit流媒体服务器配置---------------**/
const ZLServerIp="172.16.101.235:6080";
const ZLSecret="035c73f7-bb6b-4889-a715-d9eb2d1925cc";

const ZLHost='http://' + ZLServerIp+"/index/api";
const baseMediaUrl='ws://' + ZLServerIp + '/';
/**------------------------------------------------------**/

//生成GB28181平台接口url
function genGb28181Url(method){
	return host+method;
}

//生成ZLMediaKit平台接口url
function genApiUrl(method){
	return ZLHost+method+"?secret="+ZLSecret;
}



export default{
	genApiUrl,
	genGb28181Url,
	baseMediaUrl,
	ZLServerIp
}
  • serverip是WVP服务器的ip+端口号

  • ZLServerIp: 流媒体的ip+端口号

  • ZLSecret是zlemdiakit钟配置文件里面的密钥

编译

cnpm install

cnpm run serve

cnpm run build

将编译好的dist里面的文件放到WVP里面resources下面的static文件夹下面,这样就省区了安装nginx。

WVP

因为我不想安装mysql数据库,所以使用sqlite数据库,添加sqlite依赖

		<!-- 添加sqlite-jdbc数据库驱动 -->
		<dependency>
			<groupId>org.xerial</groupId>
			<artifactId>sqlite-jdbc</artifactId>
			<version>3.32.3.2</version>
		</dependency>

然后将项目打成jar包

修改配置文件

spring:
    application:
        name: iot-vmp-vmanager
        # 影子数据存储方式,支持redis、jdbc
        database: redis
        # 通信方式,支持kafka、http
        communicate: http
    redis: 
        # Redis服务器IP
        #host: 10.24.20.63
        host: 172.16.101.235
        #端口号
        port: 26379
        datebase: 0
        #访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
        password:
        #超时时间
        timeout: 10000
    datasource: 
        #name: eiot
        #url: jdbc:mysql://10.24.20.63:3306/eiot?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true
        #username: root
        #password: 123456
        #type: com.alibaba.druid.pool.DruidDataSource
        #driver-class-name: com.mysql.jdbc.Driver
        name: eiot
        url: jdbc:sqlite::resource:wvp.sqlite
        username:
        password:
        type: com.alibaba.druid.pool.DruidDataSource
        driver-class-name:  org.sqlite.JDBC
        max-active: 1
        min-idle: 1
server:
    port: 8787
sip:
#   ip: 10.200.64.63
    ip: 172.16.101.235
    port: 25060
    # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
    # 后两位为行业编码,定义参照附录D.3
    # 3701020049标识山东济南历下区 信息行业接入
    domain: 3701020049
    id: 37010200492000000001
    # 默认设备认证密码,后续扩展使用设备单独密码
    password: admin123
media:
    ip: 172.16.101.235
    port: 10010

将jar包和配置文件放在同一个文件夹下运行:

java -jar wvp-1.5.10.RELEASE.jar &

配置摄像头

效果

访问我们wvp配置文件中端口

转发后的视频流

可以通过日志获取编号也可以通过接口获取

http://172.16.101.235:6080/index/api/getMediaList?secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc&schema=rtsp

rtsp://172.16.101.235:10554/rtp/06147776

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×