RTP&RTCP

协议标准:RFC 3550

RTP与RTCP是两个不同协议,是两个不同服务,支持多播与单播,一般两者端口相邻,均使用UDP。其中RTP用于数据传输,RTCP用于提供会话状态与质量

RTP

  • 由RTP包头与负载数据组成,大小要求小于1500字节,RTP包头12个字节+CSRC*4

  • RTP头
    image-20210701164424832

    • V:版本
    • p:填充,若设置,说明末端有的填充数据,目的固定长度,为了加密或固定长度传输
    • X:扩展,若设置,说明固定头后面跟随一个头扩展
    • CC:CSRC计数
    • M:标志,标记重要的事件
    • PT:负载类型
    • SSRC:同步源,数据的发送源,如NVR
    • CSRC:贡献源,数据的采集源,比如麦克风,摄像头等

RTCP

  • 用途:提供发送的信息包数目、丢失的信息包数目和信息包的抖动等情况
  • 五种信息包
类型缩写表示用途
200SR(Sender Report)主要信息:RTP时间戳,发送数据量,同步源标识,丢包率,到达间隔抖动,上次发送时间
201RR(Receiver Report)包类型域为201和没有发送者信息外,其它与SR包相同
202SDES(Source Description Items)源点描述
203BYE结束传输
204APP特定应用

SR包结构

image-20210703115956772

SR 包头
  • 采用网络字节序,黄色为必须,绿色由RC确定,蓝色由P确定。
  • V:版本,与RTP包中的相同
  • P:填充比特 表示末端包含一些附加填充比特
  • RC:发送者报告数量
  • PT:包类型,SR=200
  • Length:长度,RTCP包的长度减1。其单位是32比特字
发送者信息
  • SSRC:发送者的同步源标识符

  • NTP时间戳:报告发送时的背景时钟,可以为零

  • RTP时间戳:RTP时间刻度上对应的时间戳

  • 发送报文数:该发送者发送的RTP数据包总数

  • 发送字节数:该发送者发送的RTP数据包字节总数(不包括头和填充)

其他发送源信息
  • 块数等于从上一个报告以来该发送者侦听到的其它源(不包括自身)的数目
  • SSRC_n:同步源标识符
  • 丢包率:上次报告至今的丢包比例,以定点小数的形式表示
  • 累计包丢失数:从开始到现在,源SSRC_nRTP数据包的丢包总数
  • 扩展的最高序列号:低16bit - 从源SSRC_n来的最高接收序列号,高16bit - 序列号周期计数器
  • 到达间隔抖动:RTP数据包到达时刻统计方差的估计值
  • LSR:上一SR报文时间戳,源SSRC_n的最新的SR的NTP时间戳的中间32位
  • DLSR:自上一SR的延时,本包的NTP时间戳-LSR

RR包结构

RR包中各部分除了包类型域为201和没有发送者信息外,其它与SR包相同

的延时,本包的NTP时间戳-LSR

RR包结构

RR包中各部分除了包类型域为201和没有发送者信息外,其它与SR包相同

image-20210705102135767

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值