一、tccClient作用
上篇文章拥塞控制tccServer最后介绍了 tccServer(RTC::TransportCongestionControlServer* tccServer),是用来处理Transport-cc的。当Producer收到对端发送的数据后,进行数据处理然后发送transport-cc反馈报文。
tccClient是收到客户端反馈的transport-cc报文,然后解析出合适码率,作用到PacedSender。这块是webrtc的代码,具体见:
mediasoup\worker\deps\libwebrtc\libwebrtc\* 文件夹。其中gcc处理码率的部分见goog_cc_network_control.cc文件,远端码率估计
见send_side_bandwidth_estimation.cc
libwebrtc\libwebrtc\modules\congestion_controller\goog_cc\goog_cc_network_control.cc
libwebrtc\libwebrtc\modules\bitrate_controller\send_side_bandwidth_estimation.cc
在数据发送给consumer时会进行数据统计,并计算出合适码率。PacedSender是非常重要的内容,这块后面会分析。
二、rtp包收发整个流程
1、Udp