record_max_frames

在 NGINX RTMP 模块中,`record_max_frames` 指令限制了直播流录制的最大帧数。

语法record_max_frames number;
默认值none
上下文
参数1

说明

在 NGINX RTMP 模块中,record_max_frames 指令用于管理可以从直播流中录制的帧数。通过设置此指令,用户可以指定要保存的帧数阈值,这有助于控制服务器上的资源消耗。当达到最大帧数时,较旧的帧可能会被丢弃以为新帧腾出空间,从而确保录制不会无限增长,从而节省内存和存储。

record_max_frames 的参数是一个正整数,用以规定此上限。例如,如果设置为 1000,服务器将在开始覆盖缓冲区中最旧的帧之前保留最多 1000 帧。这在预期会有直播并且优先保留最近内容而不是归档所有传输数据的场景中尤其相关。

在实践中,正确配置该指令对于保持有效的流媒体性能和避免潜在的资源耗尽非常重要。如果指定的帧数对于服务器的规格来说过高,可能会导致延迟增加或性能下降,因为服务器在整个流会话中难以高效地管理内存和处理任务。

配置示例

application live {
    live on;
    record all;
    record_path /tmp/av;
    record_max_frames 1000;
}

record_max_frames 设置得过高可能导致内存消耗增加并引发潜在的性能问题。

如果未设置 record_max_frames,服务器将不会限制帧数,可能导致资源使用不受限制。

← 返回所有指令