| | |
| | | import com.genersoft.iot.vmp.conf.UserSetting; |
| | | import com.genersoft.iot.vmp.gb28181.bean.*; |
| | | import com.genersoft.iot.vmp.gb28181.event.SipSubscribe; |
| | | import com.genersoft.iot.vmp.gb28181.session.SsrcConfig; |
| | | import com.genersoft.iot.vmp.gb28181.session.VideoStreamSessionManager; |
| | | import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver; |
| | | import com.genersoft.iot.vmp.gb28181.transmit.SIPSender; |
| | |
| | | } |
| | | } |
| | | } else if (gbStream != null) { |
| | | if(ssrc.equals(ssrcDefault)) |
| | | { |
| | | SsrcConfig ssrcConfig = mediaServerItem.getSsrcConfig(); |
| | | if(ssrcConfig != null) |
| | | { |
| | | ssrc = ssrcConfig.getPlaySsrc(); |
| | | ssrcConfig.releaseSsrc(ssrc); |
| | | } |
| | | } |
| | | if("push".equals(gbStream.getStreamType())) { |
| | | if (streamPushItem != null && streamPushItem.isPushIng()) { |
| | | // 推流状态 |
| | |
| | | content.append("s=Play\r\n"); |
| | | content.append("c=IN IP4 " + mediaServerItem.getSdpIp() + "\r\n"); |
| | | content.append("t=0 0\r\n"); |
| | | content.append("m=video " + sendRtpItem.getLocalPort() + " RTP/AVP 96\r\n"); |
| | | // 非严格模式端口不统一, 增加兼容性,修改为一个不为0的端口 |
| | | int localPort = sendRtpItem.getLocalPort(); |
| | | if(localPort == 0) |
| | | { |
| | | localPort = new Random().nextInt(65535) + 1; |
| | | } |
| | | content.append("m=video " + localPort + " RTP/AVP 96\r\n"); |
| | | content.append("a=sendonly\r\n"); |
| | | content.append("a=rtpmap:96 PS/90000\r\n"); |
| | | if (sendRtpItem.isTcp()) { |