如果你正在做音视频通话、直播连麦或在线教育类产品,大概率遇到过这些情况:画面突然糊成马赛克、声音断断续续、延迟越积越高,明明网络带宽够用,通话质量却像抽签。这类问题的根源往往不在编解码,而在带宽估计与拥塞控制。这门课的主题,正是 WebRTC 中负责这块的核心机制——GCC(Google Congestion Control)。
这门课针对什么工作场景
它不讨论如何调用 WebRTC 的 API 开一个房间,而是聚焦在一条链路上:发送端如何判断当前网络能承载多少码率、如何根据延迟和丢包动态调整发送速率、接收端如何把拥塞信号反馈回去。对应到实际工作,就是当你的产品出现「弱网下卡顿」「多人通话时个别端音画不同步」「码率上不去或降不下来」时,你能定位到是带宽估计环节出了问题,而不是只会在上层调参数。
适合已经接触过 WebRTC、但对其内部传输控制只停留在「知道有 GCC」层面的开发者。如果你还没写过任何音视频收发代码,这门课的门槛会偏高,建议先补齐 RTP/RTCP 和基本收发流程再看。
学完能独立做什么
- 读懂 WebRTC 中带宽估计模块的整体结构,说清发送端与接收端各自负责哪部分计算;
- 理解基于延迟的拥塞控制思路:到达时间滤波、趋势判断、码率调整的触发条件;
- 结合丢包模型判断当前链路状态,区分是带宽不足还是随机丢包;
- 在遇到弱网质量问题时,能沿着「估计值→目标码率→实际发送」这条链路逐段排查,而不是盲调。
需要说明的是,这门课偏向原理剖析与代码实现解读,不是手把手带你从零写一个完整模块。学完你获得的是分析能力和修改方向,能不能落地到自己的项目,取决于你愿不愿意对照源码动手验证。
内容组织与讲解方式
课程从拥塞控制的体系架构讲起,先用效果演示建立直观印象,再补上拥塞控制的基础知识,随后进入具体机制。中间会涉及 RTP 头部扩展、内存分配等容易被忽略但影响实现细节的部分。整体节奏是先建立框架、再钻实现,适合边看边对照代码。
讲解侧重原理与实现的对应关系,也就是「这个公式在代码里对应哪一段、这个判断为什么这么写」。如果你习惯只看结论不看推导,可能会觉得部分内容偏细;但对想真正改代码的人来说,这些细节恰恰是能否改对的关键。
什么基础看它更划算
比较理想的起点是:熟悉 RTP/RTCP 基本概念,了解音视频采集编码发送的大致流程,能看懂 C++ 代码。满足这三点,这门课的信息密度对你是有价值的。如果其中任何一项缺失,建议先补基础,否则容易停在「听懂每个词、连起来不知道在干嘛」的状态。
另外提醒一点:GCC 本身在 WebRTC 中经历过演进,不同版本的实现细节有差异。看课时留意所讲内容对应的版本,避免把旧结论直接套到新代码上。
值不值得投入
如果你所在团队正在自研或深度定制音视频传输,弱网优化是绕不开的坎,那么系统弄懂 GCC 比零散搜博客要省时间,这门课可以作为主线材料。如果你只是做业务层集成、不碰传输层,投入产出比就没那么高,了解概念即可,不必深挖实现。
把它当作一次对传输控制链路的系统梳理,而不是速成秘籍,收获会更实在。
课程目录
51CTO-音视频QoS技术:WebRTC带宽估计 拥塞控制GCC技术深入剖析和实现文档.png [493.5 KB] 47_8.9-AIMD-慢启动模式增加码率.mp4 [141.4 MB] 18_3.7-解析包时间信息以及还原seq_no.mp4 [190.1 MB] 74_13.2-设置起始码率的时候触发探测.mp4 [92.7 MB] 95_16.8-Probe技术小结.mp4 [29.4 MB] 48_8.10-AIMD-乘性降低码率.mp4 [127.1 MB] 2_1.2-拥塞控制基础知识.mp4 [58.5 MB] 71_12.5-利用ALR优化吞吐量估计.mp4 [65.3 MB] 38_7.7-设计实验观察trend和阈值的变化.mp4 [239.4 MB] 34_7.3-线性回归zui小二乘法样本数据.mp4 [118.0 MB] 98_18.1-总结和未来工作.mp4 [36.5 MB] 44_8.6-AIMD-状态机状态转换.mp4 [112.7 MB] 10_2.7-RTP头部扩展内存分配4.mp4 [242.0 MB] 17_3.6-状态矢量算法解码数据块.mp4 [74.5 MB] 93_16.6-周期性探测处理1.mp4 [57.3 MB] 40_8.2-网络过载时降低码率.mp4 [96.6 MB] 72_12.6-利用ALR优化基于延迟的码率估计.mp4 [98.7 MB] 94_16.7-周期性探测处理2.mp4 [18.9 MB] 35_7.4-线性回归zui小二乘法计算trend.mp4 [63.3 MB] 49_9.1-创建吞吐量估计类.mp4 [124.6 MB] 79_14.2-Pacer高优执行probe探测任务1.mp4 [73.5 MB] 11_2.8-RTP头部扩展内存分配5.mp4 [124.9 MB] 13_3.2-处理Feedback包.mp4 [171.9 MB] 51_9.3-以时间窗口计算样本码率.mp4 [92.5 MB] 83_14.6-构造padding包2.mp4 [58.6 MB] 7_2.4-RTP头部扩展内存分配1.mp4 [176.1 MB] 1_1.1-拥塞控制体系架构介绍和效果演示.mp4 [154.3 MB] 76_13.4-创建ProbeCluster.mp4 [98.5 MB] 64_11.4-发送端码率估计测试.mp4 [55.0 MB] 67_12.1-ALR检测的基本原理和作用.mp4 [27.3 MB] 78_14.1-启动Probe.mp4 [104.8 MB] 41_8.3-AIMD-判断是否进一步降低码率.mp4 [92.5 MB] 36_7.5-利用trend进行网络过载检测.mp4 [125.2 MB] 62_11.2-更新估计的目标码率到编码器1.mp4 [85.0 MB] 77_13.5-存储ProbeCluster信息到队列.mp4 [135.3 MB] 42_8.4-AIMD-未知吞吐量时的码率调整.mp4 [63.9 MB] 29_6.1-创建包组时间差计算类.mp4 [131.7 MB] 89_16.2-将probe结果作用到基于延迟的码率估计.mp4 [55.2 MB] 66_11.6-发送端码率估计小结.mp4 [33.2 MB] 6_2.3-详解RTP头部扩展结构.mp4 [121.7 MB] 33_7.2-线性回归zui小二乘法基本原理.mp4 [52.7 MB] 81_14.4-更新探测执行后的状态信息.mp4 [94.9 MB] 27_5.1-创建基于延迟的带宽估计模块.mp4 [104.4 MB] 14_3.3-详解Feedback包结构.mp4 [152.7 MB] 88_16.1-完善设置起始码率时的探测.mp4 [108.3 MB] 9_2.6-RTP头部扩展内存分配3.mp4 [136.1 MB] 12_3.1-写入SequenceNumber扩展.mp4 [96.9 MB] 52_9.4-贝叶斯估计吞吐量.mp4 [133.1 MB] 80_14.3-Pacer高优执行probe探测任务2.mp4 [161.4 MB] 5_2.2-注册transport-cc头部扩展.mp4 [163.9 MB] 65_11.5-周期性更新目标码率到pacer.mp4 [114.8 MB] 46_8.8-AIMD-加性增加码率.mp4 [162.1 MB] 75_13.3-初始化Probe.mp4 [117.6 MB] 91_16.4-主动请求探测1.mp4 [82.6 MB] 39_8.1-创建AIMD码率控制模块.mp4 [116.0 MB] 45_8.7-AIMD-估计链路容量.mp4 [192.7 MB] 70_12.4-设置ALR的带宽估计值.mp4 [61.7 MB] 50_9.2-贝叶斯估计的基本思想.mp4 [51.5 MB] 43_8.5-AIMD-已知吞吐量时的码率调整.mp4 [77.0 MB] 8_2.5-RTP头部扩展内存分配2.mp4 [99.9 MB] 16_3.5-行程长度算法解码数据块.mp4 [145.0 MB] 30_6.2-计算包组发送和到达时间差1.mp4 [152.4 MB] 音视频QoS优化之WebRTC拥塞控制(GCC)技术深入剖析和代码实战.pdf [1.6 MB] 82_14.5-构造padding包1.mp4 [88.0 MB] 31_6.3-计算包组发送和到达时间差2.mp4 [176.1 MB] 97_17.2-通过config的方式初始化拥塞控制模块2.mp4 [27.0 MB] 96_17.1-通过config的方式初始化拥塞控制模块1.mp4 [72.4 MB] 32_7.1-创建trendline单向延迟趋势估计器.mp4 [149.4 MB] 90_16.3-设置码率估计值.mp4 [81.6 MB] 63_11.3-更新估计的目标码率到编码器2.mp4 [126.5 MB] 15_3.4-解析Feedback包.mp4 [109.6 MB] 37_7.6-过载检测阈值自适应调整.mp4 [142.1 MB] 28_5.2-基于延迟的带宽估计核心原理.mp4 [87.5 MB] 4_2.1-实现RTP头部扩展的管理功能.mp4 [204.9 MB] 68_12.2-创建AlrDetector.mp4 [48.0 MB] 73_13.1-Probe的基本原理和作用.mp4 [51.4 MB] 92_16.5-主动请求探测2.mp4 [43.8 MB] 3_1.3-从google的一篇论文开始学习之旅.mp4 [70.6 MB] 69_12.3-更新ALR状态的开始时间.mp4 [121.7 MB] 61_11.1-更新估计的目标码率到pacer.mp4 [177.4 MB] 适合人群 音视频开发者 网络工程师 WebRTC技术爱好者 学习收获 理解WebRTC音视频QoS技术 掌握带宽估计与拥塞控制原理 提升音视频传输质量 祝您学习愉快! 学有所成,前程似锦!






