buffer

`buffer` 指令控制 NGINX RTMP 模块中用于 DASH 流的内部缓冲区大小。

语法buffer size;
默认值none
上下文
参数1

说明

NGINX RTMP 模块中的 buffer 指令用于优化提供 Dynamic Adaptive Streaming over HTTP (DASH) 内容时的缓冲行为。通过在配置中指定此指令,可以确定在流式传输到客户端之前临时存储在缓冲区中的数据量。该缓冲机制对于提供平滑的播放体验至关重要,并有助于在网络负载较高时有效管理网络流量。

当客户端请求流时,服务器可以在数据可用时开始发送,同时继续将更多数据缓冲起来。这样可以更好地应对网络状况的波动,并将由数据传输缓慢引起的中断降到最低。buffer 指令的参数以 bytes 为单位指定大小,使服务器能够在传送给客户端之前预加载一定量的内容。根据网络质量和预期观看需求调整此值可以优化性能。

在实践中,如果缓冲区大小设置过小,应用可能跟不上请求的数据,用户可能会遇到缓冲中断。相反,将缓冲区大小设置得过大则可能导致延迟增加和资源消耗上升。因此,针对您的具体用例和流媒体要求找到合适的平衡至关重要。

配置示例

rtmp {
    server {
        listen 1935;

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

确保缓冲区大小适合您的网络状况;过小可能导致中断。

过大的缓冲区会增加延迟并占用不必要的内存资源。

配置更改可能需要重新加载或重启 NGINX 服务才能生效。

← 返回所有指令