push
NGINX RTMP 模块中的 `push` 指令用于将流从 RTMP 服务器推送到指定的目标 URL。
NGINX RTMP module
语法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 推送。