当前位置: 首页 > 知识库问答 >
问题:

RTP数据包丢失处理

终逸仙
2023-03-14

我正在用c写一个抖动缓冲程序来处理rtp包。这里rtp使用UDP传输,所以连接不可靠,包会不整齐,也会有一些包丢失。如果包的顺序发生变化,我会通过序号(在rtp报头信息中)来排列,但是我怎么处理或者补偿包丢失呢?(因为包丢失不在我手上)

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

共有1个答案

周博达
2023-03-14

你不能。除了捏造丢失的数据外,你什么也做不了。

希望RTP数据包中使用的实际编码能够帮助实际接收者更好地处理数据包丢失。如果不对RTP负载进行解码并充当该负载的编解码器,那么编解码器就不会做任何事情。

在H.264中,每个RTP数据包将包含一个完整的NAL单元、一个NAL单元片段,或者多个NAL单元。H.264编解码器将仅仅期望被馈送NAL单元的流,并且它将知道如果存在分组丢失该怎么办。

 类似资料:
  • 我一直在写一个程序,它使用UDP上的停止和等待协议通过局域网和广域网发送数据包。我最近一直在测试我的程序,并注意到较大的数据包(接近64k字节)的丢包率更高。直觉上这是有道理的,但实际原因是什么?

  • 我对使用PrimeFaces 3.4.1和JSF 2.1.6的dataTable有以下问题。第一次加载页面时,数据表中充满了数据库中的数据,但每当在页面上执行操作(编辑链接、数据表排序或过滤)时,数据表就会丢失其数据。DataTable包含来自此类的元素: 在dataTable上执行操作后进行调试时,我们只在envioDatasujeto字段上保留数据,元素上的其他所有数据都会丢失。 这是xhtm

  • 我正在使用DSS签署Pdf文档。我需要这些文档有时间戳并启用LTV(启用PAdES LTV)。 我遇到了一些关于撤销数据的问题。 我对这个领域有点陌生,所以请容忍我。 我按照DSS本身提供的说明和演示进行操作,但没有效果。 我已经成功地使用PAdES B和PAdES T签署了Pdf,所以我的TSA服务设置正确。 我遇到的问题是,每次我尝试使用LTV签署Pdf时,都会出现以下错误:“eu.europ

  • 我一直在尝试为我的Arduino串行数据创建一个示波器。在Arduino串行绘图仪中,我可以获得合适频率的良好波形,但当我尝试将数据发送到处理时,它无法接收来自Arduino的所有数据。有办法解决这个问题吗? 阿杜伊诺 加工 谢谢

  • 我正在使用java,从服务器收到了一些json字符串。我收到了带有readUTF的json字符串,但是有一些数据丢失了。我没有收到每个json包的前两个字符。另一个问题是收到json字符串有延迟。例如,服务器发送了一个json字符串,客户端无法收到它,直到服务器和客户端发送的大约50个json字符串突然显示所有的json字符串。主要问题是什么? 因为服务器用UTF格式发送数据,所以我不能用Buff

  • 好的,我正在为我的网络课程编程,我必须使用UDP在Java中实现一个项目。我们正在实现一个HTTP服务器和客户端以及一个“gremlin”函数,该函数以指定的概率破坏数据包。HTTP服务器必须在应用层将一个大文件分成多个段,然后通过UDP发送到客户端。客户端必须在应用层重新组装接收到的段。然而,我想知道的是,如果UDP根据定义是不可靠的,为什么我必须在这里模拟不可靠? 我的第一个想法是,也许这仅仅