Изменение задержки пакета (PDV) - PullRequest
0 голосов
/ 12 мая 2011

В настоящее время я внедряю приложение для потоковой передачи видео, цель которого - максимально использовать пропускную способность гигабитного Ethernet

  • Протокол приложения построен на TCP / IP
  • В сетевой библиотеке используется асинхронный механизм iocp
  • Требуется только потоковая передача по локальной сети
  • Нет необходимости, чтобы пакеты проходили через маршрутизаторы

Это упрощает многие вещи. Тем не менее я испытываю проблемы с изменением задержки пакета.

Это означает, что видеокадр, который должен поступать, например, каждые 20 мс (видеосигнал 1280 x 720p 50 Гц), иногда поступает с задержкой на десятки миллисекунд. Подробнее:

  • Средняя частота кадров сохраняется
  • Максимальная задержка видеокадра зависит от использования сети
  • Чем больше данных в локальной сети, тем выше максимальная задержка видеокадра

Например, когда использование полосы пропускания составляет 800 Мбит / с, PDV составляет от 45 до 50 мс.

На мои вопросы:

  • Каковы практические границы в снижении этого значения?
  • Знаете ли вы об отчете об измерениях, доступном в Интернете, который связан с этим?

Я хочу знать, есть ли небольшая ошибка в моем приложении (возможно, чрезмерная блокировка) или нет способа улучшить числа с помощью современной технологии.

1 Ответ

3 голосов
/ 12 мая 2011

Для потокового видео я бы порекомендовал использовать UDP вместо TCP, так как он требует меньших накладных расходов и подтверждение пакетов обычно не требуется, поскольку ретранслированные данные уже устарели.

...