Como calcular a perda de pacotes, jitter e parâmetros de QoS de vídeo em uma conexão IP?

StackOverflow https://stackoverflow.com/questions/3211088

  •  13-09-2020
  •  | 
  •  

Pergunta

Eu encontrei um aplicativo móvel que realiza teste de qualidade de voz e vídeo para dar uma medida da qualidade da experiência de voz / vídeo em uma conexão IP.O teste calcula os valores do jitter, perda de pacotes etc. para o fluxo remoto.

Estou curioso para saber como isso está sendo feito?O que seria necessário para escrever uma aplicação tão móvel?

Ajuda de qualquer forma é apreciada.

obrigado.

Foi útil?

Solução

A maneira mais fácil de fazer isso é enviar dados de um dispositivo através da rede sendo testada e, em seguida, recebê-lo novamente no mesmo dispositivo.

Isso permite calcular facilmente o tempo gasto para cada pacote (atraso), a variação no tempo para pacotes diferentes (jitter) e detectar qualquer perda de pacotes. Note que a perda de pacotes é uma coisa relativa - um pacote pode ser apenas atrasado por um longo tempo em vez de perdido. Normalmente, se um pacote não for recebido dentro de uma determinada janela do jitter, pode ser declarada como perdida.

No mundo real, você geralmente quer testar do ponto 'a' para apontar 'b' (isto é, não apenas lopando de volta ao ponto 'A'). Para um codec de voz ou vídeo (codificador) que envia pacotes em um intervalo regular, isso é direto como você sabe que o segundo pacote deve chegar a um determinado momento após o primeiro e se não for atrasado (ou chegou cedo). A partir disso, você pode calcular o jitter no ponto 'B'. Qualquer pacote não chegando (dentro do período que você permite que os pacotes cheguem) serão contados como um pacote perdido. Observe que como uma amostra é codificada pode causar problema com o cálculo do jitter, embora se você estiver criando um aplicativo de teste em que você controla a codificação, você pode evitar esses problemas - consulte o link abaixo para mais sobre isso: http://www.cs.columbia.edu/~hgs/rtp/faq.html#jitter

Uma outra coisa a notar é que você não mencionou o atraso, mas pode ser muito importante, pois você pode ter uma rede sem perda de pacotes e excelente jitter, mas com um grande atraso e isso pode ter um afeto dramático em alguns aplicativos (por exemplo, voz). Como um exemplo simples e não muito realista dizer que você tem uma rede perfeita de um ponto de vista do jitter e da perda de pacotes, mas com um roteador que faz algum tipo de pesquisa de segurança e, portanto, adiciona um segundo segundo a cada pacote. Porque é o mesmo atraso para cada pacote que seu jitter ficará bem, mas para uma aplicação de voz de duas vírus, o segundo atraso entre alguém no ponto 'a' falando e alguém no ponto 'B', a audição será uma questão importante. < / p >.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top