0. 参考文档
[1] google congestion control
[2] Rtp payload format for h264
1. 功能
该模块主要对到达的时间进行小范围内的统计、采样,并根据一定的时间间隔计算出对应的延迟、传输大小变化。
|
|
2. 流程
注:RTP的timestamp默认频率为90kHz。
以发送的时间戳为准,每5ms内发送的包划为一个时间戳范围内,组成一个TimestampGroup,同一个TimestampGroup内的包,后来的时间覆盖先到的。当某个包到来时,根据时间戳判断是一个新的TimestampGroup,此时才会执行延迟差值的计算,计算使用上一个group和当前group的时间值。
注2:这里代码不涉及使用绝对的时间,涉及sdp中的abs_time。
注3:这里默认的一个group时间为5ms,对于rtp的timestamp默认频率,450个rtp timestamp为一个group的tick。
3. 代码
流程比较简单,主要就是new group的判断,以及group时间的更新和差值计算。
|
|