Изменение задержки пакета (PDV)

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

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

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

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

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

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

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

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

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

1 ответ

Решение

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

Другие вопросы по тегам