RTCP

RTCP

RTCP Header

492a68c0989f2863e7f5ca31863b5e1bpng

05d558630da7c1edd3a7e926f6fc301bpng

Rtcp Type

5f8dad33064eba934849961b35667630png

cef5adb7a3b0b09a4bd0ef5382180843png

RTCP SR

dbf1ec34c580715224f94422697df938png

  • SR 报告包含一个Sender Info和多个 Receiver Report block

  • SR 中可以携带RR信息, 减少包发送

  • Sender Report block
    51720a1591b517d50dfa7232ab83fbf1png

  • Receive Report block
    194339cb41bf2728e6d936588232a254png

RTCP RR

56ccc7c4e714c6b85b2ce592c94249e4png

  • RR 就是包含了多个Receive Report block
RTCP SDES

be15ef46bfc51682011cb5d1cb33e783png

  • SC : SSRC/CSRC 数量
  • Item : 采用TLV存放描述数据

SDES Item
248be1934becc7dbddf7e23101c7a4ddpng

item 类型
61d127c7e98ed09fa8063e2c8969d782png

RTCP BYE

ff67afe635a866fa5067bb3aad7f2bfdpng

RTCP APP

7d349c7aac5f5f039a2ac5f46d2bbcd4png
59e1f7c7e793805fe1045cc75348213epng

  • APP很少使用,可以通过APP自定义私有报文

以下报文一般用于WebRtc Qos

063cb7fc993b25bb2a8f8d78908c0035png

  • FIR : 请求关键帧
  • NACK :丢包信息,RTPFB中也有一个NACK, webRtc一般使用RTPFB中的Nack,这个NACK用的很少
  • RTPFB : 传输层的FeedBack,如Nack
  • PSFB : 负载层的FeebBack, 如PLI

RTPFB Type
ada8090f8c0c016242fe453db7732473png

PSFB Type
efb7e2ea4ea8e22d8d0ea29894bba06fpng

RTPFB NACK

1436e99966f6235d49c6ad06b99c61eepng

  • BLP表示 PID之后的16个包的丢包状况
  • 比如 BLP最后一位置1,表示PID+1 包丢失,BLP倒数第二位置1,表示PID+2包丢失。

Compound RTCP

简介
  • 多个RTCP包放同一个UDP包中发送
  • 每个RTCP包不需要明确的分割
规则

存疑,实际抓包,并没有必须包含SDES

  • 如果RTCP加密了,CompoundRTCP中必须包含加密前缀(可选)
  • 必须包含SR/RR报文
  • 必须包含SDES报文,SDES可只有一项CNAME Item
  • 可以包含一个或多个FB报文
posted @ 2022-09-27 09:36  Tooosky  阅读(94)  评论(0)    收藏  举报