out_cork
Директива 'out_cork' управляет буферизацией вывода для RTMP-потоков в модуле NGINX RTMP.
Описание
Директива 'out_cork' используется для оптимизации производительности прямой трансляции путем управления тем, как обрабатываются выходные буферы. При включении эта директива сокращает объем данных, отправляемых по сети в процессе трансляции. Она работает за счет удержания данных, которые обычно отправлялись бы немедленно, позволяя процессу буферизации накопить больше данных перед фактической передачей. Это может существенно уменьшить накладные расходы и задержку, связанные с непрерывной отправкой небольших пакетов данных.
Эта директива особенно полезна в сценариях, где битрейт потока варьируется, поскольку она обеспечивает более эффективную работу сети за счет отправки меньшего числа более крупных пакетов вместо множества мелких. По умолчанию она не включена и требует явной конфигурации для вступления в силу. Ее использование может привести к улучшению производительности для потоков с высоким битрейтом и также помочь справиться с ситуациями, когда пропускная способность сети является проблемой.
Кроме того, директиву 'out_cork' можно переключать включение/выключение в зависимости от требований приложения, что обеспечивает гибкое управление потоками. Она полезна для приложений, которые транслируют большое количество контента, так как помогает сбалансировать нагрузку и улучшить впечатления зрителя, уменьшая задержки, возникающие в процессе трансляции.
Пример конфига
application live {
live on;
out_cork on;
}Убедитесь, что директива установлена в правильном контексте (например, внутри блока приложения).
Использование 'out_cork' может привести к увеличению задержки в некоторых ситуациях, поэтому протестируйте производительность соответствующим образом.
Следите за состоянием сети, чтобы убедиться, что буферизация эффективно управляется. Физическая передача данных не будет происходить, пока буферизация активна, что может привести к ощущаемой задержке.