gop_max_frame_count
Директива `gop_max_frame_count` ограничивает число кадров в группе кадров (GOP) для видеотрансляций.
Описание
Директива gop_max_frame_count используется в модуле NGINX RTMP для управления максимальным числом кадров в группе кадров (GOP) видеопотока. Эта настройка важна для видеотрансляций, поскольку влияет на то, как видео кодируется и передаётся, затрагивая как задержку, так и качество. GOP состоит из ключевого кадра, за которым следует последовательность межкадровых кадров, и количество кадров может определять доступность отдельных кадров в потоке, особенно при перемотке или при точном позиционировании в видео.
Правильная настройка этой директивы может оптимизировать производительность для различных типов стримингового контента. Например, уменьшение максимального числа кадров может помочь в сценариях, где критична низкая задержка, поскольку меньшие GOP обеспечивают более быстрый доступ к новому контенту и снижают задержку между обновлениями контента. Однако это также может увеличить потребление полосы пропускания и вычислительную нагрузку, так как в периоды высокой активности может понадобиться больше ключевых кадров, что потенциально может повлиять на общее качество видео при использовании очень малых размеров GOP.
Аргумент для gop_max_frame_count должен задавать положительное целое число, обозначающее максимальное количество кадров в GOP. Если не задано, будет применено поведение кодировщика по умолчанию, которое зависит от конкретного используемого кодера. Рекомендуется тщательно настраивать параметр в зависимости от требований стриминга и возможностей аппаратного или программного кодировщика.
Пример конфига
application live {
gop_max_frame_count 30;
}Установка этого параметра на слишком низкое значение может привести к повышенному использованию CPU из-за частой генерации keyframe.
Чрезмерно большие значения могут увеличить задержку в потоке.