buflen
Директива 'buflen' задаёт длину буфера для RTMP-потоков в модуле NGINX RTMP.
Описание
'buflen' используется для задания максимальной длины буфера для данных RTMP-потока, что напрямую влияет на объём данных, который может быть буферизован до отправки клиентам. Это значение критично для управления балансом между задержкой и использованием памяти при обработке живых трансляций. Больший буфер помогает учитывать сетевые колебания и повышать стабильность воспроизведения у клиентов, но будет потреблять больше памяти и потенциально увеличивать задержку. И наоборот, меньший буфер снижает задержку, но может привести к заиканиям или прерываниям потока при переменных условиях сети.
На практике при установке этой директивы следует учитывать ожидаемые сетевые условия и возможности клиентов. Длину буфера можно настраивать в зависимости от конкретных сценариев использования, таких как высокопроизводительные живые трансляции или приложения с низкой задержкой. Аргумент директивы 'buflen' указывается в байтах и определяет размер буфера, используемого для управления входящими данными RTMP-потока. Поэтому может потребоваться тщательная корректировка, чтобы согласовать размер буфера с общими целями производительности трансляции. Кроме того, следует провести дополнительные тесты, чтобы найти оптимальное значение, которое минимизирует прерывания воспроизведения и не превышает ограничения по памяти.
Пример конфига
rtmp {
server {
listen 1935;
application live {
live on;
buflen 1048576; # Set buffer length to 1MB
}
}
}Если установить 'buflen' слишком большим, это может привести к увеличению использования памяти.
Если установить 'buflen' слишком низким, это может вызвать проблемы с воспроизведением при нестабильных сетевых условиях.
Обязательно контролируйте производительность потока после изменения 'buflen'.