Webrtc コード読み取り 26 (rtcp パッケージ化モードとプロセス)

1. RTCPパッケージングモード

webrtc コード定義によれば、webrtc でサポートされる rtcp パッケージ化モードは 2 つあります。

enum class RtcpMode { kOff, kCompound, kReducedSize };

Compound モードは RFC 4585 に従う 
ReducedSize モードは RFC 5506 に従う

2 つのモードの違いは次のとおりです。

1. 複合モードの RTCP メッセージには、メッセージを送信するために RR または SR と CNAME SDES が含まれている必要があります。このため、RTCP パケット サイズが比較的大きくなり、フィードバック フィードバック パケットに対する応答速度が比較的遅くなります。

2. ReducedSize モードは、RFC 5506 フィールドで説明されているように、この種の問題を解決します。

 

2. RTCPメッセージ送信処理のコールスタック

ModuleRtpRtcpImpl2::ScheduleRtcpSendEvaluation  //定时调用函数
->ModuleRtpRtcpImpl2::MaybeSendRtcp
->RTCPSender::TimeToSendRTCPReport      //判断发送时间是否到,到就SendRTCP
->RTCPSender::SendRTCP                  //发送RTCP报文
->RTCPSender::ComputeCompoundRTCPPacket //封装RTCP报文
->RTCPSender::PrepareReport
->RTCPSender::SetNextRtcpSendEvaluationDuration //配置下次发送rtcp报文时间

RTCPSender::SendRTCP: 

 

  RTCPSender::ComputeCompoundRTCPパケット:

RTCPSender::PrepareReport 

 

 

おすすめ

転載: blog.csdn.net/CrystalShaw/article/details/131701275