流媒体协议分析之webrtc之rtcp

news2024/10/5 18:24:42

TCP作为RTP控制协议,对于弱网下音视频质量和会话控制具有重要的作用。

1. RTCP Header

V:RTCP的版本号,一定等于2;
P:如果设置,填充位表示数据包包含末尾的附加填充八位字节,不属于控制信息,但包含在长度字段中;
FMT:反馈消息类型,并根据PT类型的不同而含义不同。比如当PT=200时,表示ReportBlock的个数;当PT=205时,表示反馈包的类型,1:NACK丢包重传,15:TWCC拥塞控制
PT:负载类型,详细请看下表
length:此数据包的长度(以32位字节为单位减去1),包括Header和任何填充。

2、RTCP Payload

 RTCP 主要涉及到 3 个 RFC 文档

  • RFC3550 → SR/RR/BYE/APP/SDES
  • RFC4585 → RTPFB/PSFB
  • RFC3611 → XR

3.RTCP发送端报告(SR)

官方文档:RFC 3550 - RTP: A Transport Protocol for Real-Time Applications

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
header |V=2|P|   FMT   |   PT=SR=200   |             length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         SSRC of sender                        |
       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
sender |              NTP timestamp, most significant word             |
info   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |             NTP timestamp, least significant word             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         RTP timestamp                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     sender packet count                       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      sender octet count                       |
       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
report |                 SSRC_1 (SSRC of first source)                 |
block  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1    | fraction lost |       cumulative number of packets lost       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           extended highest sequence number received           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      interarrival jitter                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         last SR (LSR)                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   delay since last SR (DLSR)                  |
       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
  • FMT:在SR中,FMT表示后面跟的report block个数,可以是0个(只发送流),也可以是多个。
  • SSRC of sender:同步源标识符,SR数据包的发起者的编号
  • NTP timestamp:64位无符号整型,表示该SR报文发送的时刻的系统NTP时间;
  • RTP timestamp:32位无符号整型,表示该SR报文发送的时刻的RTP时间,RTP时间戳初始值是随机的,是相对时间,加到最大值后会翻转从0开始;
  • packet count:发送端发送的包总的个数;
  • packet octet:发送端发送的总的字节数;
  • report block相关参数和RR一致,放后面介绍。

3、RTCP接收端报告(RR)

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
header |V=2|P|   FMT   |   PT=RR=201   |             length            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                     SSRC of packet sender                     |
       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
report |                 SSRC_1 (SSRC of first source)                 |
block  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1    | fraction lost |       cumulative number of packets lost       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |           extended highest sequence number received           |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                      interarrival jitter                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                         last SR (LSR)                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                   delay since last SR (DLSR)                  |
       +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
  • FMT:在RR中,FMT同样表示后面跟的report block个数
  • SSRC of sender:同步源标识符,RR数据包的发起者的编号
  • SSRC_1:接收报告块中的信息所属的源的SSRC标识符
  • fraction lost:丢包率,表示来自源 SSRC_n 的 RTP 数据包在上一个 SR 或 RR 包被发送后丢失的部分,表示为一个定点数,二进制点位于字段的左边缘。
  • cumulative number of packets lost:丢失数据包的累积数量,表示自接收开始以来丢失的来自源SSRC_n的RTP数据包的总数。
  • extended highest sequence number received:接收到的扩展最高序列号,低16位表示接收到的RTP包最大序列号,高16位表示RTP包序列号翻转次数。
  • interarrival jitter:到达间隔抖动,指RTP数据包到达间隔时间的统计方差估计值。
  • 计算公式如下:
  • 定义到达间隔抖动值:J,定义偏差值:D,
  • 如果Ri是数据包i以RTP时间戳为单位的到达时间,Si是数据包i的RTP时间戳,那么对于两个数据包i和j,D可以表示为
  • D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)
  • J(i) = J(i-1) + (|D(i-1,i)| - J(i-1))/16
  • 增益参数1/16 提供了良好的降噪比,同时保持了合理的收敛速度
  • LSR:最后接收的SR包里的NTP时间戳,只截取了中间的32bit。如果还没有收到SR,则该字段设置为0。
  • DLSR:自最后接收SR包以来到发送RR包之间的延迟,以 1/65536 秒为单位

