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

#c #delay #packet #iocp #variation

#c #задержка #пакет #iocp

Вопрос:

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

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

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

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

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

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

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

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

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

Комментарии:

1. пожалуйста, просмотрите мою правку для удобства чтения. Сохранил ли я ваш смысл без изменений?

Ответ №1:

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