01
拥塞控制概述
WebRTC实时通信的挑战 · 网络拥塞 · 目标与意义 · 发展简史
入门核心概念
02
网络基础与延迟模型
RTT · RTP/RTCP · 排队延迟 · TCP/UDP差异
基础延迟模型
03
GCC算法总览
Google Congestion Control架构 · 延迟/丢包控制器 · 优缺点
核心GCC
04
基于延迟的拥塞控制
到达时间滤波器 · 过载检测 · 速率控制 · 状态机
延迟状态机
05
到达时间滤波器
卡尔曼滤波器原理 · 到达时间模型 · 参数调优 · 代码思路
滤波器卡尔曼
06
过载检测器
阈值设计 · 过载信号判断 · 自适应阈值 · GCC v1/v2差异
检测自适应
07
速率控制器
AIMD策略 · 增减因子 · 码率更新 · 平滑处理
AIMD码率
08
基于丢包的拥塞控制
丢包率计算 · RTCP RR · 阈值设计 · 与延迟协作
丢包RTCP
09
GCC状态机详解
Hold/Decrease/Increase · 转换条件 · 调试经验
状态机调试
10
Trendline滤波器
线性回归 · 斜率计算 · 窗口选择 · 与卡尔曼对比
趋势线滤波
11
GCC v1 vs v2
架构差异 · 算法改进 · 性能对比 · 部署建议
对比版本
12
REMBB与Transport-CC
Transport-wide CC · REMBB反馈 · 收发端角色
反馈协议
13
Pacing与发送平滑
Pacer作用 · 漏桶/令牌桶 · GCC与Pacer配合
Pacing平滑
14
Probing与带宽探测
Probe机制 · Padding包 · 探测结果处理 · 带宽更新
探测带宽
15
Simulcast/SVC拥塞控制
分层编码带宽分配 · 优先级 · 动态码率调整
SVC分层
16
BBR算法在WebRTC中应用
BBR原理 · 与GCC对比 · WebRTC实现 · 实际效果
BBR谷歌
17
NADA算法详解
Network-Assisted Dynamic Adaptation · 延迟丢包联合控制
NADA联合
18
SCReAM算法详解
Self-Clocked Rate Adaptation · 基于RTT · 与GCC对比
SCReAMRTT
19
拥塞控制与FEC/ARQ联动
前向纠错 · 重传 · 码率冗余权衡 · 案例分析
FECARQ
20
带宽估计器
Acknowledged Bitrate · Loss Rate · Delay-based · 最终决策
估计器码率
21
音频拥塞控制
音频编码器码率控制 · Opus · 音频优先 · 带宽竞争
音频Opus
22
实验环境搭建
Docker · NetEm · 日志分析工具
环境Docker
23
GCC源码分析 (webrtc/src)
关键类/接口 · 调用链 · 核心函数 · 调试技巧
源码C++
24
拥塞控制性能指标
吞吐量 · 延迟 · 抖动 · 公平性 · 收敛速度
指标评估
25
常见问题与调优
带宽估计不准 · 状态切换 · 卡顿花屏 · 参数调优
调优实战
26
5G场景下的挑战
高带宽低延迟 · 突发丢包 · 移动切换 · 算法适配
5G挑战
27
机器学习在拥塞控制中应用
强化学习码率控制 · LSTM预测 · 落地案例
ML强化学习
28
标准化进展
IETF RMCAT · RFC 8888 · 未来方向
标准IETF
29
实战:简易GCC算法
从零搭建GCC · Python仿真 · 与真实WebRTC对比
实战Python
30
课程总结与展望
核心回顾 · 学习路径 · 推荐阅读与开源项目
总结资源