Browse Source

Merge branch '2.6.8' into wvp-28181-2.0

# Conflicts:
#	src/main/java/com/genersoft/iot/vmp/media/zlm/ZLMServerFactory.java
#	src/main/java/com/genersoft/iot/vmp/web/gb28181/ApiStreamController.java
648540858 2 years ago
parent
commit
e5cba6022f

+ 0 - 10
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;
     }

+ 7 - 14
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);

+ 18 - 6
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());

+ 0 - 3
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