ts

'ts' 指令配置一个位置用于通过 HTTP 接收 MPEG-TS 流。

语法ts;
默认值none
上下文location
参数none

说明

'ts' 指令对于在 NGINX 服务器上通过 HTTP 设置 MPEG-TS (MPEG Transport Stream) 视频内容的实时流传输至关重要。当在一个 location block 中启用时,它允许服务器接受来自流工具或编码器等客户端的 MPEG-TS 数据。所请求 URI 的最后一部分被解释为用于在实时回放期间管理流的流名称。例如,在对 http://server/foo/bar/baz 的请求中,段 'baz' 被识别为流名称。

当与其他指令结合使用时,例如用于 HLS 的 'ts_hls' 或用于 MPEG-DASH 的 'ts_dash',该指令起着关键作用,使服务器能够提供自适应码率流所需的播放列表和分段。为了获得最佳性能并消除与 HTTP 请求体大小相关的限制,建议将 client_max_body_size 指令配置为 0,允许不受限制的请求体大小以确保实时流的平稳传输。此外,请求体由内部处理器处理,该处理器初始化流上下文以便进行后续操作,例如分段的创建和管理。

配置示例

location /stream/ {
    ts;
    ts_hls path=/var/hls segment=5s;
}

确保最后一个 URI 组件是唯一的并充当流名称以避免冲突。

请确保将 'client_max_body_size' 设置为 '0',以防止在实时流时对大型载荷进行截断。

请注意,如果没有 'ts_hls' 或 'ts_dash',单独的 'ts' 指令不会提供内容;它需要配套的指令才能有效工作。

← 返回所有指令