4.RTCP RTP Feedback

作为WebRTC RTCP消息中的一种,RTP Feedback包含的内容很多,所以这里单独介绍。
在RTCP Header中,这类消息的负载类型Payload Type=205,反馈消息类型FMT如下:

FMTNameLong NameDescriptionReference
1NACKGeneric negative acknowledgement丢包重传请求RFC4585
3TMMBRTemporary Maximum Media Stream Bit Rate Request临时最大媒体流比特率请求RFC5104
4TMMBNTemporary Maximum Media Stream Bit Rate Notification临时最大媒体流比特率通知RFC5104
7TLLEITransport-Layer Third-Party Loss Early Indication传输层第三方丢失早期指示RFC6642
8ECNExplicit Congestion Notification显式拥塞通知RFC6679
15TWCCTransport Wide Congestion Control传输宽拥塞控制draft-holmer-rmcat-transport-wide-cc-extensions-01

4.1.丢包重传请求(NACK)

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|  FMT=1  |     PT=205    |          length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SSRC of packet sender                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SSRC of media source                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            PID                |             BLP               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • PID:数据包ID, 指丢失的RTP包的序列号。
  • BLP:丢失数据包的位掩码,表示从PID开始往后16个RTP包是否有丢失。如果第i位为1,则说明序列号为PID+i的RTP包丢失,若未丢包该位为0。

4.2 临时最大媒体流比特率请求(​TMMBR)

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|  FMT=3  |     PT=205    |          length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SSRC of packet sender                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SSRC of media source                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | MxTBR Exp |  MxTBR Mantissa                 |Measured Overhead|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • MxTBR Exp:指数
  • MxTBR Mantissa:系数
  • Measured Overhead:测量的平均数据包开销值(以字节为单位)
  • 说明:TMMBR用于流控,接收方向发送方请求按指定的最大比特率传输数据流,通常用于网络抖动情况下保证VOIP通信的流畅性(临时降低质量)。最大比特率 = 系数 * 2^指数。

4.3 临时最大媒体流比特率通知(TMMBN)

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|  FMT=4  |     PT=205    |          length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SSRC of packet sender                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SSRC of media source                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | MxTBR Exp |  MxTBR Mantissa                 |Measured Overhead|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

说明:此反馈消息用于通知TMMBR消息的发送者已收到一条或多条TMMBR消息

4.4 传输层第三方丢失早期指示(TLLEI)

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|  FMT=7  |     PT=205    |          length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SSRC of packet sender                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SSRC of media source                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              PID              |             BLP               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • PID:数据包ID, 指丢失的RTP包的序列号。
  • BPL:丢失数据包的位掩码,表示从PID开始往后16个RTP包是否有丢失。如果第i位为1,则说明序列号为PID+i的RTP包丢失,若未丢包该位为0。

4.5、显式拥塞通知(ECN)

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|  FMT=8  |     PT=205    |          length               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                  SSRC of packet sender                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Extended Highest Sequence Number                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ECT (0) Counter                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ECT (1) Counter                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | ECN-CE Counter                | not-ECT Counter               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   | Lost Packets Counter          | Duplication Counter           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Extended Highest Sequence Number:扩展最大序列号,表示此报告相关的最大 RTP 序列号。
  • ECT (0) Counter :
  • ECT (1) Counter:
  • ECN-CE Counter:
  • not-ECT Counter:
  • Lost Packets Counter:
  • Duplication Counter:

4.6 传输宽拥塞控制(TWCC)

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P|  FMT=15 |    PT=205     |           length              |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     SSRC of packet sender                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      SSRC of media source                     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|      base sequence number     |      packet status count      |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                 reference time                | fb pkt. count |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          packet chunk         |         packet chunk          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.                                                               .
.                                                               .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|         packet chunk          |  recv delta   |  recv delta   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
.                                                               .
.                                                               .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           recv delta          |  recv delta   | zero padding  |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • base sequence number:此反馈中的第一个RTP包序列号
  • packet status count:本次反馈包含的RTP包的总数
  • reference time:表示参考时间,以64ms为单位
  • feedback packet count:反馈数据包计数,用于接收方检测反馈包是否有丢失
  • packet chunk:数据包块,记录RTP包的到达状态,记录的这些RTP包序列号通过base sequence number计算得到
  • recv delta:对于每个“已收到数据包”的状态,也就是收到的RTP包,在recv delta列表中添加对应的的到达时间间隔信息,用于记录RTP包到达时间信息。通过前面的reference time以及recv delta信息,我们就可以得到RTP包到达时间。

