chunk_size
Директива `chunk_size` задаёт размер RTMP-фрагмента, используемого для трансляции.
Описание
Директива 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, что сказывается на совместимости.