发送RTCP到VLC同步多个媒体流的问题
现在已经获得H264视频流和AAC音频流并且RTP打好包发送到VLC能够播放,但是不会同步,或者说是过一段时间会越来越不同步。一段时间后画面或者音频会卡死并且很难恢复,目前我推测的原因是RTP头时间戳差异过大发送包数量不稳定导致的VLC丢弃数据。
所以,我现在想加入RTCP包发送到VLC端。
原H264发送到端口6666,AAC发送端口到6668,那么我的RTCP按道理应该发送到端口+1。
那么问题来了:
1、RTCP是需要两个还是一个?就是说音视频各需要一个RTCP到6667端口和6669端口,还是说只用发送一个RTCP到电脑(如果是,那么发送到哪个端口呢,6667还是6669)?
2、发送RTCP的时候,VLC需不需要相对应的SDP文档来描述,我之前查了一下没查到相关资料。
3、RFC3550说的RTCP至少需要两个包是什么意思,而且SR格式的头后面的report_block n是拿来干嘛的?我发送RTP的时候抓包VLC并没有反馈数据啊。
附:我的SDP
m=video 6666 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=0;profile-level-id=42800D;sprop-parameter-sets=Z0KADNoFB+gG0KE1,aM4G4g==
m=audio 6668 RTP/AVP 97
a=rtpmap:97 mpeg4-generic/44100/1
a=fmtp:97 streamtype=5; profile-level-id=15;mode=AAC-hbr;config=1208; SizeLength=13; IndexLength=3; IndexDeltaLength=3; Profile=1;