RTCP(一): RR--Receiver Reports 接收者报告

article/2025/10/1 0:24:51

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,这样的质量网络通话无法完成。只能通过降低比特率,降低打包延时或应用好的错误修复机制来完成。


http://chatgpt.dhexx.cn/article/oOxK8aDr.shtml

相关文章

MFC生成错误msado15.tlh(3991):fatal error C1003: 错误计数超过100;正在停止编译

MFC生成过程产生错误msado15.tlh(3991): fatal error C1003: 错误计数超过 100;正在停止编译 1 问题描述 在MFC生成解决方案过程中,当点击工具栏的生成按钮时, 会出现编译错误的情况: msado15.tlh(3991): fatal error C1003: 错…

webrtc编译中的错误解决

webrtc编译记录 错误1:该错误的意思是python的安装路径要和你此时的webrtc源码的编译路径相同。 解决方法:将python的安装路径和webrtc编译源码的路径放在同一个磁盘下。 错误2:Windows 默认不支持文件名或目录名长于260个字符的&#xff…

rvtptcontrol failed

rvtptcontrol failed RVT00-010:子例行程序 rvtooperation()返回错误。 原因:子例行程序 rvtooperation() 返回内部错误。返回的错误信息为: 措施: 请记下此错误编号以及无法读取例程 &routine 中配置文件选项 INV_DEBUG_TRACE 的值”这…

error C2338: /RTCc rejects conformant code错误解决

在编译一个项目时,发现在调试版本时提示这个出错: 1>------ 已启动生成: 项目: simulation2, 配置: Debug Win32 ------1>precompiled.cpp1>C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\yvals.h(112): error C2338: /RTC…

CSHOP后台设置SMTP发邮件提示 Error: need RCPT command 错误解决

其实错误原因并不是因为此错误,经检测,邮件服务器返回的真实错误是 501 mail from address must be same as authorization user 。只因为同时返回了 503 Error: need MAIL command 和 503 Error: need RCPT command ,而ECSHOP只提示了最后一…

阿里云企业邮箱代理商:foxmal邮件发送RCPT错误怎么办?

阿里云企业邮箱代理商:foxmal邮件发送RCPT错误怎么办? 聚搜云是上海聚搜信息技术有限公司旗下品牌,坐落于魔都上海,服务于全球、2019年成为阿里云代理商生态合作伙伴。与阿里云代理商、腾讯云、西部数码、美橙互联、聚搜云,长期战…

foxmail发生RCPT错误

一, 问题 在前几天来到万达之后电脑要重新装系统,也没管别的就直接装了,然后电脑上所有的东西就没了,在装好之后要安装所需要的软件。安装之后就开始使用,就在使用foxmail的时候遇到问题了,也不知道发生了…

Windows下bat命令启动和关闭jar包

一、启动 这里需要将jar包和bat文件放在同一个目录下 启动命令代码如下 echo off start javaw -jar springboot.jar exit二、关闭 关闭命令代码如下 echo off set port8888 for /f "tokens1-5" %%i in (netstat -ano^|findstr ":%port%") do taskkil…

利用Bat命令批量修改文件名

因为科研需求,需要把文件名规范统一命名。 整体思路: 先获得原始文件名字(带后缀),再导到excel里搞好新名字,构建好Bat的ren函数,完成修改。 具体措施: 1)读取原本文件…

Excel、bat命令批量新建、修改文件或文件名

目录 1.批量新建文件夹2.批量新建文件3.批量提取文件名4.批量重命名文件5.生成目录树 1.批量新建文件夹 打开记事本输入 md 文件;第二个;第三个文件 另存为bat的后缀 双击运行bat文件即可 2.批量新建文件 打开Excel,第一列输入文件名 第二列输入保存路径&a…

windows的bat命令记录

查看防火墙开放端口 首先可以同时按下winr快捷键调出运行菜单,输入cmd命令确定。 点击确定之后进入了命令行的界面,在界面中输入netstat -a的命令。 cd命令 //进入G盘 G://获取帮助 cd /?// 跳转到上一层目录 cd ..// 跳转到其他目录 d://进入到E盘的指定文件夹 cd /d e:\e…

windows10 bat命令获取日期时间

系统版本 win10 英文OS Windows Edition:Windows 10 ProSettings-Language:English(United States) 获取日期命令 完整的日期:date(输出如下图) 裁剪方法:echo %date:~起点位,数据长度% 【英文版】对…

.bat脚本基本命令合集

bat脚本的基本命令语法 一、批处理的常见命令 1、REM 和 :: 2、ECHO 和 3、PAUSE 4、ERRORLEVEL 5、TITLE 6、COLOR 7、mode 配置系统设备 8、GOTO 和 : 9、FIND 10、START 11、assoc 和 ftype 12、pushd 和 popd 13、CALL …

bat命令大全

文章目录 一、bat(批处理文件类型)二、命令简介1.基础语法2.关闭或打开回显命令3.定义变量4.调用变量5.已管理员身份执行了命令提示符6.进入指定路径7.防止dos窗口关闭8.延迟执行命令9.输出信息到控制台10.循环11.调用某个bat文件并执行12.打开某个文件夹…

华为性格测试指导

这是华为网测之后性格测试的指导文章,有兴趣的可以看下。主要是以截图的方式显示的FDF文件,不影响查看。PS:一般网测表现的“拼命点”都能过,除非心理确实不适合华为氛围的,那就不要强求了吧。

【软件测试岗面经分享】华为测试工程师面经,已成功上岸

努力不会白费,成功不会白来 关注小编公众号:《阿里大叔说测试》即可获得由小编精心整理好的大厂面试问题和答案并能够在第一时间获取们后续发布的最新分享和面经。 您的关注就是对我们后续创作的最大支持 前言 十分感谢J的投稿,很高兴能向…

华为性格面试的技巧方法

在网上看到有关于华为的比较好的性格测试攻略,转载造福后来人! 1、几个原则必须要遵守 (1)华为喜欢那种喜欢加班的人,所以必须要能吃苦耐劳不计较报酬 (2)华为喜欢中庸,不要表现自己…

华为性格面试的破解方法

1、几个原则必须要遵守 (1)华为喜欢那种喜欢加班的人,所以必须要能吃苦耐劳不计较报酬 (2)华为喜欢中庸,不要表现自己的特性,有自己性格一定会被刷掉 (3)华为喜欢稳定的&…

华为综合测试备考笔记

首先要明确,企业对应岗位和你合适不合适,如果不合适的话没必要去故意贴合,这样企业能招收到合适的人选,我们也能找到舒心的工作。首先我们要对企业需要的人进行一个群像描绘:华为需要:吃苦耐劳,…

华为性格测试题目讲解

整体分析 性格测试共36页,每页有6个陈述句,对每个陈述句以9点的尺度进行分析,范围从“非常强烈的不同意”到“非常强烈地同意”,并在35分钟内做完; 例如, 如果你对两个或以上陈述句给出相同评分&#xff…