kmp_rtmp_out_timeout
指令 `kmp_rtmp_out_timeout` 指定 Kaltura Media Framework 中外发 RTMP 连接的超时时长。
Kaltura Media Framework Common NGINX Module
·
streamstream server
语法kmp_rtmp_out_timeout timeout;
默认值none
上下文stream, stream server
参数1
说明
在 NGINX 的 stream 或 stream server 块中使用 kmp_rtmp_out_timeout 指令来定义在没有数据传输时,外发 RTMP (Real-Time Messaging Protocol) 连接可以保持打开的最长时长。通过设置此超时,可以确保不活动的连接不会无限期保持,从而有助于更有效地管理资源,并防止因挂起连接导致的潜在服务中断。
该指令接受一个以秒为单位的参数,用于指定超时时长。例如,设置 kmp_rtmp_out_timeout 30; 意味着如果在 30 秒内外发 RTMP 连接没有数据传输,该连接将被自动关闭。此行为在直播场景中特别有用——在这些场景中,维持适当数量的连接对于性能至关重要,意外或恶意的占用会降低整体服务可用性。
当超时到期时,NGINX 将静默终止该连接,从而为其他请求或客户端释放资源。需要注意的是,此超时适用于模块处理的所有外发 RTMP 连接,确保媒体流设置中对空闲连接的处理一致。因此,在设置该值时应仔细权衡,平衡为预期活动保持连接与在不活动时释放资源之间的关系。
配置示例
stream {
server {
listen 1935;
kmp_rtmp_out_timeout 60;
}
}⚠
将超时时间设置得过低可能导致合法连接被断开,尤其是对于持续时间较长的流。
⚠
如果未设置该指令,出站连接可能会无限期挂起,从而导致资源耗尽。