gpt4 book ai didi

android - 如何通过 IP 连接计算视频的丢包率、抖动和 QoS 参数?

转载 作者:太空狗 更新时间:2023-10-29 13:43:12 26 4
gpt4 key购买 nike

我遇到了一个移动应用程序,该应用程序执行语音和视频质量测试以衡量 IP 连接上的语音/视频体验质量。该测试计算远程流的抖动、丢包等值。

我很想知道这是怎么做到的?编写这样的移动应用程序需要什么?

感谢任何形式的帮助。

谢谢。

最佳答案

执行此操作的最简单方法是通过被测网络从设备发送数据,然后在同一设备上再次接收数据。

这使您可以轻松计算每个数据包所花费的时间(延迟)、不同数据包的时间差异(抖动),并检测任何数据包丢失。请注意,数据包丢失是相对的 - 数据包可能只是延迟了很长时间而不是丢失。通常,如果在某个抖动窗口内未收到数据包,则可能会声明该数据包丢失。

在现实世界中,您通常希望从“A”点到“B”点进行测试(即不仅仅是回到“A”点)。对于定期发送数据包的语音或视频编解码器(编码器),这很简单,因为您知道第二个数据包应该在第一个数据包之后的给定时间到达,如果没有,则延迟(或提前到达)。由此您可以计算“B”点的抖动。任何未到达的数据包(在您允许数据​​包到达的期限内)都将被视为丢失的数据包。请注意,样本的编码方式可能会导致抖动计算出现问题,但如果您正在创建一个测试应用程序并在其中自行控制编码,则可以避免这些问题 - 有关更多信息,请参见下面的链接:http://www.cs.columbia.edu/~hgs/rtp/faq.html#jitter

另一件需要注意的事情是你没有提到延迟,但它可能非常重要,因为你的网络可能没有丢包和极好的抖动,但延迟很大,这会对某些应用程序产生巨大影响(例如声音)。作为一个简单但不太现实的例子,从抖动和数据包丢失的角度来看,你有一个完美的网络,但路由器会进行某种安全查找,因此会为每个数据包增加两秒的延迟。因为每个数据包的延迟都相同,所以您的抖动会很好,但是对于双向语音应用程序,“A”点说话的人和“B”点的人听到他们之间的两秒延迟将是一个主要问题。

关于android - 如何通过 IP 连接计算视频的丢包率、抖动和 QoS 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3211088/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com