1.
Google Congestion Control(就是WebRTC中用的)
WebRTC通控制发送端数据发送码率来达到控制网络拥塞。
draft-ietf-rmcat-gcc-02.pdf
(较早的草案draft-alvestrand-rmcat-congestion-03.pdf)
2.
(1)从WebRTC的最初级阶段开始,媒体引擎(由Google搭建,但是Firefox和Chrome都在使用)
就是基于远端带宽估计理论而搭建的。正像我之前说的那样,接收端会分析包间延时,
并且会对可用带宽产生一个估计值,然后使用RTCP信息报回给发送端,其中RTCP信息使用了
一种被设计来完成这项工作的信息类型:REMB。
REMB文档: draft-alvestrand-rmcat-remb-03.pdf
(2)另一个关于WebRTC实现的细节是,发送端不会只使用这个在REMB包中接收的带宽估计值,
也会使用反馈的丢包来决定最终发送的目标视频比特率。
send_side_bandwidth_estimation.cc
UpdateEstimate中更新lossRate;
(3)源代码
控制上行带宽的文件在webrtc/modules/bitrate_controller,
下行带宽的文件是webrtc/modules/remote_bitrate_estimator
(4)传输与反馈
#1 传输宽序列号的报头扩展;
#2 传输反馈:接收端会周期性地将包含有关已接收数据包和包间延时的信息反馈给发送端。为了完成这项工作,接收端使用了新的RTCP包(传输反馈)
采用了部分Google建议的规范:https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-00
采用了部分官方标准化:https://www
Google Congestion Control(就是WebRTC中用的)
WebRTC通控制发送端数据发送码率来达到控制网络拥塞。
draft-ietf-rmcat-gcc-02.pdf
(较早的草案draft-alvestrand-rmcat-congestion-03.pdf)
2.
(1)从WebRTC的最初级阶段开始,媒体引擎(由Google搭建,但是Firefox和Chrome都在使用)
就是基于远端带宽估计理论而搭建的。正像我之前说的那样,接收端会分析包间延时,
并且会对可用带宽产生一个估计值,然后使用RTCP信息报回给发送端,其中RTCP信息使用了
一种被设计来完成这项工作的信息类型:REMB。
REMB文档: draft-alvestrand-rmcat-remb-03.pdf
(2)另一个关于WebRTC实现的细节是,发送端不会只使用这个在REMB包中接收的带宽估计值,
也会使用反馈的丢包来决定最终发送的目标视频比特率。
send_side_bandwidth_estimation.cc
UpdateEstimate中更新lossRate;
(3)源代码
控制上行带宽的文件在webrtc/modules/bitrate_controller,
下行带宽的文件是webrtc/modules/remote_bitrate_estimator
(4)传输与反馈
#1 传输宽序列号的报头扩展;
#2 传输反馈:接收端会周期性地将包含有关已接收数据包和包间延时的信息反馈给发送端。为了完成这项工作,接收端使用了新的RTCP包(传输反馈)
采用了部分Google建议的规范:https://tools.ietf.org/html/draft-holmer-rmcat-transport-wide-cc-extensions-00
采用了部分官方标准化:https://www

最低0.47元/天 解锁文章
1729

被折叠的 条评论
为什么被折叠?



