Commit 74d97734bab2479f857add5e6d1ef9007f5f59ee

Authored by 648540858
1 parent 1a1a6878

修复获取推流播放地址接口

sql/mysql.sql
@@ -50,7 +50,7 @@ CREATE TABLE `device` ( @@ -50,7 +50,7 @@ CREATE TABLE `device` (
50 `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL, 50 `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
51 PRIMARY KEY (`id`) USING BTREE, 51 PRIMARY KEY (`id`) USING BTREE,
52 UNIQUE KEY `device_deviceId_uindex` (`deviceId`) USING BTREE 52 UNIQUE KEY `device_deviceId_uindex` (`deviceId`) USING BTREE
53 -) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 53 +) ENGINE=InnoDB AUTO_INCREMENT=42 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
54 /*!40101 SET character_set_client = @saved_cs_client */; 54 /*!40101 SET character_set_client = @saved_cs_client */;
55 55
56 -- 56 --
@@ -142,7 +142,7 @@ CREATE TABLE `device_channel` ( @@ -142,7 +142,7 @@ CREATE TABLE `device_channel` (
142 PRIMARY KEY (`id`) USING BTREE, 142 PRIMARY KEY (`id`) USING BTREE,
143 UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE, 143 UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE,
144 UNIQUE KEY `device_channel_pk` (`channelId`,`deviceId`) USING BTREE 144 UNIQUE KEY `device_channel_pk` (`channelId`,`deviceId`) USING BTREE
145 -) ENGINE=InnoDB AUTO_INCREMENT=19324 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 145 +) ENGINE=InnoDB AUTO_INCREMENT=19331 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
146 /*!40101 SET character_set_client = @saved_cs_client */; 146 /*!40101 SET character_set_client = @saved_cs_client */;
147 147
148 -- 148 --
@@ -179,7 +179,7 @@ CREATE TABLE `device_mobile_position` ( @@ -179,7 +179,7 @@ CREATE TABLE `device_mobile_position` (
179 `latitudeWgs84` double DEFAULT NULL, 179 `latitudeWgs84` double DEFAULT NULL,
180 `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, 180 `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
181 PRIMARY KEY (`id`) USING BTREE 181 PRIMARY KEY (`id`) USING BTREE
182 -) ENGINE=InnoDB AUTO_INCREMENT=5649 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 182 +) ENGINE=InnoDB AUTO_INCREMENT=6751 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
183 /*!40101 SET character_set_client = @saved_cs_client */; 183 /*!40101 SET character_set_client = @saved_cs_client */;
184 184
185 -- 185 --
@@ -208,7 +208,6 @@ CREATE TABLE `gb_stream` ( @@ -208,7 +208,6 @@ CREATE TABLE `gb_stream` (
208 `latitude` double DEFAULT NULL, 208 `latitude` double DEFAULT NULL,
209 `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 209 `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
210 `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, 210 `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
211 - `status` int DEFAULT NULL,  
212 `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, 211 `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
213 `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, 212 `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
214 PRIMARY KEY (`gbStreamId`) USING BTREE, 213 PRIMARY KEY (`gbStreamId`) USING BTREE,
@@ -244,7 +243,7 @@ CREATE TABLE `log` ( @@ -244,7 +243,7 @@ CREATE TABLE `log` (
244 `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 243 `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
245 `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 244 `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
246 PRIMARY KEY (`id`) USING BTREE 245 PRIMARY KEY (`id`) USING BTREE
247 -) ENGINE=InnoDB AUTO_INCREMENT=29943 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 246 +) ENGINE=InnoDB AUTO_INCREMENT=34997 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
248 /*!40101 SET character_set_client = @saved_cs_client */; 247 /*!40101 SET character_set_client = @saved_cs_client */;
249 248
250 -- 249 --
@@ -455,7 +454,7 @@ CREATE TABLE `stream_proxy` ( @@ -455,7 +454,7 @@ CREATE TABLE `stream_proxy` (
455 `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, 454 `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
456 PRIMARY KEY (`id`) USING BTREE, 455 PRIMARY KEY (`id`) USING BTREE,
457 UNIQUE KEY `stream_proxy_pk` (`app`,`stream`) USING BTREE 456 UNIQUE KEY `stream_proxy_pk` (`app`,`stream`) USING BTREE
458 -) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 457 +) ENGINE=InnoDB AUTO_INCREMENT=66 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
459 /*!40101 SET character_set_client = @saved_cs_client */; 458 /*!40101 SET character_set_client = @saved_cs_client */;
460 459
461 -- 460 --
@@ -487,9 +486,10 @@ CREATE TABLE `stream_push` ( @@ -487,9 +486,10 @@ CREATE TABLE `stream_push` (
487 `serverId` varchar(50) COLLATE utf8mb4_general_ci NOT NULL, 486 `serverId` varchar(50) COLLATE utf8mb4_general_ci NOT NULL,
488 `pushTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, 487 `pushTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
489 `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, 488 `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
  489 + `status` int DEFAULT NULL,
490 PRIMARY KEY (`id`) USING BTREE, 490 PRIMARY KEY (`id`) USING BTREE,
491 UNIQUE KEY `stream_push_pk` (`app`,`stream`) USING BTREE 491 UNIQUE KEY `stream_push_pk` (`app`,`stream`) USING BTREE
492 -) ENGINE=InnoDB AUTO_INCREMENT=305304 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 492 +) ENGINE=InnoDB AUTO_INCREMENT=305315 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
493 /*!40101 SET character_set_client = @saved_cs_client */; 493 /*!40101 SET character_set_client = @saved_cs_client */;
494 494
495 -- 495 --
@@ -513,9 +513,9 @@ CREATE TABLE `user` ( @@ -513,9 +513,9 @@ CREATE TABLE `user` (
513 `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 513 `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
514 `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 514 `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
515 `roleId` int NOT NULL, 515 `roleId` int NOT NULL,
516 - `pushKey` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci default null,  
517 `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 516 `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
518 `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, 517 `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  518 + `pushKey` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL,
519 PRIMARY KEY (`id`) USING BTREE, 519 PRIMARY KEY (`id`) USING BTREE,
520 UNIQUE KEY `user_username_uindex` (`username`) USING BTREE 520 UNIQUE KEY `user_username_uindex` (`username`) USING BTREE
521 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; 521 ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC;
@@ -527,7 +527,7 @@ CREATE TABLE `user` ( @@ -527,7 +527,7 @@ CREATE TABLE `user` (
527 527
528 LOCK TABLES `user` WRITE; 528 LOCK TABLES `user` WRITE;
529 /*!40000 ALTER TABLE `user` DISABLE KEYS */; 529 /*!40000 ALTER TABLE `user` DISABLE KEYS */;
530 -INSERT INTO `user` VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',1,'453df297a57a5a7438934sda801fc3','2021 - 04 - 13 14:14:57','2021 - 04 - 13 14:14:57'); 530 +INSERT INTO `user` VALUES (1,'admin','21232f297a57a5a743894a0e4a801fc3',1,'2021 - 04 - 13 14:14:57','2021 - 04 - 13 14:14:57','453df297a57a5a7438934sda801fc3');
531 /*!40000 ALTER TABLE `user` ENABLE KEYS */; 531 /*!40000 ALTER TABLE `user` ENABLE KEYS */;
532 UNLOCK TABLES; 532 UNLOCK TABLES;
533 533
@@ -567,4 +567,4 @@ UNLOCK TABLES; @@ -567,4 +567,4 @@ UNLOCK TABLES;
567 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; 567 /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
568 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; 568 /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
569 569
570 --- Dump completed on 2022-07-06 9:43:54 570 +-- Dump completed on 2022-07-11 17:32:51
src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java
@@ -3,11 +3,16 @@ package com.genersoft.iot.vmp.vmanager.streamPush; @@ -3,11 +3,16 @@ package com.genersoft.iot.vmp.vmanager.streamPush;
3 import com.alibaba.excel.EasyExcel; 3 import com.alibaba.excel.EasyExcel;
4 import com.alibaba.excel.ExcelReader; 4 import com.alibaba.excel.ExcelReader;
5 import com.alibaba.excel.read.metadata.ReadSheet; 5 import com.alibaba.excel.read.metadata.ReadSheet;
  6 +import com.genersoft.iot.vmp.common.StreamInfo;
  7 +import com.genersoft.iot.vmp.conf.security.SecurityUtils;
  8 +import com.genersoft.iot.vmp.conf.security.dto.LoginUser;
6 import com.genersoft.iot.vmp.gb28181.bean.GbStream; 9 import com.genersoft.iot.vmp.gb28181.bean.GbStream;
7 import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; 10 import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder;
8 import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage; 11 import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage;
  12 +import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo;
9 import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; 13 import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem;
10 import com.genersoft.iot.vmp.service.IMediaServerService; 14 import com.genersoft.iot.vmp.service.IMediaServerService;
  15 +import com.genersoft.iot.vmp.service.IMediaService;
11 import com.genersoft.iot.vmp.service.IStreamPushService; 16 import com.genersoft.iot.vmp.service.IStreamPushService;
12 import com.genersoft.iot.vmp.service.impl.StreamPushUploadFileHandler; 17 import com.genersoft.iot.vmp.service.impl.StreamPushUploadFileHandler;
13 import com.genersoft.iot.vmp.vmanager.bean.BatchGBStreamParam; 18 import com.genersoft.iot.vmp.vmanager.bean.BatchGBStreamParam;
@@ -30,6 +35,7 @@ import org.springframework.web.bind.annotation.*; @@ -30,6 +35,7 @@ import org.springframework.web.bind.annotation.*;
30 import org.springframework.web.context.request.async.DeferredResult; 35 import org.springframework.web.context.request.async.DeferredResult;
31 import org.springframework.web.multipart.MultipartFile; 36 import org.springframework.web.multipart.MultipartFile;
32 37
  38 +import javax.servlet.http.HttpServletRequest;
33 import java.io.IOException; 39 import java.io.IOException;
34 import java.io.InputStream; 40 import java.io.InputStream;
35 import java.util.HashMap; 41 import java.util.HashMap;
@@ -54,6 +60,9 @@ public class StreamPushController { @@ -54,6 +60,9 @@ public class StreamPushController {
54 @Autowired 60 @Autowired
55 private DeferredResultHolder resultHolder; 61 private DeferredResultHolder resultHolder;
56 62
  63 + @Autowired
  64 + private IMediaService mediaService;
  65 +
57 @ApiOperation("推流列表查询") 66 @ApiOperation("推流列表查询")
58 @ApiImplicitParams({ 67 @ApiImplicitParams({
59 @ApiImplicitParam(name="page", value = "当前页", required = true, dataTypeClass = Integer.class), 68 @ApiImplicitParam(name="page", value = "当前页", required = true, dataTypeClass = Integer.class),
@@ -237,5 +246,43 @@ public class StreamPushController { @@ -237,5 +246,43 @@ public class StreamPushController {
237 return result; 246 return result;
238 } 247 }
239 248
  249 + /**
  250 + * 获取推流播放地址
  251 + * @param app 应用名
  252 + * @param stream 流id
  253 + * @return
  254 + */
  255 + @ApiOperation("获取推流播放地址")
  256 + @ApiImplicitParams({
  257 + @ApiImplicitParam(name = "app", value = "应用名", dataTypeClass = String.class),
  258 + @ApiImplicitParam(name = "stream", value = "流id", dataTypeClass = String.class),
  259 + @ApiImplicitParam(name = "mediaServerId", value = "媒体服务器id", dataTypeClass = String.class, required = false),
  260 + })
  261 + @GetMapping(value = "/getPlayUrl")
  262 + @ResponseBody
  263 + public WVPResult<StreamInfo> getPlayUrl(HttpServletRequest request, @RequestParam String app,
  264 + @RequestParam String stream,
  265 + @RequestParam(required = false) String mediaServerId){
  266 + boolean authority = false;
  267 + // 是否登陆用户, 登陆用户返回完整信息
  268 + LoginUser userInfo = SecurityUtils.getUserInfo();
  269 + if (userInfo!= null) {
  270 + authority = true;
  271 + }
  272 +
  273 + StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStreamWithCheck(app, stream, mediaServerId, authority);
  274 +
  275 + WVPResult<StreamInfo> result = new WVPResult<>();
  276 + if (streamInfo != null){
  277 + result.setCode(0);
  278 + result.setMsg("scccess");
  279 + result.setData(streamInfo);
  280 + }else {
  281 + result.setCode(-1);
  282 + result.setMsg("fail");
  283 + }
  284 + return result;
  285 + }
  286 +
240 287
241 } 288 }
web_src/src/components/PushVideoList.vue
@@ -187,7 +187,7 @@ export default { @@ -187,7 +187,7 @@ export default {
187 this.getListLoading = true; 187 this.getListLoading = true;
188 this.$axios({ 188 this.$axios({
189 method: 'get', 189 method: 'get',
190 - url: '/api/media/stream_info_by_app_and_stream', 190 + url: '/api/push/getPlayUrl',
191 params: { 191 params: {
192 app: row.app, 192 app: row.app,
193 stream: row.stream, 193 stream: row.stream,