Browse Source

在点播视频,直播,以及下载视频时判断设备是否在线,如果不在线直接返回400

pull/249/head
邓泽宇 3 years ago
parent
commit
7fc38ad9b3
  1. 13
      src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java
  2. 10
      src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/DownloadController.java
  3. 6
      src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/playback/PlaybackController.java

13
src/main/java/com/genersoft/iot/vmp/vmanager/gb28181/play/PlayController.java

@ -85,8 +85,19 @@ public class PlayController {
public DeferredResult<ResponseEntity<String>> play(@PathVariable String deviceId,
@PathVariable String channelId) {
// 获取可用的zlm
DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(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);

10
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) {
// 停止之前的下载

6
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);

Loading…
Cancel
Save