Изменение задержки пакета (PDV)
В настоящее время я внедряю приложение для потокового видео, цель которого - максимально использовать пропускную способность гигабитного Ethernet.
- Протокол приложения построен на TCP / IP
- Сетевая библиотека использует асинхронный механизм iocp
- Требуется только потоковая передача по локальной сети.
- Нет необходимости, чтобы пакеты проходили через маршрутизаторы
Это упрощает многие вещи. Тем не менее, я испытываю проблемы с изменением задержки пакета.
Это означает, что видеокадр, который должен поступать, например, каждые 20 мс (видеосигнал 1280 x 720p 50 Гц), иногда поступает с задержкой на десятки миллисекунд. Больше:
- Средняя частота кадров сохраняется
- Максимальная задержка видеокадра зависит от использования сети
- Чем больше данных в локальной сети, тем выше максимальная задержка видеокадра
Например, когда использование полосы пропускания составляет 800 Мбит / с, PDV составляет от 45 до 50 мс.
На мои вопросы:
- Каковы практические границы в снижении этого значения?
- Знаете ли вы об отчете об измерениях, доступном в Интернете, посвященном этому?
Я хочу знать, есть ли какая-то небольшая ошибка в моем приложении (возможно, чрезмерная блокировка) или нет способа улучшить числа с помощью современной технологии.
1 ответ
Для потоковой передачи видео я бы порекомендовал использовать UDP вместо TCP, так как он требует меньших накладных расходов, и подтверждение пакетов обычно не требуется, поскольку ретранслированные данные уже устарели.