RTX协议

306 阅读1分钟

关于RTX要知道的几个要点:

  • RTX包有自己的SSRC

  • RTX包有自己的payload type, 在原数据payload type基础上+1

  • RTX包是按自己的sequence number来排序的, 并不跟原数据的seq_num相对应

首先要弄清楚如何找打RTX包:

  1. 找到Offer/Answer的SDP

  2. 从SDP中找到RTC的SSRC

  3. 通过抓包工具抓包, 并过滤出RTX的SSRC

  • RTP Header与前面介绍的RTP协议头格式相同

  • OSN : Original Sequence Number, 占payload的前两个字节, 即原数据中丢失包的seq_num

  • 接收端拿到OSN之后, 再去丢包列表中查找此包,找到则说明重传成功了, 然后拿到后面的payload数据插入RTP包队列中

  • 协议说明: datatracker.ietf.org/doc/html/rf…

那么收到RTX包后, 如何判断它重传的是哪个包?

就是通过上面介绍的RTX中的OSN来找到对应的包.

下面通过抓包来验证以上说法

通过上面的操作, 看到所丢失的6806号包对应RTX中的1a96号包, 即能够解释丢失包与重传包的对应问题.