1_1.1-拥塞控制体系架构介绍和效果演示.mp49 X4 x; g- n& B8 l$ o
2_1.2-拥塞控制基础知识.mp4( u; N" e; L3 R% l( r/ n* T
3_1.3-从google的一篇论文开始学习之旅.mp4
. N6 ~+ f# u, J4_2.1-实现RTP头部扩展的管理功能.mp4
8 [% Q8 Y, g7 \5 b* f3 P5_2.2-注册transport-cc头部扩展.mp44 d' J* ]4 h; @* i3 i1 ?4 m
6_2.3-详解RTP头部扩展结构.mp40 F. n9 `7 _- A6 l
7_2.4-RTP头部扩展内存分配1.mp4
( g2 @ H/ A/ S; t3 v" v8_2.5-RTP头部扩展内存分配2.mp4; m2 R2 v' |. g: W9 X G" r+ h
9_2.6-RTP头部扩展内存分配3.mp4
+ p7 k% q8 _* a! j( l10_2.7-RTP头部扩展内存分配4.mp4
0 c% H# W; O* |$ Q4 \& @2 y& J11_2.8-RTP头部扩展内存分配5.mp4
1 h& q6 a# K& q8 `0 `& Y2 }12_3.1-写入SequenceNumber扩展.mp4/ V5 m; F% K( A5 Q4 a
13_3.2-处理Feedback包.mp43 ?. j+ ?, h; |- i* W
14_3.3-详解Feedback包结构.mp4
: }5 }7 @! Z* B, W1 S+ w15_3.4-解析Feedback包.mp4, [1 p9 H1 X; n" w; ]
16_3.5-行程长度算法解码数据块.mp4
7 X1 A3 k3 l3 n; _0 V17_3.6-状态矢量算法解码数据块.mp41 [8 U3 ^( w8 D4 |
18_3.7-解析包时间信息以及还原seq_no.mp4 F1 F4 L9 k: @: V% `5 q+ f9 e
19_4.1-创建google拥塞控制模块.mp41 _3 k: p9 ^; K$ t0 K: S' t
20_4.2-使用观察者模式获得Feedback数据.mp4
4 T$ N, x7 y* f( L21_4.3-同wireshark对比验证数据包解析结果.mp4$ x+ g# ?6 F* v- y, O' I
22_4.4-feedback数据结构转换.mp4- t& g& y3 W f1 E' Z; I, ~6 u
23_4.5-在发送端记录RTP包的发送状态.mp4
' o5 L3 j- G+ [% L5 w! `24_4.6-更新RTP包发送后的状态1.mp47 Z& ]* p& w- ?+ t
25_4.7-更新RTP包发送后的状态2.mp45 C0 J! Q7 P7 p
26_4.8-完成Feedback转换成内部的数据结构.mp4
% \" n) I6 s. M! X4 n: [, H27_5.1-创建基于延迟的带宽估计模块.mp40 w% w" Z: r% w D' v9 ?/ {1 R
28_5.2-基于延迟的带宽估计核心原理.mp4, B1 x: I- G! `5 H8 h
29_6.1-创建包组时间差计算类.mp42 J2 C( T$ F7 u3 M4 O
30_6.2-计算包组发送和到达时间差1.mp4- Z8 A2 F4 F/ w! J0 X3 s+ j% C- H# m
31_6.3-计算包组发送和到达时间差2.mp47 M. M! m2 h+ u! \
32_7.1-创建trendline单向延迟趋势估计器.mp4
, g' z* @6 o) d# M33_7.2-线性回归zui小二乘法基本原理.mp4
; d' ^% {! A* ?* @34_7.3-线性回归zui小二乘法样本数据.mp4
( H, p' m; A! n b+ T0 y35_7.4-线性回归zui小二乘法计算trend.mp4# V: n) O, \. P2 }
36_7.5-利用trend进行网络过载检测.mp4
0 R; l9 p X/ t* c37_7.6-过载检测阈值自适应调整.mp4* ?& z1 E- p: ~$ f s
38_7.7-设计实验观察trend和阈值的变化.mp44 o9 \# r7 E& D) Z$ K0 k3 c
39_8.1-创建AIMD码率控制模块.mp44 n' ]* J2 n8 Q w( } s [
40_8.2-网络过载时降低码率.mp4& d( p* V/ i( I0 L
41_8.3-AIMD-判断是否进一步降低码率.mp4, s$ q7 Z0 H% R& X u( K# p0 m
42_8.4-AIMD-未知吞吐量时的码率调整.mp4
; m: K# f9 j: r4 C43_8.5-AIMD-已知吞吐量时的码率调整.mp4' G7 K2 ~' a7 x. d* ^/ u
44_8.6-AIMD-状态机状态转换.mp4
- D9 b# d9 N+ d( o0 P45_8.7-AIMD-估计链路容量.mp4
) F& B; X" {0 b46_8.8-AIMD-加性增加码率.mp4% {7 G9 a j8 I3 T% r: P1 T. e
47_8.9-AIMD-慢启动模式增加码率.mp45 Q2 R! B. b* E' x1 `* s& }8 p
48_8.10-AIMD-乘性降低码率.mp4
/ E! r2 ?! U6 g49_9.1-创建吞吐量估计类.mp41 \" S: E4 c6 l. P3 y2 u( z. ?+ B
50_9.2-贝叶斯估计的基本思想.mp4) H/ k1 `) R( r7 Y4 ?
51_9.3-以时间窗口计算样本码率.mp4+ m y/ o( G: k+ K1 W% V
52_9.4-贝叶斯估计吞吐量.mp4
) D f* a& S$ x) j1 O0 j3 G53_10.1-基于丢包的带宽估计核心原理.mp4- ]+ w ~+ E$ V7 }9 b
54_10.2-根据RR包信息统计丢包指数.mp4
! ` L$ }2 |2 s8 r3 ~! O! L55_10.3-起始阶段的带宽估计.mp4( K: I4 l1 ~' q# v
56_10.4-更新最小码率历史队列.mp4
3 Y, Y6 J' u# @1 P0 F6 M57_10.5-根据丢包率调整目标码率.mp4% e% O' X E: j5 z
58_10.6-更新丢包率和RTT.mp4
" F1 K: ^% d P9 j59_10.7-设置发送码率、max和min码率.mp4
/ B' b* S$ r" }' ^% [2 K60_10.8-更新基于延迟的码率估计值.mp4
+ b1 o& U% r9 x# b5 f61_11.1-更新估计的目标码率到pacer.mp4
* V5 n, @: K: {; U62_11.2-更新估计的目标码率到编码器1.mp4; ~" U" r4 S% K( X7 Q
63_11.3-更新估计的目标码率到编码器2.mp4
+ q( u7 ?3 B. j64_11.4-发送端码率估计测试.mp44 J) @3 s& q" {: X0 l9 c. H |4 ~* w# K
65_11.5-周期性更新目标码率到pacer.mp4# T2 j g, I% B6 |/ t
66_11.6-发送端码率估计小结.mp4+ Q# n4 T: i2 i. \1 j
67_12.1-ALR检测的基本原理和作用.mp4% q! p% b7 n6 Y! ~
68_12.2-创建AlrDetector.mp4, V" g' T. u& @" k# b1 ^, Z$ H" W
69_12.3-更新ALR状态的开始时间.mp4
! ?2 a4 S0 m; }4 d( r70_12.4-设置ALR的带宽估计值.mp4
2 p4 i; u$ |, N* W+ J71_12.5-利用ALR优化吞吐量估计.mp45 b+ p& l: o7 P5 E5 p+ W2 [1 t
72_12.6-利用ALR优化基于延迟的码率估计.mp4
0 @0 t/ y& X, O73_13.1-Probe的基本原理和作用.mp4* p* z( I1 z" e9 P. n l
74_13.2-设置起始码率的时候触发探测.mp47 W* B5 @$ D% o" v: S
75_13.3-初始化Probe.mp4
. W) i( |! I, C8 p1 Q( ]76_13.4-创建ProbeCluster.mp4
" c* D3 w. `7 y y$ w77_13.5-存储ProbeCluster信息到队列.mp4: c8 Y# |' t5 K' x; i; N
78_14.1-启动Probe.mp4
5 n- B( A3 L. l" e; e/ Q79_14.2-Pacer高优执行probe探测任务1.mp4
# E3 Y2 L) K, e5 U- b6 P/ ^, [' M80_14.3-Pacer高优执行probe探测任务2.mp4
: o) {3 I! R7 G' o) B5 f6 x# D81_14.4-更新探测执行后的状态信息.mp43 Z8 `# p1 c, ~* c1 K; B1 ?
82_14.5-构造padding包1.mp4 m; [1 C& f1 a+ g; j1 m
83_14.6-构造padding包2.mp4
1 A/ _) x5 o6 w( P$ S84_15.1-创建Probe码率估计器.mp48 y, o1 O4 N: r
85_15.2-统计Probe结果.mp42 C" q, S5 W0 u" u( I; o
86_15.3-计算Probe码率.mp4 java8.com' @$ F# `& r3 J; Z
87_15.4-获取和重置Probe码率.mp4
8 ?! c4 g* v5 n) k" L$ y+ T, P88_16.1-完善设置起始码率时的探测.mp4; P5 D! w4 e3 B: S0 d7 o
89_16.2-将probe结果作用到基于延迟的码率估计.mp41 q( `( b5 z7 |1 b" L
90_16.3-设置码率估计值.mp4
7 V9 C5 I% t$ c1 l3 _% B91_16.4-主动请求探测1.mp4' `2 {5 {/ F5 {% O! O
92_16.5-主动请求探测2.mp4. F; h, S; t5 E" m
93_16.6-周期性探测处理1.mp44 a$ @( m) Z& T
94_16.7-周期性探测处理2.mp48 _ Z6 T8 \( m; E2 m# d3 e/ b8 D) \2 Y
95_16.8-Probe技术小结.mp4
5 p$ v- C' |1 A9 B. _ Y96_17.1-通过config的方式初始化拥塞控制模块1.mp4( G* N+ Q* z6 X3 ?+ T/ ^* y
97_17.2-通过config的方式初始化拥塞控制模块2.mp4
' ?" w, e$ C: ~: ]0 s0 ?98_18.1-总结和未来工作.mp4
) t8 W- q" G ?5 h; ~8 d音视频QoS优化之WebRTC拥塞控制(GCC)技术深入剖析和代码实战.pdf