648540858
2021-12-08 ab81136765f1b641223b982b2baef13e06307fe4
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java
@@ -78,7 +78,7 @@
         logger.debug(String.format("设备回放 API调用,deviceId:%s ,channelId:%s", deviceId, channelId));
      }
      String uuid = UUID.randomUUID().toString();
      String key = DeferredResultHolder.CALLBACK_CMD_PLAY + deviceId + channelId;
      String key = DeferredResultHolder.CALLBACK_CMD_PLAYBACK + deviceId + channelId;
      DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(30000L);
      Device device = storager.queryVideoDevice(deviceId);
      if (device == null) {
@@ -221,10 +221,10 @@
   @ApiOperation("回放倍速播放")
   @ApiImplicitParams({
         @ApiImplicitParam(name = "streamId", value = "回放流ID", dataTypeClass = String.class),
         @ApiImplicitParam(name = "speed", value = "倍速 1、2、4", dataTypeClass = String.class),
         @ApiImplicitParam(name = "speed", value = "倍速0.25 0.5 1、2、4", dataTypeClass = Double.class),
   })
   @GetMapping("/speed/{streamId}/{speed}")
   public ResponseEntity<String> playSpeed(@PathVariable String streamId, @PathVariable String speed) {
   public ResponseEntity<String> playSpeed(@PathVariable String streamId, @PathVariable Double speed) {
      logger.info("playSpeed: "+streamId+", "+speed);
      JSONObject json = new JSONObject();
      StreamInfo streamInfo = redisCatchStorage.queryPlaybackByStreamId(streamId);
@@ -233,6 +233,11 @@
         logger.warn("streamId不存在!");
         return new ResponseEntity<String>(json.toString(), HttpStatus.BAD_REQUEST);
      }
      if(speed != 0.25 && speed != 0.5 && speed != 1 && speed != 2.0 && speed != 4.0) {
         json.put("msg", "不支持的speed(0.25 0.5 1、2、4)");
         logger.warn("不支持的speed: " + speed);
         return new ResponseEntity<String>(json.toString(), HttpStatus.BAD_REQUEST);
      }
      setCseq(streamId);
      Device device = storager.queryVideoDevice(streamInfo.getDeviceID());
      cmder.playSpeedCmd(device, streamInfo, speed);