send_latency

send_latency 指令控制 NGINX 中外发 SRT 流的延迟设置。

语法send_latency value;
默认值none
上下文
参数1

说明

send_latency 指令是 NGINX SRT 模块的一部分,专门用于配置通过 SRT (Secure Reliable Transport) 协议发送数据时可接受的最大延迟。它允许管理员设置 NGINX 服务器在发送之前可将外发 packets 保留多长时间。在需要严格管理延迟的场景(如实时流媒体/直播)中,这一点尤其有用:延迟太低可能导致 buffer underruns,而延迟过高则会导致感知视频质量下降或同步问题。

send_latency 指令接受单个参数,用于指定期望的延迟,这可以理解为在 packet 传输前引入的调度延时。该值在配置中不会直接以秒或毫秒来计量;相反,它通常以 SRT 库能够解释的其他单位来指定(例如 packets 或 bytes)。通过调整此设置,NGINX 用户可以在响应性和数据完整性之间取得平衡,从而有可能通过提供更平滑的流播放并减少 jitter 来提升用户体验。

当有效使用时,send_latency 可以缓解网络不稳定或高流量带来的问题,确保 packets 以受控速率发送,从而在分布式系统中维持质量服务 (QoS)。然而,在调整此参数时,需要考虑网络特性和带宽容量,以避免在流媒体传输中引入不必要的延迟。

配置示例

srt {
    server {
        listen 4321;
        send_latency 1000;  # Sets latency to 1000 microseconds
        proxy_pass tcp://127.0.0.1:5678;
    }
}

将延迟设置得太低可能导致丢包和抖动增加,从而引起播放问题。

将延迟设置得太高可能导致流媒体出现显著延迟,进而对实时应用产生不利影响。

请确保所指定的值适合网络环境,以避免不必要的流媒体中断。

← 返回所有指令