如何计算通过IP连接丢包,视频的抖动和QoS参数? [英] How to calculate Packet loss, Jitter and QoS parameters of video over an IP connection?

查看:187
本文介绍了如何计算通过IP连接丢包,视频的抖动和QoS参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我碰到一个移动应用程序,它执行的语音和视频质量测试,得到的语音/视频体验质量的度量通过IP连接。测试计算出抖动的值,远程流数据包丢失等。

I came across a mobile application which performs voice and video quality test to give a measure of the quality of voice/video experience over an IP connection. The test calculates the values of Jitter, Packet loss etc. for the remote stream.

我很好奇,想知道这是怎么正在做?会是什么需要写这样一个移动应用程序?

I am curious to know how this is being done? What would it take to write such an Mobile application?

帮助以任何形式为AP preciated。

Help in any form is appreciated.

感谢。

推荐答案

要做到这一点,最简单的方法是从一个设备发送数据通过网络进行测试,然后再接受它回在同一设备上。

The easiest way to do this is to send data from a device through the network being tested and then receive it back again on the same device.

这使您可以轻松计算出对各分组(延时)的时间,以时间为不同的数据包(抖动)的变化,并检测任​​何数据包丢失。注意,分组丢失是一个相对的事情 - 一个分组可以仅仅延迟时间长,而不是丢失。通常情况下,如果没有在一定的抖动窗口收到一个数据包,可以声明为丢失。

This allows you to easily calculate the time taken for each packet (delay), the variance in time for different packets (jitter), and to detect any packet loss. Note that packet loss is a relative thing - a packet may be just delayed for a long time rather than lost. Typically if a packet is not received within a certain jitter window it may be declared as lost.

在你通常要由点到测试真实世界A到点B(即不只是跳跃等做作回点'A')。对于语音或视频codeC(EN codeR),它发送的数据包以固定的间隔,这是简单,因为你知道,第二个数据包应该在第一个到达一个给定的时间,如果它不被延迟(或已经到来早期)。从这里就可以计算出抖动点'B'的。任何没有到达(你允许的数据包到达的期限内)数据包将被计为丢失的数据包。需要注意的是怎样一个样品是连接codeD可以计算抖动造成的问题,但如果你正在创造你自己控制编码测试的应用程序,你能避免这些问题 - 请参阅下面的链接了解更多关于这一点:的 http://www.cs.columbia.edu/~hgs/rtp/faq。 HTML#抖动

In the real world you usually want to test from point 'A' to point 'B' (i.e. not just loping back to point 'A'). For a voice or video codec (encoder) which sends packets at a regular interval this is straightforward as you know that the second packet should arrive a given time after the first one and if it does not it is delayed (or has arrived early). From this you can calculate the jitter at point 'B'. Any packet not arriving (within the period you allow for packets to arrive) will be counted as a lost packet. Note that how a sample is encoded can cause issue with jitter calculation, although if you are creating a test application where you control the encoding yourself you can avoid these issues - see the link below for more on this: http://www.cs.columbia.edu/~hgs/rtp/faq.html#jitter

另一个需要注意的是,你还没有提到延迟但你可能没有数据包丢失和优异的抖动网络也可以是很重要的,但有一个大的延迟,这可能会对一些应用戏剧性的影响(如语音)。举一个简单的,不是很现实的例子说,你有从一个抖动和丢包点了完善的网络,但有一个路由器,该路由器做某种安全的查找,从而增加了两秒钟的延迟对每个数据包。因为它是相同的延迟为每个数据包的抖动将被罚款,但对于一个双向语音应用程序的人之间的点两秒钟的延迟'A'演讲,有人在点'B'听到他们的将是一个重大问题。

One other thing to note is that you have not mentioned delay but it can be very important as you might have a network with no packet loss and excellent jitter, but with a large delay and this can have a dramatic affect on some applications (e.g. voice). As a simple and not very realistic example say you have a perfect network from a jitter and packet loss point of view, but with a router which does some sort of security lookup and hence adds a two second delay to every packet. Because it is the same delay for each packet your jitter will be fine, but for a two way voice application the two second delay between someone at point 'A' speaking and someone at point 'B' hearing them will be a major issue.

这篇关于如何计算通过IP连接丢包,视频的抖动和QoS参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