实时室内流媒体和音乐混合

时间:2015-11-07 08:10:54

标签: ffmpeg audio-streaming rtp live-streaming wlan

我正在开展这个项目,我们正在进行现场表演,大约有6位音乐家在一个大空间中相互放置。观众将戴着耳机,当他们四处走动时,我们希望他们在这个地方的不同区域听到不同类型的效果。为了计算用户的位置,我们使用蓝牙信标。我们预计会有大约100位用户,我们的延迟时间不会超过2秒。

这样的设置是否可行?

我们目前正在考虑实施这一目标的方式是,我们将这个地方划分为大约30个不同的部分。
对于服务器,我们将从所有音乐家那里获取输入,并为每个部分混合不同的流,并使用RTP协议在本地WLAN上流式传输。
我们将拥有Android和iOS应用程序,可以使用蓝牙信标定位用户并相应地切换实时流。

Presonus Studio One 音乐混音器 - 可以有多个可以输出到设备的频道。 30个频道 虚拟音频线 - 用于创建将从通道获取输出的虚拟设备。 30台设备。
FFMpeg流 - 用于为每个设备创建RTP流。 30流。

这是一个好主意吗?还有其他方法吗?
任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

音频捕捉和混音

首先,您需要将这六个音频通道捕获到可以使用的内容中。我不认为您对虚拟音频电缆的想法是可持续的。根据我的经验,一旦你获得了不止一些,他们的工作就不那么好了。您需要能够直接从混音器转到正在对流进行编码的操作,这意味着您需要JACK audio之类的内容。

有两种方法可以做到这一点。一种是使用数字调音台为您创建这30种混音,并将结果流发送给您。另一种方法是简单地捕获6个音频通道,然后在软件中进行混音。通常我认为外部混合的灵活性是你想要的,通常我会为你推荐Behringer X32系列。我自己没有尝试使用JACK音频,但我听说它可以工作,价格也很好。你可以只买一个便宜的机架式包装,它具有所有功能,没有表面可供控制(更便宜,更适合你需要的)。 但是,X32只有16个总线,因此您需要其中两个才能获得所需的混音数量。 (您可以通过矩阵混合获得创意,但这只能让您获得6个,总共22个。)

我认为您需要做的是捕获音频并混合使用软件。您可能希望使用Liquidsoap来实现此目的。它可以通过编程方式混合通过JACK引入的音频流,并在输出端创建互联网广播风格流。

你需要一台服务器。有很多RTP / RTSP服务器可用,但我推荐Icecast。它将更容易设置,客户端更兼容。 (例如,您可以轻松地在网页上的HTML5音频标签中回放这些流。)Liquidsoap可以直接将流发送到Icecast。

延迟

将延迟保持在2秒以下将成为一个问题。您可能希望尽可能降低缓冲区,尤其是在Icecast服务器上。这是在合理可能的边缘,因此您需要进行测试以确保延迟符合您的要求。

网络

同一频谱上的100个客户端也存在问题。您需要什么取决于您的空间的具体情况,但您可以使用常规的消费者接入点来解决问题。鉴于您的延迟和带宽要求,我建议您获取一些commercial access points with built-in sector antennas and multiple radios。这种装备有很多制造商。

祝这个独特的项目好运!完成后请发布一些设置照片。