rtcp字段计算方法
来源:互联网 发布:java编程面试题 编辑:程序博客网 时间:2024/05/20 05:54
RTCP包括五种数据包类型(RFC3550 Page69):
abbrev. name value(该值RTCP头格式中的PT类型字段)
SR sender report 200
RR receiver report 201
SDES source description 202
BYE goodbye 203
APP application-defined 204
RTCP报文格式如下(RFC3550 Page35):
下面解释几个难懂的字段
NTP
Ntp把当前时间(自1970.1.1以来的秒数)分为整数部分N和小数部分X
Ntp高位=整数部分N+2208988800UL (其中2208988800UL表示自1900.1.1到1970.1.1的秒数)
Ntp低位=小数部分X* 4294967296 (其中4294967296为2^32)
RTP时间戳
以sample为单位,如音频8000HZ,一个packet为20ms,则两个rtp时间戳的间隔为160.
从rtp时间戳换算成ms的公式为:
rtp时间戳*1000/samplerate。
Jitter
设接收到两个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
rtcp中jitter值以sample为单位,换算成ms的公式为:jitter*1000/samplerate
LSR
取自上一个接收到的SR包中的ntp值,取值公式为:
ntp_msw&0xffff + ntp_lsw>>16 (取ntp_msw的低16位和ntp_lsw的高16位)
DLSR
从接收到上一个SR包到发送此接收报告块之间的延时,以1/65536秒为单位.
根据LSR和DLSR计算RTT
设接收到该报告块的时间为A,A的计算公式同NTP,并取msw的低16位和lsw的高16位。
RTT=(A-LSR-DLSR)>>16
该公式计算出的RTT以秒为单位
- rtcp字段计算方法
- RTCP TMMBR字段解析
- RTCP中的NTP的时间计算方法
- RTCP中的NTP的时间计算方法
- RTCP中的NTP的时间计算方法
- RTCP中的NTP的时间计算方法
- RTCP中的NTP的时间计算方法
- RTCP中的NTP的时间计算方法
- RTCP中的NTP的时间计算方法
- RTCP中的NTP的时间计算方法
- RTP/RTCP 头部字段介绍
- RTP/RTCP 头部字段介绍
- (VLC中)RTCP中的NTP的时间计算方法
- RTCP
- RTCP
- RTCP
- RTCP
- RTCP
- 彻底解决:@synthesize of 'weak' property is only allowed in ARC or GC mode :问题
- 55,成员变量,全局变量与局部变量的区别
- 56,函数与方法的区别
- ubuntu sogou输入法安装及设置
- Android四大组件简介
- rtcp字段计算方法
- pc,lr相互作用
- Xshell 配色方案
- Mac OS X 启用超级用户 sudo -s 获得系统权限 Mac终端命令
- core animation初识之属性动画
- Postgres常用命令
- 阿里巴巴的五大平台野心,让“连接”论成为过去式
- 基于大数据与深度学习的自然语言对话
- 《算法竞赛入门经典2ndEdition 》习题3-5 谜题(Puzzle, Uva227)