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

pull/249/head
邓泽宇 2021-11-27 19:27:02 +08:00
parent 0cad0920c6
commit 7fc38ad9b3
3 changed files with 28 additions and 1 deletions

View File

@ -85,8 +85,19 @@ public class PlayController {
public DeferredResult<ResponseEntity<String>> play(@PathVariable String deviceId, public DeferredResult<ResponseEntity<String>> play(@PathVariable String deviceId,
@PathVariable String channelId) { @PathVariable String channelId) {
// 获取可用的zlm DeferredResult<ResponseEntity<String>> result = new DeferredResult<ResponseEntity<String>>(30000L);
//判断设备是否在线以及是否存在
Device device = storager.queryVideoDevice(deviceId); 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); MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device);
PlayResult playResult = playService.play(newMediaServerItem, deviceId, channelId, null, null); PlayResult playResult = playService.play(newMediaServerItem, deviceId, channelId, null, null);

View File

@ -93,6 +93,16 @@ public class DownloadController {
} }
resultHolder.put(key, uuid, result); resultHolder.put(key, uuid, result);
Device device = storager.queryVideoDevice(deviceId); 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); StreamInfo streamInfo = redisCatchStorage.queryPlaybackByDevice(deviceId, channelId);
if (streamInfo != null) { if (streamInfo != null) {
// 停止之前的下载 // 停止之前的下载

View File

@ -85,6 +85,12 @@ public class PlaybackController {
result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST)); result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST));
return result; return result;
} }
//判断设备是否在线,不在线直接返回
if(device.getOnline()==0)
{
result.setResult(new ResponseEntity<>(HttpStatus.BAD_REQUEST));
return result;
}
MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device); MediaServerItem newMediaServerItem = playService.getNewMediaServerItem(device);
SSRCInfo ssrcInfo = mediaServerService.openRTPServer(newMediaServerItem, null, true); SSRCInfo ssrcInfo = mediaServerService.openRTPServer(newMediaServerItem, null, true);