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,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, |