Commit 74d97734bab2479f857add5e6d1ef9007f5f59ee
1 parent
1a1a6878
修复获取推流播放地址接口
Showing
3 changed files
with
58 additions
and
11 deletions
sql/mysql.sql
| ... | ... | @@ -50,7 +50,7 @@ CREATE TABLE `device` ( |
| 50 | 50 | `treeType` varchar(50) COLLATE utf8mb4_general_ci NOT NULL, |
| 51 | 51 | PRIMARY KEY (`id`) USING BTREE, |
| 52 | 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 | 54 | /*!40101 SET character_set_client = @saved_cs_client */; |
| 55 | 55 | |
| 56 | 56 | -- |
| ... | ... | @@ -142,7 +142,7 @@ CREATE TABLE `device_channel` ( |
| 142 | 142 | PRIMARY KEY (`id`) USING BTREE, |
| 143 | 143 | UNIQUE KEY `device_channel_id_uindex` (`id`) USING BTREE, |
| 144 | 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 | 146 | /*!40101 SET character_set_client = @saved_cs_client */; |
| 147 | 147 | |
| 148 | 148 | -- |
| ... | ... | @@ -179,7 +179,7 @@ CREATE TABLE `device_mobile_position` ( |
| 179 | 179 | `latitudeWgs84` double DEFAULT NULL, |
| 180 | 180 | `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, |
| 181 | 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 | 183 | /*!40101 SET character_set_client = @saved_cs_client */; |
| 184 | 184 | |
| 185 | 185 | -- |
| ... | ... | @@ -208,7 +208,6 @@ CREATE TABLE `gb_stream` ( |
| 208 | 208 | `latitude` double DEFAULT NULL, |
| 209 | 209 | `streamType` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, |
| 210 | 210 | `mediaServerId` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL, |
| 211 | - `status` int DEFAULT NULL, | |
| 212 | 211 | `createTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, |
| 213 | 212 | `gpsTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, |
| 214 | 213 | PRIMARY KEY (`gbStreamId`) USING BTREE, |
| ... | ... | @@ -244,7 +243,7 @@ CREATE TABLE `log` ( |
| 244 | 243 | `username` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, |
| 245 | 244 | `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, |
| 246 | 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 | 247 | /*!40101 SET character_set_client = @saved_cs_client */; |
| 249 | 248 | |
| 250 | 249 | -- |
| ... | ... | @@ -455,7 +454,7 @@ CREATE TABLE `stream_proxy` ( |
| 455 | 454 | `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, |
| 456 | 455 | PRIMARY KEY (`id`) USING BTREE, |
| 457 | 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 | 458 | /*!40101 SET character_set_client = @saved_cs_client */; |
| 460 | 459 | |
| 461 | 460 | -- |
| ... | ... | @@ -487,9 +486,10 @@ CREATE TABLE `stream_push` ( |
| 487 | 486 | `serverId` varchar(50) COLLATE utf8mb4_general_ci NOT NULL, |
| 488 | 487 | `pushTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, |
| 489 | 488 | `updateTime` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, |
| 489 | + `status` int DEFAULT NULL, | |
| 490 | 490 | PRIMARY KEY (`id`) USING BTREE, |
| 491 | 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 | 493 | /*!40101 SET character_set_client = @saved_cs_client */; |
| 494 | 494 | |
| 495 | 495 | -- |
| ... | ... | @@ -513,9 +513,9 @@ CREATE TABLE `user` ( |
| 513 | 513 | `username` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, |
| 514 | 514 | `password` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, |
| 515 | 515 | `roleId` int NOT NULL, |
| 516 | - `pushKey` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci default null, | |
| 517 | 516 | `createTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, |
| 518 | 517 | `updateTime` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, |
| 518 | + `pushKey` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL, | |
| 519 | 519 | PRIMARY KEY (`id`) USING BTREE, |
| 520 | 520 | UNIQUE KEY `user_username_uindex` (`username`) USING BTREE |
| 521 | 521 | ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci ROW_FORMAT=DYNAMIC; |
| ... | ... | @@ -527,7 +527,7 @@ CREATE TABLE `user` ( |
| 527 | 527 | |
| 528 | 528 | LOCK TABLES `user` WRITE; |
| 529 | 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 | 531 | /*!40000 ALTER TABLE `user` ENABLE KEYS */; |
| 532 | 532 | UNLOCK TABLES; |
| 533 | 533 | |
| ... | ... | @@ -567,4 +567,4 @@ UNLOCK TABLES; |
| 567 | 567 | /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; |
| 568 | 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 | 3 | import com.alibaba.excel.EasyExcel; |
| 4 | 4 | import com.alibaba.excel.ExcelReader; |
| 5 | 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 | 9 | import com.genersoft.iot.vmp.gb28181.bean.GbStream; |
| 7 | 10 | import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; |
| 8 | 11 | import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage; |
| 12 | +import com.genersoft.iot.vmp.media.zlm.dto.StreamAuthorityInfo; | |
| 9 | 13 | import com.genersoft.iot.vmp.media.zlm.dto.StreamPushItem; |
| 10 | 14 | import com.genersoft.iot.vmp.service.IMediaServerService; |
| 15 | +import com.genersoft.iot.vmp.service.IMediaService; | |
| 11 | 16 | import com.genersoft.iot.vmp.service.IStreamPushService; |
| 12 | 17 | import com.genersoft.iot.vmp.service.impl.StreamPushUploadFileHandler; |
| 13 | 18 | import com.genersoft.iot.vmp.vmanager.bean.BatchGBStreamParam; |
| ... | ... | @@ -30,6 +35,7 @@ import org.springframework.web.bind.annotation.*; |
| 30 | 35 | import org.springframework.web.context.request.async.DeferredResult; |
| 31 | 36 | import org.springframework.web.multipart.MultipartFile; |
| 32 | 37 | |
| 38 | +import javax.servlet.http.HttpServletRequest; | |
| 33 | 39 | import java.io.IOException; |
| 34 | 40 | import java.io.InputStream; |
| 35 | 41 | import java.util.HashMap; |
| ... | ... | @@ -54,6 +60,9 @@ public class StreamPushController { |
| 54 | 60 | @Autowired |
| 55 | 61 | private DeferredResultHolder resultHolder; |
| 56 | 62 | |
| 63 | + @Autowired | |
| 64 | + private IMediaService mediaService; | |
| 65 | + | |
| 57 | 66 | @ApiOperation("推流列表查询") |
| 58 | 67 | @ApiImplicitParams({ |
| 59 | 68 | @ApiImplicitParam(name="page", value = "当前页", required = true, dataTypeClass = Integer.class), |
| ... | ... | @@ -237,5 +246,43 @@ public class StreamPushController { |
| 237 | 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