chunk_size

Директива `chunk_size` задаёт размер RTMP-фрагмента, используемого для трансляции.

Синтаксисchunk_size size;
По умолчанию128
Контекст
Аргументы1

Описание

Директива chunk_size в модуле NGINX RTMP — это параметр конфигурации, позволяющий задать максимальный размер RTMP-фрагментов, отправляемых по сети. Механизм разбиения на фрагменты является важной частью протокола Real-Time Messaging (RTMP), который преимущественно используется для трансляции живого видео и аудио. Изменяя размер фрагмента, вы можете оптимизировать производительность потоковой передачи в зависимости от конкретного сценария использования и условий сети. На практике меньшие размеры фрагментов могут приводить к снижению задержки, но увеличивать накладные расходы из-за более частой обработки пакетов, тогда как большие размеры фрагментов могут повысить пропускную способность, но ввести задержку доставки.

Значение директивы chunk_size должно задаваться целым числом и указывается в байтах, что позволяет точно контролировать способ передачи пакетов данных. Директива может применяться в блоке сервера RTMP для глобальных настроек или в отдельных блоках приложений для настройки поведения по приложению. Правильная настройка размера фрагмента важна, поскольку она может влиять на различные параметры, включая задержку, стабильность потока и использование ресурсов. По умолчанию используется стандартный размер фрагмента, но установка этой директивы позволяет корректировать его в соответствии с особенностями окружения потоковой передачи.

Пример конфига

rtmp {
    server {
        listen 1935;
        chunk_size 4000;
        application live {
            live on;
        }
    }
}

Если установить слишком высокое значение, это может необоснованно увеличить latency.

Установка chunk size на значение, превышающее buffer limits, может привести к потере пакетов.

Не все клиенты могут поддерживать custom chunk sizes, что сказывается на совместимости.

← Ко всем директивам