4

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

例子:

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

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

收听者在发送时收听音乐和声音。

4

4 回答 4

3

Liquidsoap should be able to handle the mixing and setting the proper metadata.. The web site is at http://savonet.sourceforge.net/

于 2013-02-03T00:09:38.303 回答
2

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

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

现在,您需要将 FFMPEG 的输出发送到您的 Icecast 服务器。通过一些脚本,您应该能够将 STDOUT 从 FFMPEG 通过管道传输到与 Icecast 的 TCP 连接。在发送数据之前,您需要发送适当的标头以及不发送的内容。

于 2012-10-15T00:10:08.977 回答
0

您实际上可以在没有其他任何东西的情况下做到这一点,您需要指定 3 个流

  • 溪流
  • 居住
  • 自动DJ

该技巧依赖于一个名为 fallback 的标签,您可以直接在 icecast xml 文件上对其进行配置,它会执行类似的操作 - 如果现场音频不可用,则回退到 autodj,其中任何一个都将直接在流上播放,优先考虑居住

于 2013-04-09T15:34:55.830 回答
0

我假设您的意思是来自不同 URL 的一种音频来源和一种说话来源。如果您不知道如何使用 Soap,您可以使用 SAM 广播器之类的第 3 方应用程序同时获取音频和音乐流。

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

请记住,如果您正在进行配音,则需要处理延迟。即,在您将要讲话的音频部分之后,最终听众将听到讲话。这取决于所涉及的缓冲区长度,并且是因为 SAM 广播公司将在您所在的同一位置“收听”音频(假设您正在对源音频流讲话)。然后你需要添加,播放缓冲区 SAM 需要处理,播放你的语音流进行混合和传递。

于 2013-06-23T15:46:03.480 回答