RTCP RR的格式

接受者报告的RTCP类型是201,如图1.1所示。

图1.1

reporter ssrc

rr报告发送者的ssrc,也就是rtp报文接受者自己的ssrc.

reportee ssrc

rr报告接受者的ssrc,也就是rtp报文发送者的ssrc.

cumulative number of packet lost

累积报文丢失总数,该字段是一个24-bits的有符号整数。

理论计算方式, packet lost = 期待得到报文数量 - 实际收到报文的数量

实际计算方式, packet lost = 期待收到最新sequence - 第一次收到报文的sequence。

需要注意的有一下几点:

* sequence为16位,容易翻转
可以通过计算extend_sequence来区分翻转的sequence。
* packet lost可能为负数
因为有rtp报文的重传,如果重传次数多,可能造成负数
* 该值的测量周期是整个会话
测量周期是整个会话,而不是RR的发送间隔

extended highest sequence number received

计算方法,extended_seq_num = seq_num + (65536 * wrap_around_count)

其中wrap_around_count为sequence翻转的次数

Loss fraction

丢包率,它是定义一个rr发送间隔中rtp报文的丢失率。

它是一个8bits的数据段,计算方法为,loss fraction=lost rate x 256.

举例,丢包率为25%,该字段为25%*256=64

interarrival jitter

这里的延时抖动指的是rtp报文发送方的网络传输时间的变量估计值。

计算单位是基于时间戳的基础单位,也是32位无符号整形。

因为rtp的发送和接收方没有时间同步系统,所以不大可能能准确的测量网络传送时间。

相反,传输时间= |rtp的时间戳-rtp接受者本地时间|

因为没有发送和接收方的时间同步机制,所以这里关心的不是传输时间,是两次接收到rtp报文传输时间的对比,计算公式如图1.2。

图1.2

* R是接收到的时间戳,Rj是packet j接收到的时间戳,Ri是packet i接收到的时间戳
* S是rtp报文的时间戳,Sj是packet j的rtp时间戳,Si是packet i的rtp时间戳
而Jitter的计算公式如图1.3:

图1.3

LSR

LSR: The last sender report timestamp,是最新接收到SR报文的时间戳。
具体值是,SR报文里64位NTP时间戳中的32位bit的时间戳。如果没有收到SR报文,该字段为0.

DLSR

DLSR: The delay since last sender report,是接收到SR报文的时刻与发送该RR报文时刻的时间差值,单位时间是1/65536 seconds. 如果没有收到SR报文,该字段为0.

RTT

RTT: Round-Trip Time,发送者计算的发送来回时间。
发送者可以通过RR报文中的LSR和DLSR来计算RTT。

计算方法: 发送者用接收到RR报文的当前时间-RR报文的LSR,得到发送SR和接收到RR所花费的网络延时。

再进行: (接收到RR报文的当前时间-RR报文的LSR) - RR中的DLSR,也就是去除了在RTP接收者方本地的SR接收和RR发送的延时,这样就得到了RTT。

RTT = 接收到RR报文的当前时间-RR报文的LSR - RR中的DLSR

经验表明,如果RTT大于300ms,这样的质量网络通话无法完成。只能通过降低比特率,降低打包延时或应用好的错误修复机制来完成。

RTCP(一): RR--Receiver Reports 接收者报告相关推荐

  1. rtp rtcp and av sync

    http://hongdow.com/rtp%E3%80%81rtcp%E5%8F%8A%E5%AA%92%E4%BD%93%E6%B5%81%E5%90%8C%E6%AD%A5.html 一.流媒体 ...

  2. [RTC] RTP/RTCPRTSP及音视频同步相关知识

    一.流媒体 流媒体是指在internet中使用流媒体技术的连续时基媒体,例如视频.音频或多媒体文件. 流式传输方式是将音视频.动画等多媒体文件经过压缩后分成一个个小数据包,当用户端发出请求时,由服务器 ...

  3. RTCP关键协议翻译

    原版英文书链接(RTP:Audio and video for the internet.pdf) RTP协议比较简单,因此从第5章节RTCP开始. 5.1 RTCP的组件   一个RTCP的应用有3 ...

  4. RTP/RTCP协议

    ​RTP/RTCP协议背景 流(Streaming)是近年在Internet上出现的新概念,其定义非常广泛,主要是指通过网络传输多媒体数据的技术总称.流媒体包含广义和狭义两种内涵:广义上的流媒体指的是 ...

  5. RTSP/RTP/RTCP协议流程及分析

    RTSP(实时流协议) RTSP中使用会话概念代替连接,由于它本身不与传输层绑定,因此RTSP会话在传输层支持TCP与UDP协议发送请求.RTSP客户机和服务器都可以发出请求,本身并不携带传输的媒体数 ...

  6. 接收方带宽估计的RTCP消息 REMB

    1) What Receiver Estimated Max Bitrate (REMB) 提出了提出了一种RTCP消息,供在实验中使用, 它为基于RTP的媒体流部署了拥塞控制算法. 它还描述了一个绝 ...

  7. 【音视频第9天】WebRTC for the Curious(1)Media Communication

    https://webrtcforthecurious.com/docs/06-media-communication/#adaptive-bitrate-and-bandwidth-estimati ...

  8. 基于Wi-Fi Direct的音频传输系统(APP前端+Java服务端)

    资源下载地址:https://download.csdn.net/download/sheziqiong/85996746 资源下载地址:https://download.csdn.net/downl ...

  9. 计算机网络英文缩写词

    ACK (ACKnowledgement)确认 ADSL (Asymmetric Digital Subscriber Line)非对称数字用户线 AES (Advanced Encryption S ...

最新文章

  1. webpack打开项目命令_webpack前端模块打包工具基本使用的详细记录(一)
  2. Thinkphp3.2学习(一)
  3. 有三AI第一批10个研究小组上线
  4. VC6命令行编译工程方法
  5. Android Service 之 AIDL
  6. ISO13485 相关
  7. python3学哪个版本好玩_python2和python3到底应该学哪个好?
  8. 人工智能自拍之后,会怎样给自己P图?
  9. kaggle比赛——房价预测
  10. myeclipse读取mysql表中数据_在myeclipse中连接mysql查询数据
  11. Web开发中常用的linux命令 详解
  12. access ea 可以联网吗_EA自家Origin平台高级会员Origin Access Premier现已上线
  13. 3mx转osgb_如何将无人机Las点云数据转为Osgb数据
  14. 企业微信机器人定时发送信息
  15. Nat Methods | 德州大学西南医学中心王涛/王莉等开发空间转录组数据降噪的新方法...
  16. 华为HCNA乱学Round 9:VRRP
  17. 快看,这是我为你准备的Python爬取图片教程
  18. 东北女子参加同学聚会倒地猝死,无人参与急救
  19. word每行的末尾箭头怎么去掉_word文档后面的箭头怎么去掉
  20. Tekton实战案例--S2I

热门文章

  1. 竞速游戏任务系统设计
  2. 基础的sql语句练习题+答案
  3. 将图片转化为数据储存
  4. 小程序图片自适应宽高,保持图片比例不变
  5. 教育培训行业现状分析 教育培训行业的基本发展模式、教育培训行业的教学管理现状、教育培训业的未来发展趋势 学大、学而思、新东方为主要案例...
  6. Java的Map(映射)特性及编程思想
  7. Qt: Linux下生成.xlsx文件(excel表格文件)
  8. 问题备忘: httpclient连接池异常引发的惨案
  9. 【无线网络技术专题(十)】企业无线网络规划设计与交付流程
  10. 全局变量的优缺点及为什么要少用全局变量