panlinlin
2020-12-28 00e61d9a80b5b013a75d1ce567dc997694577a45
src/main/java/com/genersoft/iot/vmp/gb28181/transmit/cmd/impl/SIPCommander.java
@@ -68,6 +68,9 @@
   @Value("${media.rtp.enable}")
   private boolean rtpEnable;
   @Value("${media.seniorSdp}")
   private boolean seniorSdp;
   @Autowired
   private ZLMHttpHookSubscribe subscribe;
@@ -396,6 +399,8 @@
            mediaPort = mediaInfo.getRtpProxyPort();
         }
         String streamMode = device.getStreamMode().toUpperCase();
         if (seniorSdp) {
         if("TCP-PASSIVE".equals(streamMode)) {
            content.append("m=video "+ mediaPort +" TCP/RTP/AVP 126 125 99 34 98 97 96\r\n");
         }else if ("TCP-ACTIVE".equals(streamMode)) {
@@ -420,6 +425,27 @@
            content.append("a=setup:active\r\n");
            content.append("a=connection:new\r\n");
         }
         }else {
            if("TCP-PASSIVE".equals(streamMode)) {
               content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 98 97\r\n");
            }else if ("TCP-ACTIVE".equals(streamMode)) {
               content.append("m=video "+ mediaPort +" TCP/RTP/AVP 96 98 97\r\n");
            }else if("UDP".equals(streamMode)) {
               content.append("m=video "+ mediaPort +" RTP/AVP 96 98 97\r\n");
            }
            content.append("a=recvonly\r\n");
            content.append("a=rtpmap:96 PS/90000\r\n");
            content.append("a=rtpmap:98 H264/90000\r\n");
            content.append("a=rtpmap:97 MPEG4/90000\r\n");
            if("TCP-PASSIVE".equals(streamMode)){ // tcp被动模式
               content.append("a=setup:passive\r\n");
               content.append("a=connection:new\r\n");
            }else if ("TCP-ACTIVE".equals(streamMode)) { // tcp主动模式
               content.append("a=setup:active\r\n");
               content.append("a=connection:new\r\n");
            }
         }
           content.append("y="+ssrc+"\r\n");//ssrc
           
           Request request = headerProvider.createPlaybackInviteRequest(device, channelId, content.toString(), null, "playback", null);