push

NGINX RTMP 模块中的 `push` 指令用于将流从 RTMP 服务器推送到指定的目标 URL。

语法push URL;
默认值none
上下文
参数1+

说明

push 指令允许将 RTMP 流发送到另一个 RTMP 端点或服务器。它通常用于需要将单个流广播到多个目的地的场景,例如中继或分发直播。该指令可以指定多次,为单个流提供多个 push 配置。

每个 push 指令以目标 URL 作为参数,该 URL 应按照 RTMP URL 约定格式化。这样可以实现灵活的流媒体部署,将流推送到用于转码、录制或重播的专用服务。该指令可以放在 NGINX 配置的应用块中,根据应用的需求启用或禁用 push 行为。当流被发布时,服务器会自动将流推送到指定的目的地,保持与原始流状态的同步。

需要注意的是,push 过程与本地流处理并行运行,因此在配置 push 目标时应考虑性能因素,例如网络稳定性和带宽。如果未能成功将流推送到指定的 URL,可能会导致通过被推送端点接收流的终端用户出现丢帧或中断。

配置示例

rtmp {
    server {
        listen 1935;

        application live {
            live on;
            push rtmp://another-server/live;  
        }
    }
}

确保目标 URL 被正确指定,因为无效的 URL 会导致 push 失败。

监控网络以防中断,因为它们可能导致在 push endpoint 出现 dropped streams。

向 push destinations 推送过多 streams 可能导致性能下降。除非必要,不要向多个 push destinations 推送。

← 返回所有指令