我正在为视频流开发一种代理,我现在正在处理与无序接收的数据包相关的问题(没有丢失)。这个问题(可能)是视频播放中经常出现噪音的原因。
您是否知道VLC是否能够重新排序数据包?如果是这样,那就意味着回放中有一些噪音的原因是其他原因,如果没有,我应该开发一个额外的层来确保接收顺序正确。
感谢。
答案 0 :(得分:3)
假设您正在讨论基于UDP的RTP,AFAIK VLC使用live555库来实现客户端RTSP / RTP功能,而live555则内置抖动缓冲区,应该为您重新订购。我不记得手的抖动缓冲区的大小,但100毫秒似乎响了一个铃。
如果您不知道:在开发媒体流应用程序(尤其是UDP)时,增加接收缓冲区的大小非常重要。如果它已满并且数据包被丢弃,这可以解释您的工件。
此外,UDP不可靠意味着如果数据包丢失/损坏并且您没有合适的机制来处理它,您将会遇到伪影。