5WebRTC RTCP XR

RTCP扩展报告(XR)用于补充RTCP 的发送方报告 (SR) 和接收方报告 (RR) 数据包的报告块中的六个统计信息。

ValueNameNameDescriptionReference
1RRTReceiver Reference Time接收方参考时间rfc3611#section-4.4
2DLSRDelay since the last Sender Report自上次发送方报告以来的延迟rfc3611#section-4.5

        5.1  接收方参考时间(RRT)

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|reserved |   PT=XR=207   |             length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SSRC                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     BT=4      |   reserved    |       block length = 2        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |              NTP timestamp, most significant word             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             NTP timestamp, least significant word             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • block type(BT):块类型,该报告块为常数4
  • block length:块长度,2*32bit
  • NTP timestamp:64bit的NTP系统时间

    5.2 自上次发送方报告以来的延迟(DLSR)

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |V=2|P|reserved |   PT=XR=207   |             length            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                              SSRC                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     BT=5      |   reserved    |         block length          |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |                 SSRC_1 (SSRC of first receiver)               | sub-
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block
   |                         last RR (LRR)                         |   1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                   delay since last RR (DLRR)                  |
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
   |                 SSRC_2 (SSRC of second receiver)              | sub-
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ block
   :                               ...                             :   2
   +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
  • block type(BT):块类型,该报告块为常数5
  • block length:块长度,3*32bit
  • last RR(LRR):最后接收的RRT包里的NTP时间戳,只截取了中间的32bit。如果还没有收到RRT,则该字段设置为0。
  • delay since last RR(DLRR):自最后接收RRT包以来到发送DLSR之间的延迟,以 1/65536 秒为单位

接收方发送RTCP-XR RRT后,发送方在下次的RTCP中携带RTCP-XR DLSR,可以使接收方估算出网络的RTT参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84529.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CV-对比学习:概述【通过自监督学习,充分挖掘模型从海量无标注数据中学习通用知识的能力】

对比学习从目标来看,是要做在NLP类型类似Bert预训练的事,即通过自监督学习,充分挖掘模型从海量无标注数据中学习通用知识的能力。 大致分类 对比学习目前可大致可分为 基于负例的对比学习方法基于对比聚类的方法基于不对称网络结构的方法基…

PLC SECS/GEM解决方案,设计与应用

1 适用性 金南瓜SECS是最适应于全自动智能设备的选择。 适用行业:半导体、光伏、PCB等 全面支持E5、E30、E37、E40、E87、E90、E94、E116 PLC SECS/GEM具有怪兽级的强劲性能,处理性能高达10ms/条,全面升级的高适应性,易用友好的S…

30.前端笔记-CSS-CSS3的新特性

