是否可以从一台服务器提取 RTMP 流并将其广播到另一台服务器?

Posted

技术标签:

【中文标题】是否可以从一台服务器提取 RTMP 流并将其广播到另一台服务器?【英文标题】:Is it possible to pull a RTMP stream from one server and broadcast it to another? 【发布时间】:2011-10-23 21:04:31 【问题描述】:

我基本上有这样一种情况,我需要从一个 Wowza 媒体服务器中提取一个流,然后使用 FFMPEG 将它发布到一个 Red5 或 Flash 媒体服务器实例。有没有命令可以做到这一点?我本质上是在寻找这样的东西:

while [ true ]; do 
    ffmpeg -i rtmp://localhost:2000/vod/streamName.flv rtmp://localhost:1935/live/streamName
done

FFMPEG 目前可以实现这一点吗?我记得读过类似的东西,但我不记得具体是怎么做的。

【问题讨论】:

如果您得到答案,请更新...请 这很棘手,因为命令只有在流可用时才会运行。中断时它将结束。要获得可靠的设置,您可以设置 Wowza 直播转发器wowza.com/docs/how-to-configure-a-live-stream-repeater,或者如果您需要前端用户进行设置重新流式传输,可以使用类似broadcastlivevideo.com/publish-ip-camera-stream-to-website 的设置来完成。 【参考方案1】:

是的。一个例子(从本地服务器拉取,发布到本地服务器):

 $ ffmpeg -analyzeduration 0 -i "rtmp://localhost/live/b live=1" -f flv rtmp://localhost:1936/live/c

analyzeduration 是为了让它启动得更快。如果需要,您还可以在其中添加其他参数以“重新编码”等。

【讨论】:

【参考方案2】:

尝试以这种方式输入: $ffmpeg -i "[InputSourceAddress]" -f [Outputfileformat] "[OutputSourceAddress]" 输入源地址可以是rtmp类型,也可以是rtsp/m3u8/etc。

【讨论】:

以上是关于是否可以从一台服务器提取 RTMP 流并将其广播到另一台服务器?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 redis 数据库从一台服务器移动到另一台服务器?

如何将 redis 数据库从一台服务器移动到另一台服务器?

广播rtmps流到许多服务器

无法从 nginx-rtmp 获得破折号流式传输

从浏览器捕获相机和麦克风并将其流式传输到 RTMP 服务器的最佳方法是啥?

在 UWP 应用程序中通过流重构通过网络发送的数据