buffer

Директива `buffer` задаёт размер внутреннего буфера для DASH-потоковой передачи в модуле NGINX RTMP.

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

Описание

Директива buffer в модуле NGINX RTMP предназначена для оптимизации поведения буферизации при обслуживании контента Dynamic Adaptive Streaming over HTTP (DASH). Указав эту директиву в конфигурации, вы можете определить объём данных, временно сохраняемых в буфере, прежде чем они будут потоково переданы клиентам. Этот механизм буферизации имеет решающее значение для обеспечения плавного воспроизведения и помогает эффективно управлять сетевым трафиком, особенно в условиях высокой нагрузки.

Когда клиент запрашивает поток, сервер может начинать отправлять данные по мере их появления, в то время как дополнительные данные продолжают накапливаться в буфере. Это позволяет лучше справляться с переменными условиями сети и минимизировать перебои, вызванные медленной передачей данных. Параметр директивы buffer задаёт размер в байтах, что позволяет серверу предварительно загрузить определённый объём контента перед доставкой его клиенту. Настройка этого значения может оптимизировать производительность в зависимости от качества сети и предполагаемого спроса зрителей.

На практике, если размер буфера установлен слишком мал, пользователи могут столкнуться с прерыванием воспроизведения, так как приложению трудно успевать за запрашиваемыми данными. И наоборот, чрезмерно большой размер буфера может привести к увеличению задержки и потребления ресурсов. Поэтому важно найти оптимальный баланс для вашего конкретного случая использования и требований к трансляции.

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

rtmp {
    server {
        listen 1935;

        application live {
            live on;
            buffer 1048576;  # Set buffer size to 1 MB
        }
    }
}

Убедитесь, что размер буфера соответствует условиям вашей сети; слишком маленький размер может привести к прерываниям.

Слишком большой размер буферов может увеличить задержку и потреблять лишние ресурсы памяти.

Для применения изменений конфигурации может потребоваться перезагрузка или перезапуск службы NGINX.

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