RTP数据包丢失处理

问题描述 投票:1回答:2

我在c中编写一个抖动缓冲程序来处理rtp数据包。这里RTP使用UDP进行传输,因此连接不可靠,数据包不会有序,也会有一些数据包丢失。如果数据包顺序发生变化,我将通过序列号(在RTP头信息中)安排它们但是我如何处理或补偿丢包?(因为丢包不在我手中)

注意:我正在处理h264作为有效载荷,他们要求我只使用RTP头

c sockets udp rtp rtcp
2个回答
2
投票

你不能。如果没有制作丢失的数据,那么你无能为力。

希望RTP数据包中使用的实际编码可以帮助实际的接收者更好地处理数据包丢失。如果没有解码RTP有效负载并充当有效负载的编解码器,那么编解码器无论如何都无法做到。

对于H.264,每个RTP分组将包含整个NAL单元,NAL单元片段或者可能包含多个NAL单元。 H.264编解码器只是希望能够提供NAL单元流,并且如果存在数据包丢失,IT将知道该怎么做。


0
投票

简而言之,正如其他人所说的那样,你做不到。

如果数据包在统一分发后随机丢失,您可以通过向其添加FEC来保护您的流。

© www.soinside.com 2019 - 2024. All rights reserved.