diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java index c22a5584..c9928470 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java @@ -85,8 +85,19 @@ public class PlayController { public DeferredResult> play(@PathVariable String deviceId, @PathVariable String channelId) { - // 获取可用的zlm + DeferredResult> result = new DeferredResult>(30000L); +//判断设备是否在线以及是否存在 Device device = storager.queryVideoDevice(deviceId); + if (device == null) { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } + if(device.getOnline()==0) + { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } + // 获取可用的zlm MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device); PlayResult playResult = playService.play(newMediaServerItem, deviceId, channelId, null, null); diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/DownloadController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/DownloadController.java index 3f846c60..05afa710 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/DownloadController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/DownloadController.java @@ -93,6 +93,16 @@ public class DownloadController { } resultHolder.put(key, uuid, result); Device device = storager.queryVideoDevice(deviceId); + if (device == null) { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } + //判断设备是否在线,不在线直接返回 + if(device.getOnline()==0) + { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } StreamInfo streamInfo = redisCatchStorage.queryPlaybackByDevice(deviceId, channelId); if (streamInfo != null) { // 停止之前的下载 diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java index fd1f2ab3..c5755be9 100644 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java @@ -85,6 +85,12 @@ public class PlaybackController { result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); return result; } + //判断设备是否在线,不在线直接返回 + if(device.getOnline()==0) + { + result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); + return result; + } MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device); SSRCInfo ssrcInfo = mediaServerService.openRTPServer(newMediaServerItem, null, true);