From b4358a6dbe0f2ad1f9b914c166c67e42d5e65ed4 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: Mon, 22 Jan 2024 15:01:56 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=B4=E6=97=B6=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../genersoft/iot/vmp/common/StreamURL.java | 11 +++++++++ .../cmd/impl/SIPCommanderFroPlatform.java | 2 +- .../streamPush/StreamPushController.java | 23 +++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/genersoft/iot/vmp/common/StreamURL.java b/src/main/java/com/genersoft/iot/vmp/common/StreamURL.java index 40bd7e25..397feb38 100644 --- a/src/main/java/com/genersoft/iot/vmp/common/StreamURL.java +++ b/src/main/java/com/genersoft/iot/vmp/common/StreamURL.java @@ -23,6 +23,9 @@ public class StreamURL implements Serializable,Cloneable { @Schema(description = "拼接后的地址") private String url; + @Schema(description = "鉴权的信息") + private String sign; + public StreamURL() { } @@ -65,6 +68,14 @@ public class StreamURL implements Serializable,Cloneable { this.file = file; } + public String getSign() { + return sign; + } + + public void setSign(String sign) { + this.sign = sign; + } + public String getUrl() { return this.toString(); } diff --git a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java index 2640332c..be79b0a6 100755 --- a/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java +++ b/src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommanderFroPlatform.java @@ -746,7 +746,7 @@ public class SIPCommanderFroPlatform implements ISIPCommanderForPlatform { .append("\r\n") .append("RecordInfo\r\n") .append("" +recordInfo.getSn() + "\r\n") - .append("" + deviceChannel.getChannelId() + "\r\n") + .append("" + commonGbChannel.getCommonGbDeviceID() + "\r\n") .append("" + recordInfo.getSumNum() + "\r\n"); if (recordInfo.getRecordList() == null ) { recordXml.append("\r\n"); diff --git a/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java b/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java index bddbaf3d..527ba7a1 100755 --- a/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java +++ b/src/main/java/com/genersoft/iot/vmp/vmanager/streamPush/StreamPushController.java @@ -10,6 +10,7 @@ import com.genersoft.iot.vmp.conf.security.SecurityUtils; import com.genersoft.iot.vmp.conf.security.dto.LoginUser; import com.genersoft.iot.vmp.gb28181.transmit.callback.DeferredResultHolder; import com.genersoft.iot.vmp.gb28181.transmit.callback.RequestMessage; +import com.genersoft.iot.vmp.media.zlm.dto.MediaServerItem; import com.genersoft.iot.vmp.media.zlm.dto.StreamPush; import com.genersoft.iot.vmp.service.IMediaServerService; import com.genersoft.iot.vmp.service.IMediaService; @@ -285,4 +286,26 @@ public class StreamPushController { throw new ControllerException(ErrorCode.ERROR100); } } + + /** + * 根据推流信息获取一个可能的流地址,方便与设备对接 + */ + @PostMapping(value = "/predict") + @ResponseBody + @Operation(summary = "根据推流信息获取一个可能的流地址,方便与设备对接", security = @SecurityRequirement(name = JwtUtils.HEADER)) + public StreamContent predictStream(@RequestBody StreamPush param){ + if (ObjectUtils.isEmpty(param.getApp()) && ObjectUtils.isEmpty(param.getStream())) { + throw new ControllerException(ErrorCode.ERROR400.getCode(), "app或stream不可为空"); + } + MediaServerItem mediaServerItem = null; + if (ObjectUtils.isEmpty(param.getMediaServerId())) { + mediaServerItem = mediaServerService.getMediaServerForMinimumLoad(null); + }else { + mediaServerItem = mediaServerService.getOne(param.getMediaServerId()); + } + StreamInfo streamInfo = mediaService.getStreamInfoByAppAndStream(mediaServerItem, param.getApp(), param.getStream(), null, null); + // 获取登录的用户,添加推流SIGN + + + } }