diff --git a/docker/docker-compose-pro.yml b/docker/docker-compose-pro.yml
new file mode 100644
index 000000000..e3db35a83
--- /dev/null
+++ b/docker/docker-compose-pro.yml
@@ -0,0 +1,92 @@
+version: '3'
+networks:
+ network:
+ ipam:
+ driver: default
+ config:
+ - subnet: '177.200.0.0/16'
+
+services:
+ redis:
+ image: redis
+ restart: always
+ networks:
+ network:
+ ipv4_address: 177.200.0.2
+ ports:
+ - 6379:6379
+ volumes:
+ - ./redis/redis.conf:/etc/redis/redis_default.conf
+ - ./redis/data/:/data
+ environment:
+ TZ: "Asia/Shanghai"
+ command: redis-server /etc/redis/redis_default.conf --appendonly yes
+ mysql:
+ image: mysql:5.7
+ ports:
+ - 3306:3306
+ restart: unless-stopped
+ networks:
+ network:
+ ipv4_address: 177.200.0.3
+ environment:
+ MYSQL_DATABASE: wvp
+ MYSQL_ROOT_PASSWORD: root
+ volumes:
+ - ./mysql/mysql:/var/lib/mysql
+ - ./mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
+ - ./mysql/initdb:/docker-entrypoint-initdb.d
+ command:
+ [
+ 'mysqld',
+ '--character-set-server=utf8',
+ '--collation-server=utf8_unicode_ci',
+ '--default-time-zone=+8:00',
+ '--lower-case-table-names=1'
+ ]
+ zlmediakit:
+ image: zlmediakit/zlmediakit:master
+ restart: unless-stopped
+ networks:
+ network:
+ ipv4_address: 177.200.0.4
+ ports:
+ - "1935:1935"
+ - "8100:80"
+ - "8443:443"
+ - "8554:554"
+ - "10000:10000"
+ - "10000:10000/udp"
+ - "8000:8000/udp"
+ - "9000:9000/udp"
+ - "30000-30500:30000-30500/udp"
+ - "30000-30500:30000-30500/tcp"
+ volumes:
+ - ./media/conf/config.ini:/opt/media/conf/config.ini
+
+ wvp:
+ image: wvp-pro:v1
+ restart: always
+ networks:
+ network:
+ ipv4_address: 177.200.0.5
+ ports:
+ - "5060:5060"
+ - "5060:5060/udp"
+ - "18080:18080"
+ - "18081:18081"
+ volumes:
+ - ./wvp-pro/wvp:/opt/wvp
+ - ./wvp-pro/assist:/opt/assist
+ environment:
+ TZ: "Asia/Shanghai"
+ MEDIA_HOST: 192.168.2.33
+ # - "JAVA_OPTS=-Xms4G -Xmx4G -XX:+UseG1GC" # jvm参数,根据情况调整
+ links:
+ - mysql
+ - redis
+ - zlmediakit
+ depends_on:
+ - redis
+ - zlmediakit
+ - mysql
diff --git a/docker/media/conf/config.ini b/docker/media/conf/config.ini
new file mode 100644
index 000000000..e01792850
--- /dev/null
+++ b/docker/media/conf/config.ini
@@ -0,0 +1,166 @@
+; auto-generated by mINI class {
+
+[api]
+apiDebug=1
+defaultSnap=./www/logo.png
+secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc
+snapRoot=./www/snap/
+
+[cluster]
+origin_url=
+retry_count=3
+timeout_sec=15
+
+[ffmpeg]
+bin=/usr/bin/ffmpeg
+cmd=%s -re -i %s -c:a aac -strict -2 -ar 44100 -ab 48k -c:v libx264 -f flv %s
+log=./ffmpeg/ffmpeg.log
+restart_sec=0
+snap=%s -i %s -y -f mjpeg -t 0.001 %s
+
+[general]
+check_nvidia_dev=1
+enableVhost=0
+enable_ffmpeg_log=0
+flowThreshold=1024
+maxStreamWaitMS=15000
+mediaServerId=zhulangren001
+mergeWriteMS=0
+resetWhenRePlay=1
+streamNoneReaderDelayMS=20000
+unready_frame_cache=100
+wait_add_track_ms=3000
+wait_track_ready_ms=10000
+
+[hls]
+broadcastRecordTs=0
+deleteDelaySec=10
+fileBufSize=65536
+segDur=2
+segKeep=0
+segNum=3
+segRetain=5
+
+[hook]
+admin_params=secret=035c73f7-bb6b-4889-a715-d9eb2d1925cc
+alive_interval=10.0
+enable=1
+on_flow_report=
+on_http_access=
+on_play=http://wvp:18080/index/hook/on_play
+on_publish=http://wvp:18080/index/hook/on_publish
+on_record_mp4=http://127.0.0.1:18081/api/record/on_record_mp4
+on_record_ts=
+on_rtp_server_timeout=http://wvp:18080/index/hook/on_rtp_server_timeout
+on_rtsp_auth=
+on_rtsp_realm=
+on_send_rtp_stopped=http://wvp:18080/index/hook/on_send_rtp_stopped
+on_server_keepalive=http://wvp:18080/index/hook/on_server_keepalive
+on_server_started=http://wvp:18080/index/hook/on_server_started
+on_shell_login=
+on_stream_changed=http://wvp:18080/index/hook/on_stream_changed
+on_stream_none_reader=http://wvp:18080/index/hook/on_stream_none_reader
+on_stream_not_found=http://wvp:18080/index/hook/on_stream_not_found
+retry=1
+retry_delay=3.0
+timeoutSec=20
+
+[http]
+charSet=utf-8
+dirMenu=1
+forbidCacheSuffix=
+forwarded_ip_header=
+keepAliveSecond=30
+maxReqSize=40960
+notFound=
404 Not Found您访问的资源不存在!
ZLMediaKit(git hash:44f4e9a/2023-01-08T21:35:50+08:00,branch:master,build time:2023-01-08T13:38:44)
+port=80
+rootPath=./www
+sendBufSize=65536
+sslport=443
+virtualPath=
+
+[multicast]
+addrMax=239.255.255.255
+addrMin=239.0.0.0
+udpTTL=64
+
+[protocol]
+add_mute_audio=1
+continue_push_ms=3000
+enable_audio=1
+enable_fmp4=1
+enable_hls=1
+enable_mp4=0
+enable_rtmp=1
+enable_rtsp=1
+enable_ts=1
+fmp4_demand=0
+hls_demand=0
+hls_save_path=./www
+modify_stamp=0
+mp4_as_player=0
+mp4_max_second=3600
+mp4_save_path=./www
+rtmp_demand=0
+rtsp_demand=0
+ts_demand=0
+
+[record]
+appName=record
+fastStart=0
+fileBufSize=65536
+fileRepeat=0
+sampleMS=500
+
+[rtc]
+externIP=
+port=8000
+preferredCodecA=PCMU,PCMA,opus,mpeg4-generic
+preferredCodecV=H264,H265,AV1,VP9,VP8
+rembBitRate=0
+tcpPort=8000
+timeoutSec=15
+
+[rtmp]
+handshakeSecond=15
+keepAliveSecond=15
+modifyStamp=0
+port=1935
+sslport=0
+
+[rtp]
+audioMtuSize=600
+lowLatency=0
+rtpMaxSize=10
+videoMtuSize=1400
+
+[rtp_proxy]
+dumpDir=
+h264_pt=98
+h265_pt=99
+opus_pt=100
+port=10000
+port_range=30000-30500
+ps_pt=96
+timeoutSec=15
+
+[rtsp]
+authBasic=0
+directProxy=1
+handshakeSecond=15
+keepAliveSecond=15
+lowLatency=0
+port=554
+sslport=0
+
+[shell]
+maxReqSize=1024
+port=0
+
+[srt]
+latencyMul=4
+pktBufSize=8192
+port=9000
+timeoutSec=5
+
+; } ---
diff --git a/docker/mysql/initdb/mysql.sql b/docker/mysql/initdb/mysql.sql
new file mode 100644
index 000000000..8479fdf67
--- /dev/null
+++ b/docker/mysql/initdb/mysql.sql
@@ -0,0 +1,581 @@
+-- MySQL dump 10.13 Distrib 8.0.31, for Linux (x86_64)
+--
+-- Host: 127.0.0.1 Database: wvp
+-- ------------------------------------------------------
+-- Server version 8.0.30
+
+/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
+/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
+/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
+/*!50503 SET NAMES utf8mb4 */;
+/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
+/*!40103 SET TIME_ZONE='+00:00' */;
+/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
+/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
+/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
+/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
+
+--
+-- Table structure for table `device`
+--
+
+DROP TABLE IF EXISTS `device`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `device` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `manufacturer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `firmware` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `streamMode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `online` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `registerTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `keepaliveTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `port` int DEFAULT NULL,
+ `expires` int DEFAULT NULL,
+ `subscribeCycleForCatalog` int DEFAULT NULL,
+ `hostAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `charset` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `subscribeCycleForMobilePosition` int DEFAULT NULL,
+ `mobilePositionSubmissionInterval` int DEFAULT '5',
+ `subscribeCycleForAlarm` int DEFAULT NULL,
+ `ssrcCheck` int DEFAULT '0',
+ `geoCoordSys` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `treeType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `custom_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `sdpIp` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `localIp` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `device_deviceId_uindex` (`deviceId`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `device`
+--
+
+LOCK TABLES `device` WRITE;
+/*!40000 ALTER TABLE `device` DISABLE KEYS */;
+/*!40000 ALTER TABLE `device` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `device_alarm`
+--
+
+DROP TABLE IF EXISTS `device_alarm`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `device_alarm` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `alarmPriority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `alarmMethod` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `alarmTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `alarmDescription` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `longitude` double DEFAULT NULL,
+ `latitude` double DEFAULT NULL,
+ `alarmType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `device_alarm`
+--
+
+LOCK TABLES `device_alarm` WRITE;
+/*!40000 ALTER TABLE `device_alarm` DISABLE KEYS */;
+/*!40000 ALTER TABLE `device_alarm` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `device_channel`
+--
+
+DROP TABLE IF EXISTS `device_channel`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `device_channel` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `manufacture` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `model` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `owner` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `civilCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `block` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `safetyWay` int DEFAULT NULL,
+ `registerWay` int DEFAULT NULL,
+ `certNum` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `certifiable` int DEFAULT NULL,
+ `errCode` int DEFAULT NULL,
+ `endTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `secrecy` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `ipAddress` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `port` int DEFAULT NULL,
+ `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `PTZType` int DEFAULT NULL,
+ `status` int DEFAULT NULL,
+ `longitude` double DEFAULT NULL,
+ `latitude` double DEFAULT NULL,
+ `streamId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `parental` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `hasAudio` bit(1) DEFAULT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `subCount` int DEFAULT '0',
+ `longitudeGcj02` double DEFAULT NULL,
+ `latitudeGcj02` double DEFAULT NULL,
+ `longitudeWgs84` double DEFAULT NULL,
+ `latitudeWgs84` double DEFAULT NULL,
+ `businessGroupId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `gpsTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `device_channel_id_uindex` (`id`),
+ UNIQUE KEY `device_channel_pk` (`channelId`,`deviceId`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `device_channel`
+--
+
+LOCK TABLES `device_channel` WRITE;
+/*!40000 ALTER TABLE `device_channel` DISABLE KEYS */;
+/*!40000 ALTER TABLE `device_channel` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `device_mobile_position`
+--
+
+DROP TABLE IF EXISTS `device_mobile_position`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `device_mobile_position` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `deviceId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `channelId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `deviceName` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `time` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `longitude` double NOT NULL,
+ `latitude` double NOT NULL,
+ `altitude` double DEFAULT NULL,
+ `speed` double DEFAULT NULL,
+ `direction` double DEFAULT NULL,
+ `reportSource` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `longitudeGcj02` double DEFAULT NULL,
+ `latitudeGcj02` double DEFAULT NULL,
+ `longitudeWgs84` double DEFAULT NULL,
+ `latitudeWgs84` double DEFAULT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `device_mobile_position`
+--
+
+LOCK TABLES `device_mobile_position` WRITE;
+/*!40000 ALTER TABLE `device_mobile_position` DISABLE KEYS */;
+/*!40000 ALTER TABLE `device_mobile_position` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `gb_stream`
+--
+
+DROP TABLE IF EXISTS `gb_stream`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `gb_stream` (
+ `gbStreamId` int NOT NULL AUTO_INCREMENT,
+ `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `gbId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `longitude` double DEFAULT NULL,
+ `latitude` double DEFAULT NULL,
+ `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`gbStreamId`) USING BTREE,
+ UNIQUE KEY `app` (`app`,`stream`) USING BTREE,
+ UNIQUE KEY `gbId` (`gbId`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `gb_stream`
+--
+
+LOCK TABLES `gb_stream` WRITE;
+/*!40000 ALTER TABLE `gb_stream` DISABLE KEYS */;
+/*!40000 ALTER TABLE `gb_stream` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `log`
+--
+
+DROP TABLE IF EXISTS `log`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `log` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `uri` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `address` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `result` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `timing` bigint NOT NULL,
+ `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `log`
+--
+
+LOCK TABLES `log` WRITE;
+/*!40000 ALTER TABLE `log` DISABLE KEYS */;
+/*!40000 ALTER TABLE `log` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `media_server`
+--
+
+DROP TABLE IF EXISTS `media_server`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `media_server` (
+ `id` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `ip` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `hookIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `sdpIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `streamIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `httpPort` int NOT NULL,
+ `httpSSlPort` int NOT NULL,
+ `rtmpPort` int NOT NULL,
+ `rtmpSSlPort` int NOT NULL,
+ `rtpProxyPort` int NOT NULL,
+ `rtspPort` int NOT NULL,
+ `rtspSSLPort` int NOT NULL,
+ `autoConfig` int NOT NULL,
+ `secret` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `rtpEnable` int NOT NULL,
+ `rtpPortRange` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `recordAssistPort` int NOT NULL,
+ `defaultServer` int NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `hookAliveInterval` int NOT NULL,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `media_server_i` (`ip`,`httpPort`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `media_server`
+--
+
+LOCK TABLES `media_server` WRITE;
+/*!40000 ALTER TABLE `media_server` DISABLE KEYS */;
+/*!40000 ALTER TABLE `media_server` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `parent_platform`
+--
+
+DROP TABLE IF EXISTS `parent_platform`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `parent_platform` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `enable` int DEFAULT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `serverGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `serverGBDomain` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `serverIP` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `serverPort` int DEFAULT NULL,
+ `deviceGBId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `deviceIp` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `devicePort` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `expires` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `keepTimeout` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `transport` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `characterSet` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `ptz` int DEFAULT NULL,
+ `rtcp` int DEFAULT NULL,
+ `status` bit(1) DEFAULT NULL,
+ `startOfflinePush` int DEFAULT '0',
+ `administrativeDivision` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `catalogGroup` int DEFAULT '1',
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `treeType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `parent_platform_id_uindex` (`id`),
+ UNIQUE KEY `parent_platform_pk` (`serverGBId`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `parent_platform`
+--
+
+LOCK TABLES `parent_platform` WRITE;
+/*!40000 ALTER TABLE `parent_platform` DISABLE KEYS */;
+/*!40000 ALTER TABLE `parent_platform` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `platform_catalog`
+--
+
+DROP TABLE IF EXISTS `platform_catalog`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `platform_catalog` (
+ `id` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `parentId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `civilCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `businessGroupId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `platform_catalog`
+--
+
+LOCK TABLES `platform_catalog` WRITE;
+/*!40000 ALTER TABLE `platform_catalog` DISABLE KEYS */;
+/*!40000 ALTER TABLE `platform_catalog` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `platform_gb_channel`
+--
+
+DROP TABLE IF EXISTS `platform_gb_channel`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `platform_gb_channel` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `deviceChannelId` int NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `platform_gb_channel`
+--
+
+LOCK TABLES `platform_gb_channel` WRITE;
+/*!40000 ALTER TABLE `platform_gb_channel` DISABLE KEYS */;
+/*!40000 ALTER TABLE `platform_gb_channel` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `platform_gb_stream`
+--
+
+DROP TABLE IF EXISTS `platform_gb_stream`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `platform_gb_stream` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `platformId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `catalogId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `gbStreamId` int NOT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `platform_gb_stream_pk` (`platformId`,`catalogId`,`gbStreamId`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `platform_gb_stream`
+--
+
+LOCK TABLES `platform_gb_stream` WRITE;
+/*!40000 ALTER TABLE `platform_gb_stream` DISABLE KEYS */;
+/*!40000 ALTER TABLE `platform_gb_stream` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `stream_proxy`
+--
+
+DROP TABLE IF EXISTS `stream_proxy`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `stream_proxy` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `src_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `dst_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `timeout_ms` int DEFAULT NULL,
+ `ffmpeg_cmd_key` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `rtp_type` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `enable_audio` bit(1) DEFAULT NULL,
+ `enable_mp4` bit(1) DEFAULT NULL,
+ `enable` bit(1) NOT NULL,
+ `status` bit(1) NOT NULL,
+ `enable_remove_none_reader` bit(1) NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `enable_disable_none_reader` bit(1) DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `stream_proxy_pk` (`app`,`stream`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `stream_proxy`
+--
+
+LOCK TABLES `stream_proxy` WRITE;
+/*!40000 ALTER TABLE `stream_proxy` DISABLE KEYS */;
+/*!40000 ALTER TABLE `stream_proxy` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `stream_push`
+--
+
+DROP TABLE IF EXISTS `stream_push`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `stream_push` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `app` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `stream` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `totalReaderCount` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `originType` int DEFAULT NULL,
+ `originTypeStr` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `aliveSecond` int DEFAULT NULL,
+ `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `serverId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `pushTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `status` int DEFAULT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ `pushIng` int DEFAULT NULL,
+ `self` int DEFAULT NULL,
+ PRIMARY KEY (`id`),
+ UNIQUE KEY `stream_push_pk` (`app`,`stream`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `stream_push`
+--
+
+LOCK TABLES `stream_push` WRITE;
+/*!40000 ALTER TABLE `stream_push` DISABLE KEYS */;
+/*!40000 ALTER TABLE `stream_push` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `user`
+--
+
+DROP TABLE IF EXISTS `user`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `user` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `roleId` int NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `pushKey` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
+ PRIMARY KEY (`id`) USING BTREE,
+ UNIQUE KEY `user_username_uindex` (`username`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user`
+--
+
+LOCK TABLES `user` WRITE;
+/*!40000 ALTER TABLE `user` DISABLE KEYS */;
+INSERT INTO `user` VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',1,'2021-04-13 14:14:57','2021-04-13 14:14:57','3e80d1762a324d5b0ff636e0bd16f1e3');
+/*!40000 ALTER TABLE `user` ENABLE KEYS */;
+UNLOCK TABLES;
+
+--
+-- Table structure for table `user_role`
+--
+
+DROP TABLE IF EXISTS `user_role`;
+/*!40101 SET @saved_cs_client = @@character_set_client */;
+/*!50503 SET character_set_client = utf8mb4 */;
+CREATE TABLE `user_role` (
+ `id` int NOT NULL AUTO_INCREMENT,
+ `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `authority` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
+ PRIMARY KEY (`id`) USING BTREE
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
+/*!40101 SET character_set_client = @saved_cs_client */;
+
+--
+-- Dumping data for table `user_role`
+--
+
+LOCK TABLES `user_role` WRITE;
+/*!40000 ALTER TABLE `user_role` DISABLE KEYS */;
+INSERT INTO `user_role` VALUES (1,'admin','0','2021-04-13 14:14:57','2021-04-13 14:14:57');
+/*!40000 ALTER TABLE `user_role` ENABLE KEYS */;
+UNLOCK TABLES;
+/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
+
+/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
+/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
+/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
+/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
+/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
+/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
+/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+-- Dump completed on 2022-11-29 11:47:46
+
+
+-- 2.6.6->2.6.7
+alter table device
+ add keepaliveIntervalTime int default null;
\ No newline at end of file
diff --git a/docker/mysql/mysql.cnf b/docker/mysql/mysql.cnf
new file mode 100644
index 000000000..a714559d9
--- /dev/null
+++ b/docker/mysql/mysql.cnf
@@ -0,0 +1,5 @@
+[client]
+default-character-set=utf8
+
+[mysql]
+default-character-set=utf8
\ No newline at end of file
diff --git a/docker/wvp-pro/Dockerfile b/docker/wvp-pro/Dockerfile
new file mode 100644
index 000000000..2652a96f7
--- /dev/null
+++ b/docker/wvp-pro/Dockerfile
@@ -0,0 +1,29 @@
+FROM ubuntu:20.04 as build
+
+ENV LC_ALL zh_CN.UTF-8
+
+RUN export DEBIAN_FRONTEND=noninteractive &&\
+ apt-get update && \
+ apt-get install -y --no-install-recommends openjdk-11-jre ca-certificates ffmpeg language-pack-zh-hans && \
+ apt-get autoremove -y && \
+ apt-get clean -y && \
+ rm -rf /var/lib/apt/lists/*dic
+
+ENV TIME_ZONE="Asia/Shanghai"
+
+RUN mkdir -p /opt/wvp/config /opt/wvp/heapdump /opt/wvp/config /opt/assist/config /opt/assist/heapdump /opt/assist/record
+RUN ln -snf /usr/share/zoneinfo/$TIME_ZONE /etc/localtime && echo '$TIME_ZONE' > /etc/timezone
+
+
+
+
+
+EXPOSE 18080/tcp
+EXPOSE 18081/tcp
+EXPOSE 5060/tcp
+EXPOSE 5060/udp
+
+
+
+WORKDIR /opt/wvp
+CMD ["sh", "/opt/wvp/run.sh"]
\ No newline at end of file
diff --git a/docker/wvp-pro/assist/config/application.yml b/docker/wvp-pro/assist/config/application.yml
new file mode 100644
index 000000000..a64c1c736
--- /dev/null
+++ b/docker/wvp-pro/assist/config/application.yml
@@ -0,0 +1,59 @@
+spring:
+ # REDIS数据库配置
+ redis:
+ # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1
+ host: redis
+ # [必须修改] 端口号
+ port: 6379
+ # [可选] 数据库 DB
+ database: 8
+ # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
+ password:
+ # [可选] 超时时间
+ timeout: 10000
+
+# [可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
+server:
+ port: 18081
+ # [可选] HTTPS配置, 默认不开启
+ ssl:
+ # [可选] 是否开启HTTPS访问
+ enabled: false
+ # [可选] 证书文件路径,放置在resource/目录下即可,修改xxx为文件名
+ key-store: classpath:xxx.jks
+ # [可选] 证书密码
+ key-password: password
+ # [可选] 证书类型, 默认为jks,根据实际修改
+ key-store-type: JKS
+
+# [根据业务需求配置]
+userSettings:
+ # [必选 ] 服务ID
+ id: 334533
+ # [必选 ] zlm配置的录像路径
+ record: /opt/assist/record
+ # [可选 ] 录像保存时长(单位: 天)每天晚12点自动对过期文件执行清理
+ recordDay: 7
+ # [可选 ] 录像下载合成临时文件保存时长, 不配置默认取值recordDay(单位: 天)每天晚12点自动对过期文件执行清理
+ # recordTempDay: 7
+ # [必选 ] ffmpeg路径
+ ffmpeg: /usr/bin/ffmpeg
+ # [必选 ] ffprobe路径, 一般安装ffmpeg就会自带, 一般跟ffmpeg在同一目录,用于查询文件的信息
+ ffprobe: /usr/bin/ffprobe
+ # [可选 ] 限制 ffmpeg 合并文件使用的线程数,间接限制cpu使用率, 默认2 限制到50%
+ threads: 2
+
+swagger-ui:
+
+# [可选] 日志配置, 一般不需要改
+logging:
+ file:
+ name: logs/wvp.log
+ max-history: 30
+ max-size: 10MB
+ total-size-cap: 300MB
+ level:
+ root: WARN
+ top:
+ panll:
+ assist: info
\ No newline at end of file
diff --git a/docker/wvp-pro/assist/download.html b/docker/wvp-pro/assist/download.html
new file mode 100644
index 000000000..f37d68abd
--- /dev/null
+++ b/docker/wvp-pro/assist/download.html
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+ 下载
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docker/wvp-pro/assist/wvp-pro-assist.jar b/docker/wvp-pro/assist/wvp-pro-assist.jar
new file mode 100644
index 000000000..34450b13d
Binary files /dev/null and b/docker/wvp-pro/assist/wvp-pro-assist.jar differ
diff --git a/docker/wvp-pro/wvp/config/application.yml b/docker/wvp-pro/wvp/config/application.yml
new file mode 100644
index 000000000..234aa59e2
--- /dev/null
+++ b/docker/wvp-pro/wvp/config/application.yml
@@ -0,0 +1,94 @@
+spring:
+ # [可选]上传文件大小限制
+ servlet:
+ multipart:
+ max-file-size: 10MB
+ max-request-size: 100MB
+ # REDIS数据库配置
+ redis:
+ # [必须修改] Redis服务器IP, REDIS安装在本机的,使用127.0.0.1
+ host: redis
+ # [必须修改] 端口号
+ port: 6379
+ # [可选] 数据库 DB
+ database: 6
+ # [可选] 访问密码,若你的redis服务器没有设置密码,就不需要用密码去连接
+ password: root
+ # [可选] 超时时间
+ timeout: 10000
+ # mysql数据源
+ datasource:
+ type: com.alibaba.druid.pool.DruidDataSource
+ driver-class-name: com.mysql.cj.jdbc.Driver
+ url: jdbc:mysql://mysql:3306/wvp?useUnicode=true&characterEncoding=UTF8&rewriteBatchedStatements=true&serverTimezone=PRC&useSSL=false&allowMultiQueries=true
+ username: root
+ password: root
+ druid:
+ initialSize: 10 # 连接池初始化连接数
+ maxActive: 200 # 连接池最大连接数
+ minIdle: 5 # 连接池最小空闲连接数
+ maxWait: 60000 # 获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
+ keepAlive: true # 连接池中的minIdle数量以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作。
+ validationQuery: select 1 # 检测连接是否有效sql,要求是查询语句,常用select 'x'。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会起作用。
+ testWhileIdle: true # 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
+ testOnBorrow: false # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+ testOnReturn: false # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
+ poolPreparedStatements: false # 是否開啟PSCache,並且指定每個連線上PSCache的大小
+ timeBetweenEvictionRunsMillis: 60000 # 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒
+ minEvictableIdleTimeMillis: 300000 # 配置一個連線在池中最小生存的時間,單位是毫秒
+ filters: stat,slf4j # 配置监控统计拦截的filters,监控统计用的filter:sta, 日志用的filter:log4j
+ useGlobalDataSourceStat: true # 合并多个DruidDataSource的监控数据
+ # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
+ connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=1000
+ #stat-view-servlet.url-pattern: /admin/druid/*
+
+#[可选] WVP监听的HTTP端口, 网页和接口调用都是这个端口
+server:
+ port: 18080
+
+# 作为28181服务器的配置
+sip:
+ # [必须修改] 本机的IP, 必须是网卡上的IP,用于sip下协议栈监听ip,如果监听所有设置为0.0.0.0
+ monitor-ip: 0.0.0.0
+ # [必须修改] 本机的IP
+ ip: 177.200.0.5
+ # [可选] 28181服务监听的端口
+ port: 5060
+ # 根据国标6.1.2中规定,domain宜采用ID统一编码的前十位编码。国标附录D中定义前8位为中心编码(由省级、市级、区级、基层编号组成,参照GB/T 2260-2007)
+ # 后两位为行业编码,定义参照附录D.3
+ # 3701020049标识山东济南历下区 信息行业接入
+ # [可选]
+ domain: 4401020049
+ # [可选]
+ id: 44010200492000000001
+ # [可选] 默认设备认证密码,后续扩展使用设备单独密码, 移除密码将不进行校验
+ password: admin123
+
+#zlm 默认服务器配置
+media:
+ id: zhulangren001
+ # [必须修改] zlm服务器的http.port
+ http-port: 8100
+ # [可选] zlm服务器的hook.admin_params=secret
+ secret: 035c73f7-bb6b-4889-a715-d9eb2d1925cc
+ # 启用多端口模式, 多端口模式使用端口区分每路流,兼容性更好。 单端口使用流的ssrc区分, 点播超时建议使用多端口测试
+ rtp:
+ # [可选] 是否启用多端口模式, 开启后会在portRange范围内选择端口用于媒体流传输
+ enable: true
+ # [可选] 在此范围内选择端口用于媒体流传输, 必须提前在zlm上配置该属性,不然自动配置此属性可能不成功
+ port-range: 30000,30500 # 端口范围
+ # [可选] 国标级联在此范围内选择端口发送媒体流,
+ send-port-range: 30000,30500 # 端口范围
+ # 录像辅助服务, 部署此服务可以实现zlm录像的管理与下载, 0 表示不使用
+ record-assist-port: 18081
+ # [必须修改] zlm服务器的内网IP
+ ip: ${MEDIA_HOST:192.168.2.33}
+ # [可选] 返回流地址时的ip,置空使用 media.ip
+ stream-ip: ${MEDIA_HOST:192.168.2.33}
+ # [可选] wvp在国标信令中使用的ip,此ip为摄像机可以访问到的ip, 置空使用 media.ip
+ sdp-ip: ${MEDIA_HOST:192.168.2.33}
+ # [可选] zlm服务器的hook所使用的IP, 默认使用sip.ip
+ hook-ip: wvp
+# [可选] 日志配置, 一般不需要改
+logging:
+ config: classpath:logback-spring-local.xml
diff --git a/docker/wvp-pro/wvp/run.sh b/docker/wvp-pro/wvp/run.sh
new file mode 100644
index 000000000..4edb9419f
--- /dev/null
+++ b/docker/wvp-pro/wvp/run.sh
@@ -0,0 +1,7 @@
+#!/bin/bash
+echo ${WVP_IP}
+echo ${WVP_CONFIG}
+cd /opt/assist
+nohup java ${ASSIST_JVM_CONFIG} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/assist/heapdump/ -jar *.jar --spring.config.location=/opt/assist/config/application.yml >assist.log &
+cd /opt/wvp
+nohup java ${WVP_JVM_CONFIG} -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/opt/wvp/heapdump/ -jar *.jar --spring.config.location=/opt/wvp/config/application.yml >wvp.log
diff --git a/docker/wvp-pro/wvp/snap/00404140011180000001_00404140011320000001.jpg b/docker/wvp-pro/wvp/snap/00404140011180000001_00404140011320000001.jpg
new file mode 100644
index 000000000..8a011f94e
--- /dev/null
+++ b/docker/wvp-pro/wvp/snap/00404140011180000001_00404140011320000001.jpg
@@ -0,0 +1,18 @@
+
+
+#### pid=29,cmd=/usr/bin/ffmpeg -i http://127.0.0.1:8100/rtp/00404140011180000001_00404140011320000001.live.flv -y -f mjpeg -t 0.001 /opt/media/bin/www/snap/3599c3378db07991fa6a1404a0c368d0/1673512053.jpeg.tmp #####
+
+ffmpeg version 3.4.11-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
+ built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
+ configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
+ libavutil 55. 78.100 / 55. 78.100
+ libavcodec 57.107.100 / 57.107.100
+ libavformat 57. 83.100 / 57. 83.100
+ libavdevice 57. 10.100 / 57. 10.100
+ libavfilter 6.107.100 / 6.107.100
+ libavresample 3. 7. 0 / 3. 7. 0
+ libswscale 4. 8.100 / 4. 8.100
+ libswresample 2. 9.100 / 2. 9.100
+ libpostproc 54. 7.100 / 54. 7.100
+[tcp @ 0x56200642d540] Connection to tcp://127.0.0.1:8100 failed: Connection refused
+http://127.0.0.1:8100/rtp/00404140011180000001_00404140011320000001.live.flv: Connection refused
diff --git a/docker/wvp-pro/wvp/snap/34020000001110000001_34020000001310000001.jpg b/docker/wvp-pro/wvp/snap/34020000001110000001_34020000001310000001.jpg
new file mode 100644
index 000000000..c335da6ed
--- /dev/null
+++ b/docker/wvp-pro/wvp/snap/34020000001110000001_34020000001310000001.jpg
@@ -0,0 +1,18 @@
+
+
+#### pid=35,cmd=/usr/bin/ffmpeg -i http://127.0.0.1:8100/rtp/34020000001110000001_34020000001310000001.live.flv -y -f mjpeg -t 0.001 /opt/media/bin/www/snap/27b66222e8a2e142ba3197fba95143c2/1673508275.jpeg.tmp #####
+
+ffmpeg version 3.4.11-0ubuntu0.1 Copyright (c) 2000-2022 the FFmpeg developers
+ built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
+ configuration: --prefix=/usr --extra-version=0ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
+ libavutil 55. 78.100 / 55. 78.100
+ libavcodec 57.107.100 / 57.107.100
+ libavformat 57. 83.100 / 57. 83.100
+ libavdevice 57. 10.100 / 57. 10.100
+ libavfilter 6.107.100 / 6.107.100
+ libavresample 3. 7. 0 / 3. 7. 0
+ libswscale 4. 8.100 / 4. 8.100
+ libswresample 2. 9.100 / 2. 9.100
+ libpostproc 54. 7.100 / 54. 7.100
+[tcp @ 0x56193ec68540] Connection to tcp://127.0.0.1:8100 failed: Connection refused
+http://127.0.0.1:8100/rtp/34020000001110000001_34020000001310000001.live.flv: Connection refused
diff --git a/docker/wvp-pro/wvp/wvp-pro.jar b/docker/wvp-pro/wvp/wvp-pro.jar
new file mode 100644
index 000000000..8442c041b
Binary files /dev/null and b/docker/wvp-pro/wvp/wvp-pro.jar differ