webrtc笔记-媒体部分(拥塞问题)

本文探讨WebRTC的拥塞控制机制,重点在媒体部分,通过接收RTCP包和发送RTP包的反馈调整码率和发包速率,以确保音视频平稳播放。关键步骤包括:接收RTCP包、接收端和发送端拥塞控制、带宽估算以及PacedSender对RTP发包速率的控制。涉及到的主要算法有基于丢包和延时的带宽估算,这些估算结果用于调整编码质量和发送速率。
摘要由CSDN通过智能技术生成

拥塞控制的目的是通过修改发送速率,发送数据量或清晰度,压缩数据量等控制网络传输,保证音视频平稳播放,故相关算法需有判断网络状态。输入RTCP包和发送RTP包的结果回调,输出码率(带宽估算)和步调,步调是根据码率得到的,最终步调作用于发送RTP的PacedSender控制RTP的发包速率,码率作用于编解码模块ACM控制包的数据量,所以带宽估算是处理拥塞问题的关键。

代码大致流程:
接收RTCP包
ReceiveSideCongestionController 接收端拥塞控制
RtpTransportControllerSend 发送端拥塞控制

发送端RtpTransportControllerSend
RtpTransportControllerSend初始化了NetworkStatePredictorFactoryInterface,NetworkControllerFactoryInterface,BitrateConstraints
主要处理函数及对应算法的处理函数
OnNetworkRouteChanged-OnNetworkRouteChange
OnNetworkAvailability-OnNetworkAvailability
OnSentPacket-OnSentPacket
OnTransportOverheadChanged
OnReceivedEstimatedBitrate-OnRemoteBitrateReport
OnReceivedRtcpReceiverReport-OnReceivedRtcpReceiverReport OnTransportLossReport
OnAddPacket
OnTransportFeedback-OnTransportPacketsFeedback

ChannelSend::RegisterSenderCongestionCont

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值