buflen

Директива 'buflen' задаёт длину буфера для RTMP-потоков в модуле NGINX RTMP.

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

Описание

'buflen' используется для задания максимальной длины буфера для данных RTMP-потока, что напрямую влияет на объём данных, который может быть буферизован до отправки клиентам. Это значение критично для управления балансом между задержкой и использованием памяти при обработке живых трансляций. Больший буфер помогает учитывать сетевые колебания и повышать стабильность воспроизведения у клиентов, но будет потреблять больше памяти и потенциально увеличивать задержку. И наоборот, меньший буфер снижает задержку, но может привести к заиканиям или прерываниям потока при переменных условиях сети.

На практике при установке этой директивы следует учитывать ожидаемые сетевые условия и возможности клиентов. Длину буфера можно настраивать в зависимости от конкретных сценариев использования, таких как высокопроизводительные живые трансляции или приложения с низкой задержкой. Аргумент директивы 'buflen' указывается в байтах и определяет размер буфера, используемого для управления входящими данными RTMP-потока. Поэтому может потребоваться тщательная корректировка, чтобы согласовать размер буфера с общими целями производительности трансляции. Кроме того, следует провести дополнительные тесты, чтобы найти оптимальное значение, которое минимизирует прерывания воспроизведения и не превышает ограничения по памяти.

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

rtmp {
    server {
        listen 1935;
        application live {
            live on;
            buflen 1048576;  # Set buffer length to 1MB
        }
    }
}

Если установить 'buflen' слишком большим, это может привести к увеличению использования памяти.

Если установить 'buflen' слишком низким, это может вызвать проблемы с воспроизведением при нестабильных сетевых условиях.

Обязательно контролируйте производительность потока после изменения 'buflen'.

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