RFC3550中的Qos参数计算
RTP延时,丢包和抖动计算
延时RTT计算
计算步骤:
- Sender 端发送SR,记录当前NTP时间在SR中。
- Receiver记录上一个SR中的NTP时间,为LSR。
- 记Receiver接收上一个SR到RR发送的时间DLSR
- Sender收到RR的时间记为T。
RTT = T- DLSR - LSR
需要注意的是,SR和RR通常不是一一对应的关系。
丢包计算
expected: 间隔内最大的SN - 最小SN
received: 间隔内收到的所有包数,包括前一个间隔晚到的包,重传的包都算。因此,expected 有可能小于received。
Loss = received / expected
抖动计算
设接收到两个rtp包的时间间隔,换算成以sample为单位。(Rj - Ri)
两个rtp包中rtp时间戳间隔为:(Sj - Si)
则该次jitter为D(i,j) = (Rj - Ri) - (Sj - Si)
总的jitter值取平均,计算公式为:J(i) = J(i-1) + (|D(i-1,i)| - J(i-1))/16