Merge pull request #753 from lovemen/wvp-28181-2.0
解决上级平台点播proxy代理流时未携带SSRC信息,gbStream采用默认0000000000作为SSRC无法播放问题。以及上级平台点…pull/765/head^2
commit
a5d9afeb60
|
@ -5,6 +5,7 @@ import com.genersoft.iot.vmp.conf.DynamicTask;
|
||||||
import com.genersoft.iot.vmp.conf.UserSetting;
|
import com.genersoft.iot.vmp.conf.UserSetting;
|
||||||
import com.genersoft.iot.vmp.gb28181.bean.*;
|
import com.genersoft.iot.vmp.gb28181.bean.*;
|
||||||
import com.genersoft.iot.vmp.gb28181.event.SipSubscribe;
|
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.session.VideoStreamSessionManager;
|
||||||
import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver;
|
import com.genersoft.iot.vmp.gb28181.transmit.SIPProcessorObserver;
|
||||||
import com.genersoft.iot.vmp.gb28181.transmit.SIPSender;
|
import com.genersoft.iot.vmp.gb28181.transmit.SIPSender;
|
||||||
|
@ -492,6 +493,15 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (gbStream != null) {
|
} 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("push".equals(gbStream.getStreamType())) {
|
||||||
if (streamPushItem != null && streamPushItem.isPushIng()) {
|
if (streamPushItem != null && streamPushItem.isPushIng()) {
|
||||||
// 推流状态
|
// 推流状态
|
||||||
|
@ -818,7 +828,13 @@ public class InviteRequestProcessor extends SIPRequestProcessorParent implements
|
||||||
content.append("s=Play\r\n");
|
content.append("s=Play\r\n");
|
||||||
content.append("c=IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
|
content.append("c=IN IP4 " + mediaServerItem.getSdpIp() + "\r\n");
|
||||||
content.append("t=0 0\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=sendonly\r\n");
|
||||||
content.append("a=rtpmap:96 PS/90000\r\n");
|
content.append("a=rtpmap:96 PS/90000\r\n");
|
||||||
if (sendRtpItem.isTcp()) {
|
if (sendRtpItem.isTcp()) {
|
||||||
|
|
Loading…
Reference in New Issue