buflen
'buflen' 指令指定 NGINX RTMP 模块中 RTMP 流的缓冲区长度。
NGINX RTMP module
语法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' 后,请确保监控流的性能。