648540858
2022-03-16 4a0fd9ead3aaac3b923a9039c08e4de6b345321b
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
@@ -88,7 +88,7 @@
      // 获取可用的zlm
      Device device = storager.queryVideoDevice(deviceId);
      MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device);
      PlayResult playResult = playService.play(newMediaServerItem, deviceId, channelId, null, null);
      PlayResult playResult = playService.play(newMediaServerItem, deviceId, channelId, null, null, null);
      return playResult.getResult();
   }
@@ -109,7 +109,6 @@
      // 录像查询以channelId作为deviceId查询
      String key = DeferredResultHolder.CALLBACK_CMD_STOP + deviceId + channelId;
      resultHolder.put(key, uuid, result);
      Device device = storager.queryVideoDevice(deviceId);
      StreamInfo streamInfo = redisCatchStorage.queryPlayByDevice(deviceId, channelId);
      if (streamInfo == null) {
         RequestMessage msg = new RequestMessage();
@@ -120,16 +119,14 @@
         storager.stopPlay(deviceId, channelId);
         return result;
      }
      cmder.streamByeCmd(deviceId, channelId, streamInfo.getStream(), (event) -> {
      cmder.streamByeCmd(deviceId, channelId, streamInfo.getStream(), null, eventResult -> {
         redisCatchStorage.stopPlay(streamInfo);
         storager.stopPlay(streamInfo.getDeviceID(), streamInfo.getChannelId());
         RequestMessage msg = new RequestMessage();
         msg.setId(uuid);
         msg.setKey(key);
         //Response response = event.getResponse();
         msg.setData(String.format("success"));
         resultHolder.invokeAllResult(msg);
         mediaServerService.closeRTPServer(device, channelId, streamInfo.getStream());
         RequestMessage msgForSuccess = new RequestMessage();
         msgForSuccess.setId(uuid);
         msgForSuccess.setKey(key);
         msgForSuccess.setData(String.format("success"));
         resultHolder.invokeAllResult(msgForSuccess);
      });
      if (deviceId != null || channelId != null) {
@@ -175,7 +172,7 @@
   public ResponseEntity<String> playConvert(@PathVariable String streamId) {
      StreamInfo streamInfo = redisCatchStorage.queryPlayByStreamId(streamId);
      if (streamInfo == null) {
         streamInfo = redisCatchStorage.queryPlaybackByStreamId(streamId);
         streamInfo = redisCatchStorage.queryPlayback(null, null, streamId, null);
      }
      if (streamInfo == null) {
         logger.warn("视频转码API调用失败!, 视频流已经停止!");