diff --git a/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java b/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java index 55bf371e..54007290 100644 --- a/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java +++ b/src/main/java/com/genersoft/iot/vmp/conf/UserSetting.java @@ -43,8 +43,6 @@ public class UserSetting { private Boolean pushAuthority = Boolean.TRUE; - private Boolean gbSendStreamStrict = Boolean.FALSE; - private Boolean syncChannelOnDeviceOnline = Boolean.FALSE; private Boolean sipLog = Boolean.FALSE; @@ -206,14 +204,6 @@ public class UserSetting { this.pushAuthority = pushAuthority; } - public Boolean getGbSendStreamStrict() { - return gbSendStreamStrict; - } - - public void setGbSendStreamStrict(Boolean gbSendStreamStrict) { - this.gbSendStreamStrict = gbSendStreamStrict; - } - public Boolean getSyncChannelOnDeviceOnline() { return syncChannelOnDeviceOnline; } diff --git a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java index c190de18..bec072c0 100644 --- a/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java +++ b/src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java @@ -164,13 +164,9 @@ public class ZLMServerFactory { public SendRtpItem createSendRtpItem(MediaServerItem serverItem, String ip, int port, String ssrc, String platformId, String deviceId, String channelId, boolean tcp, boolean rtcp){ - // 默认为随机端口 - int localPort = 0; - if (userSetting.getGbSendStreamStrict()) { - localPort = sendRtpPortManager.getNextPort(serverItem); - if (localPort == 0) { - return null; - } + int localPort = sendRtpPortManager.getNextPort(serverItem); + if (localPort == 0) { + return null; } SendRtpItem sendRtpItem = new SendRtpItem(); sendRtpItem.setIp(ip); @@ -200,13 +196,10 @@ public class ZLMServerFactory { */ public SendRtpItem createSendRtpItem(MediaServerItem serverItem, String ip, int port, String ssrc, String platformId, String app, String stream, String channelId, boolean tcp, boolean rtcp){ - // 默认为随机端口 - int localPort = 0; - if (userSetting.getGbSendStreamStrict()) { - localPort = sendRtpPortManager.getNextPort(serverItem); - if (localPort == 0) { - return null; - } + + int localPort = sendRtpPortManager.getNextPort(serverItem); + if (localPort == 0) { + return null; } SendRtpItem sendRtpItem = new SendRtpItem(); sendRtpItem.setIp(ip); diff --git a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java index 39f6388f..ddf677ce 100644 --- a/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java +++ b/src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java @@ -133,17 +133,29 @@ public class ApiStreamController { result.put("ChannelName", deviceChannel.getName()); result.put("ChannelCustomName", ""); result.put("FLV", inviteInfo.getStreamInfo().getFlv().getUrl()); - result.put("HTTPS_FLV", inviteInfo.getStreamInfo().getHttps_flv().getUrl()); + if(inviteInfo.getStreamInfo().getHttps_flv() != null) { + result.put("HTTPS_FLV", inviteInfo.getStreamInfo().getHttps_flv().getUrl()); + } result.put("WS_FLV", inviteInfo.getStreamInfo().getWs_flv().getUrl()); - result.put("WSS_FLV", inviteInfo.getStreamInfo().getWss_flv().getUrl()); + if(inviteInfo.getStreamInfo().getWss_flv() != null) { + result.put("WSS_FLV", inviteInfo.getStreamInfo().getWss_flv().getUrl()); + } result.put("RTMP", inviteInfo.getStreamInfo().getRtmp().getUrl()); - result.put("RTMPS", inviteInfo.getStreamInfo().getRtmps().getUrl()); + if (inviteInfo.getStreamInfo().getRtmps() != null) { + result.put("RTMPS", inviteInfo.getStreamInfo().getRtmps().getUrl()); + } result.put("HLS", inviteInfo.getStreamInfo().getHls().getUrl()); - result.put("HTTPS_HLS", inviteInfo.getStreamInfo().getHttps_hls().getUrl()); + if (inviteInfo.getStreamInfo().getHttps_hls() != null) { + result.put("HTTPS_HLS", inviteInfo.getStreamInfo().getHttps_hls().getUrl()); + } result.put("RTSP", inviteInfo.getStreamInfo().getRtsp().getUrl()); - result.put("RTSPS", inviteInfo.getStreamInfo().getRtsps().getUrl()); + if (inviteInfo.getStreamInfo().getRtsps() != null) { + result.put("RTSPS", inviteInfo.getStreamInfo().getRtsps().getUrl()); + } result.put("WEBRTC", inviteInfo.getStreamInfo().getRtc().getUrl()); - result.put("HTTPS_WEBRTC", inviteInfo.getStreamInfo().getRtcs().getUrl()); + if (inviteInfo.getStreamInfo().getRtcs() != null) { + result.put("HTTPS_WEBRTC", inviteInfo.getStreamInfo().getRtcs().getUrl()); + } result.put("CDN", ""); result.put("SnapURL", ""); result.put("Transport", device.getTransport()); diff --git a/src/main/resources/all-application.yml b/src/main/resources/all-application.yml index 99caa02a..695bc748 100644 --- a/src/main/resources/all-application.yml +++ b/src/main/resources/all-application.yml @@ -187,9 +187,6 @@ user-settings: stream-on-demand: true # 推流鉴权, 默认开启 push-authority: true - # 国标级联发流严格模式,严格模式会使用与sdp信息中一致的端口发流,端口共享media.rtp.port-range,这会损失一些性能, - # 非严格模式使用随机端口发流,性能更好, 默认关闭 - gb-send-stream-strict: false # 设备上线时是否自动同步通道 sync-channel-on-device-online: false # 是否使用设备来源Ip作为回复IP, 不设置则为 false