icecast2。两个来源,相同的流媒体

时间:2012-10-14 19:12:29

标签: icecast

在同一个挂载点有2个源是否可行?

示例:

Source 1(来自S1 IP地址)将音乐发送到IP Icecast2服务器。 源2(来自S2 IP地址)向Ip Icecast2服务器发送语音。

侦听器运行:mplayer ip_icecast2:8000 / example.ogg ..

听众在发送时听音乐和声音..

4 个答案:

答案 0 :(得分:3)

Liquidsoap应该能够处理混合并设置正确的元数据..网站位于http://savonet.sourceforge.net/

答案 1 :(得分:2)

是的,但不是单独使用Icecast。

您需要做的是混合两个流。 Icecast没有任何功能可以做这样的事情。有很多方法可以做到这一点。我可能会考虑将这些流与FFMPEG混合在一起。您可以使用amerge and amix filters

现在,您需要将FFMPEG的输出提供给您的Icecast服务器。通过一些脚本,您应该能够将STDOUT从FFMPEG传输到与Icecast的TCP连接。在发送数据之前,您需要发送appropriate headers and what not

答案 2 :(得分:0)

你实际上可以做其他事情,你需要指定3个流

  • autodj

这个技巧依赖于一个名为fallback的标签,你可以直接在icecast xml文件上配置它,它会做类似的事情 - 如果现场音频不可用,则回退到autodj,其中任何一个将直接在流上播放,优先考虑生活

答案 3 :(得分:0)

我假设您指的是来自不同网址的一个音频源和一个说话。如果您不知道如何使用Soap,您可以使用SAM广播公司等第三方应用程序获取音频和音乐流。

这将解码流并将它们混合成传统的音频混音器,然后重新编码并作为一个流发送到单个Icecast服务器。

请记住,如果您正在进行配音,则会有延迟处理。即,在您将要讲的音频部分之后,最终听众将会听到发言。这取决于所涉及的缓冲区长度,这是因为SAM广播公司将在同一个地方“收听”音频(假设您正在与源音频流通话)。然后你需要补充一点,播放缓冲区SAM需要处理,播放你的语音流以进行混合和传递。