1、CSS3新增选择器 属性选择器,权重为10结构伪类选择器,权重为10伪元素选择器,权重为10 1.1 属性选择器 用属性选择器可以不用借助类或id选择器 语法: 正则表达式:^表示开头,$表示结尾,*表示任意 /*标…

怎么提高客服人员效率?

为了给客户提供更好的服务,很多企业会为自己网站配置客服服务,方便随时和客户沟通。但是凡事有利便有弊。虽然和客户接触的机会变多了,但是沟通不及时、回答不专业、问题处理时间长等问题也可能随之出现,反而会给客户带来不好的印…

[附源码]Python计算机毕业设计Django的个人理财系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

OpenCV-Python小应用(七):获取图片ROI的HSV取值范围

OpenCV-Python小应用(七):获取图片ROI的HSV取值范围前言前提条件实验环境获取图片ROI的HSV取值范围参考文献前言 本文是个人使用OpenCV-Python的应用案例,由于水平有限,难免出现错漏,敬请批评改正。更多精彩…

基于无人机的移动边缘计算网络研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

socket网络字节序以及大端序小端序

不同CPU中,4字节整数1在内存空间的存储方式是不同的。4字节整数1可用2进制表示如下: 00000000 00000000 00000000 00000001 有些CPU以上面的顺序存储到内存,另外一些CPU则以倒序存储,如下所示: 00000001 00000000 0…

【Spring】SpringBoot 配置 logback 日志

1. 概述 日志在一个业务系统重非常重要,包含有非常重要的数据,可以用于客户反馈问题的排查、线上问题的追踪,以及根据日志数据对业务情况进行有效的监控配置,及时发现线上问题。 常用的日志框架有好几种,但最常用的是…

[附源码]Node.js计算机毕业设计大学校园兼职网站Express

项目运行 环境配置: Node.js最新版 Vscode Mysql5.7 HBuilderXNavicat11Vue。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分离等等。 环境需要 1.运行环境:最好是Nodejs最新版,我…

【观察】定义下一代云原生实时数仓,SelectDB Cloud“打了个样”

2020年,国家在《关于构建更加完善的要素市场化配置体制机制的意见》中,首次将数据与土地、资本、劳动力并列为关键生产要素,并提出加快培育数据要素市场的愿景,此举可谓意义重大。背后的原因是,当下中国企业正在加速从…

【车载开发系列】UDS诊断---写入内存($0x3D)

【车载开发系列】UDS诊断—写入内存($0x3D) UDS诊断---写入内存($0x3D)【车载开发系列】UDS诊断---写入内存($0x3D)一.概念定义二.报文格式1)请求报文2)肯定响应3)否定响…

Redis实战——消息队列

目录 1. 什么是消息队列? 2. 基于List结构模拟消息队列 3. 基于PubSub的消息队列 4. 基于Stream的消息队列 4.1 基于Stream的单消费者模式 4.2 基于Stream的消息队列-消费者组 1. 什么是消息队列? 字面意思就是存放消息的队列。最简单的消息队列模…

学习参数化计算优化风扇定位step by step

一、写在前面 本教程的目的是演示ANSYS Icepak的参数和优化功能。假定读者已经熟悉ANSYS Icepak界面,但是缺乏实战经验。 在这个案例中,读者可以掌握: 1、使用Network网络热阻Block来模拟IC芯片封装模型。 2、将变量定义为参数并通过参数…

算法竞赛入门【码蹄集进阶塔335题】(MT2226-2250)

算法竞赛入门【码蹄集进阶塔335题】(MT2226-2250) 文章目录算法竞赛入门【码蹄集进阶塔335题】(MT2226-2250)前言为什么突然想学算法了?为什么选择码蹄集作为刷题软件?目录1. MT2226 36进制22. MT2227 36进制33. MT2228 36进制44.…

电商、线上教育、在线医疗等必备资质——ICP许可证 。

危中有机,疫情也概莫能外。一场突如其来的疫情,引发了消费、健康、办公、学习等领域的新变革,电商、短视频、游戏、线上教育、在线医疗、知识付费等“互联网”项目,再次迎来发展机遇。 然而,如果想要借助互联网进行经…

[附源码]Python计算机毕业设计大学生网上书店Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等…

type 与 interface

type 与 interface 官方文档是这么说的: For the most part, you can choose based on personal preference, and TypeScript will tell you if it needs something to be the other kind of declaration. If you would like a heuristic, use interface until you…

基于C#+SQL Server2008实现(WinForm)学生宿舍管理系统【100010029】

1 概述 本次课程设计是数据库课程设计,我选的是学生宿舍管理系统,功能块主要是宿舍管理、学生管理、出入登记和来访登记,目的在于将学生宿舍的管理实现信息化,监控学生宿舍的情况防止意外发生。 课程设计任务的需求分析 2.1设计…

01算法的概念

开始系统学习算法啦!为后面力扣和蓝桥杯的刷题做准备!这个专栏将记录自己学习算法是的笔记,包括概念,算法运行过程,以及代码实现,希望能给大家带来帮助,感兴趣的小伙伴欢迎评论区留言或者私信博…