关于RTX要知道的几点信息

image.png
意思就是:
重传rtx包的ssrc ,payload和seq number跟原始收到的rtcp包的这三个值是不一样的。

如何找到RTX包?

image.png

如何知道重传的是哪个包?

image.png
本端发送该包后,接收端收到包,根据OSN,从丢包那边的队列中查找有没有对应的序号,有则代表重传的是那个包。

实操

image.png
1、先找到payload=96的相关信息,然后往下找rtx 97
image.png
2、wireshark捕捉过滤本机发送的rtx流
rtp.p_type==97 and ip.src_host==192.168.1.6
image.png
image.png
获取对端通过nack告诉本端,哪些包丢失了。
这时候需要换一个过滤条件,因为NACK是rtcp payload类型之一的。
image.png
PID 6806, BLP 0x0001,说明丢了两个包,6806,6807
当本端收到该消息,就会往对端发送这两个丢失的包过去。
但这时候,rtx流的ssrc 和payload已经和原始流的不一样了,如何找到它呢?
答案是,借助时间戳。因为rtx发送肯定是在rtcp包接收之后。
先找一个接收的rtcp包的,这里以29220为例子,收到包的时间戳是 178.876269。
image.png
回到rtx的过滤条件,找到它时间戳之后的包
image.png
Payload 前两个字节,是原始流的seq num,计算1a96的十进制值为6806,可以知道跟前面收到的丢失的包6806对上了。
image.png