record_lock

record_lock 指令在 NGINX RTMP 模块中控制录制流的文件访问,确保在流录制期间具有独占写入权限。

语法record_lock on | off;
默认值off
上下文
参数1

说明

record_lock 指令用于 NGINX RTMP 模块中,管理直播期间录制文件的访问方式。启用 record_lock 后,服务器会确保在流被录制时,其他试图修改相同文件的进程会被阻塞,直到录制完成。这对于防止因并发写入操作导致的文件损坏和数据丢失至关重要。在多个流可能尝试写入同一输出文件的场景中尤为有用,从而提供更可靠和稳定的录制操作。

该指令接受一个参数,可为 'on' 或 'off'。若为 'on',则启用锁机制;将其设置为 'off' 则禁用该机制,允许并发文件访问,这在数据完整性方面可能存在风险。应根据流媒体应用的具体需求考虑该指令的行为;例如,启用锁可能会因等待访问而略微影响性能,但能为录制输出提供更高的安全性。

配置示例

application live {
    live on;
    record all;
    record_path /var/www/recordings;
    record_lock on;
}

误用 record_lock off 可能导致文件损坏,尤其是在多个流同时向相同输出文件写入时。

确保该指令的上下文正确;它必须放在应用上下文中。

并非所有存储后端都支持锁定,这可能导致意外行为。请检查文件系统的能力。

← 返回所有指令