2

我正在开发一种用于视频流的代理,我现在正在处理与乱序接收的数据包相关的问题(没有丢失)。这个问题(也许)是视频播放中经常出现噪音的原因。

您是否偶然知道 VLC 是否能够重新排序数据包?如果是这样,这意味着播放中有一些噪音的原因是别的,如果不是,我应该只开发一个额外的层来确保以正确的顺序接收。

谢谢。

4

1 回答 1

3

假设您正在谈论基于 UDP 的 RTP,AFAIK VLC 使用 live555 库来实现客户端 RTSP/RTP 功能,并且 live555 有一个内置的抖动缓冲区,可以为您重新排序。我不记得手部抖动缓冲区的大小,但 100 毫秒似乎敲响了警钟。

如果您不知道:在开发媒体流应用程序(尤其是通过 UDP)时,增加接收缓冲区的大小很重要。如果它已满并且数据包被丢弃,这可以解释您的工件。

此外,UDP 不可靠意味着如果数据包丢失/损坏并且您没有合适的机制来处理它,您将遇到伪影。

于 2012-07-04T18:28:23.970 回答