Размер GOP для видеопотока в реальном времени

Я работаю над некой богатой системой удаленных рабочих столов с видеопотоком рабочего стола, закодированным с использованием avcodec / x264. Я должен вручную установить размер GOP для потока, и до сих пор я использовал размер fps / 2.
Но я только что прочитал следующее в Википедии:

Эта структура [Group Of Picture @ предлагает проблему, потому что четвертый кадр (P-кадр) необходим для прогнозирования второго и третьего (B-кадров). Таким образом, нам нужно передать P-кадр до B-кадров, и это задержит передачу (необходимо будет сохранить P-кадр).

Это означает, что я создаю большую задержку, так как клиент должен получить как минимум половину GOP для вывода первого кадра, следующего за I-кадром. Какова наилучшая стратегия для размера GOP, если я хочу наименьшую возможную задержку? Гоп 1 картины?

2

Решение

Если вы хотите минимизировать задержку с помощью h264, вам следует избегать b-кадров. Таким образом, у декодера есть, по крайней мере, шанс на ранний выпуск декодированных кадров. Это предотвращает задержку, вызванную декодером.

Вы также можете настроить кодировщик на задержку, уменьшив / отключив предварительный просмотр. В x264 есть настройка «нулевой задержки», которая должна стать хорошей отправной точкой для нахождения оптимальных настроек.

Размер «GOP» (который на самом деле не определен для h264; я просто предположу, что вы имеете в виду интервал I (DR) -кадра) не обязательно влияет на задержку. Этот параметр влияет только на то, как долго клиенту придется ждать, пока он не сможет «синхронизироваться» в потоке (время до первого изображения).

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]