Как рассчитать потери пакета, дрожания и QoS параметров видео через IP-соединение?

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

  •  13-09-2020
  •  | 
  •  

Вопрос

Я наткнулся на мобильное приложение, которое выполняет тест на качество голоса и видео, чтобы дать меру качества голосового / видео опыта над IP-соединением.Испытание рассчитывает значения джиттера, потери пакетов и т. Д. Для удаленного потока.

Мне интересно знать, как это делается?Что бы потребовать, чтобы написать такое мобильное приложение?

Помощь в любой форме ценится.

спасибо.

Это было полезно?

Решение

Самый простой способ сделать это - отправлять данные с устройства через тестируемую сеть, а затем снова получить его снова на одном устройстве.

Это позволяет легко рассчитать время, предпринимаемое для каждого пакета (задержки), дисперсия во времени для разных пакетов (джиттер) и для обнаружения любой потери пакета. Обратите внимание, что потеря пакета - это относительная вещь - пакет может быть только что задерживается в течение длительного времени, а не потерян. Как правило, если пакет не получен в определенном окне дрожания, он может быть объявлен как потерян.

В реальном мире вы обычно хотите проверить от точки «a», чтобы указать «B» (то есть не просто, чтобы вернуться к точке «A»). Для голосового или видеокодека (Encoder), который отправляет пакеты на регулярном интервале, это просто, поскольку вы знаете, что второй пакет должен прийти в данный момент после первого, и если он не задерживается (или приехал рано). Из этого вы можете рассчитать джиттер в точку «B». Любой пакет не приходит (в течение периода, который вы допускаете прибытие пакетов), будет считаться потерянным пакетом. Обратите внимание, как образец кодируется, может вызвать проблему с расчетом джиттера, хотя, если вы создаете тестовое приложение, в котором вы управляете кодировкой, вы можете избежать этих проблем - см. Ссылку ниже для этого: http://www.c.clumbia.edu/~hgs/rtp/faq.html#jitter

Еще одна вещь, которую нужно отметить, что вы не упомянули задержку, но это может быть очень важно, так как у вас может быть сеть без потери пакетов и отличного джиттера, но с большой задержкой, и это может иметь драматическое влияние на некоторые приложения (например, голос). Как простым и не очень реалистичным примером, скажем, у вас есть идеальная сеть с точки зрения дрожания джиттера и пакета, но с маршрутизатором, который имеет какую-то поиск безопасности и, следовательно, добавляет две секунды задержки для каждого пакета. Поскольку это та же задержка для каждого пакета, который ваш дрожит будет в порядке, но для двухстороннего голосового приложения две второй задержки между кем-то в точке «речь и кто-то в точке», услышав их, станет серьезной проблемой. < / P >.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top