【发布时间】:2020-08-03 05:57:45
【问题描述】:
我的设置如下:
- 带有 RTMP 模块的 Nginx
- 多个 RTMP 流对,每个都有一个主要和备用 RTMP 端点(因此流到 rtmp://localhost/main/$STREAM_NAME 和 rtmp://localhost/backup/$STREAM_NAME)
- 使用 Nginx RTMP
module exec_publish和exec_publish_done挂钩,我将 main 或 backup 推送到 FFmpeg CLI proc,该 proc 将其重新流式传输到远程 RTMP 端点(在本例中为 Wowza 服务器,尽管它与我的问题不太相关)
我的问题是,目前,如果主流停止,我必须停止重新流式传输到 Wowza 的 FFmpeg CLI 进程,并使用新的输入源(备份流)启动另一个。这通常会导致 Wowza 方面出现问题,所以我正在寻找一种方法来避免这种情况。
经过一番研究,我发现 FFmpeg 封装了 ZMQ 支持,但似乎文档非常稀疏。是否可以向正在运行的 FFmpeg 进程发送消息以提醒它必须将其源更改为不同的 RTMP 流?
非常感谢,
【问题讨论】:
标签: ffmpeg stream zeromq live rtmp