- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做这个项目,我们正在与大约 6 位音乐家在一个大空间中彼此远离地进行现场表演。观众将戴着耳机,当他们四处走动时,我们希望他们听到不同区域的不同效果。为了计算用户的位置,我们使用蓝牙信标。我们预计大约有 100 个用户,我们的延迟不能超过 2 秒。
这样的设置可能吗?
目前我们正在考虑的实现方式是将这个地方划分为大约 30 个不同的部分。
对于服务器,我们将从所有音乐家那里获取输入,并为每个部分混合不同的流,并使用 RTP 协议(protocol)在本地 WLAN 上流式传输。
我们将拥有 Android 和 iOS 应用程序,它们将使用蓝牙信标定位用户并相应地切换直播流。
Presonus 一号工作室 音乐混音器 - 可以有多个可以输出到设备的 channel 。 30 个 channel 。
虚拟音频线 - 用于创建将从 channel 获取输出的虚拟设备。 30 台设备。
FFMpeg 流媒体 - 用于为每个设备创建 RTP 流。 30 条流。
这是一个好主意吗?还有其他方法吗?
任何帮助将不胜感激。
最佳答案
音频捕捉和混合
首先,您需要将这六个音频 channel 捕获到您可以使用的东西中。我认为您对虚拟音频电缆的想法是不可持续的。以我的经验,一旦你得到更多,它们就不会那么好用了。您需要能够直接从混音器转到正在为流进行编码的内容,这意味着您需要像 JACK audio 这样的东西。 .
有两种方法可以做到这一点。一种是使用数字混音器为您创建这 30 种混音,然后将结果流发送给您。另一种是简单地捕获 6 个音频 channel ,然后在软件中进行混音。通常我认为外部混合的灵 active 是你想要的,通常我会推荐 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 .这种齿轮的制造商有很多。
祝这个独特的项目好运!完成后,请发布一些设置照片。
关于ffmpeg - 实时室内流媒体和音乐混音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33580649/
我想制作一个网络应用程序,人们可以在其中将录制的声音和样本添加到时间轴中。我希望它输出 1 个声音文件(大约 3 分钟长),并将其发送到服务器。 现在我想用 HTML5 音频 API 来做到这一点,并
我正在尝试使用 NAudio 和 winforms 在 C# 中制作一个非常简单的 DAW。此阶段程序的目标是能够在播放几个音频文件的同时从麦克风录制。到目前为止,该项目是 NAudio 附带的 AS
您能否帮助我正确配置Jackson与Spring MVC混合注释以自定义JSON响应。 这就是我现在拥有的: 我
当我执行此命令时: ffmpeg -i screen.mp4 -i camera.mp4 -filter_complex "overlay=main_w-overlay_w-5:main_h-over
我正在使用 Jackson Mixin 来反序列化 mongo 对象,Mixin 如下所示。 public interface MyMixin { /** * Mixin to set ke
我在 web3 提供程序 (localhost:8545) 上运行时出错 Not possible to connect to the Web3 provider. Make sure the pro
我正在尝试找出是否有一种方法可以确定是否使用Dolby Pro Logic II数据对AAC编码的音轨进行了编码。有没有一种检查文件的方式,以便您可以查看此信息?例如,我已经在Handbrake中使用
如何在 Remix 中传递多个参数?无论我以哪种方式将参数传递给 setOrder 函数,我都会收到不同的错误: SyntaxError: Unexpected token in JSON at po
我正在尝试从表示为树的类中进行深度过滤(重命名/忽略字段)。 使用 Jackson Mixin,我可以重命名或忽略根级别的字段。我想要实现的目标是如何在多个级别上进行过滤(重命名/忽略)? 例如,我有
场景:顶层容器是一个 Swing JDialog,它有一些 fx 内容,包括一个触发按钮处置的 fx 按钮。当手动创建按钮并使用适当的 eventHandler 配置时,处理工作符合预期(隐藏对话框)
Remix 中是否有推荐的模式用于在每个请求上运行通用代码,并可能将上下文数据添加到请求中?像中间件?例如,一个用例可能是进行日志记录或身份验证。 我见过的与此相似的一件事是 loader conte
我希望能够进行一些音调和速度转换、混合和修剪声音以及应用效果。我试过 ffmpeg但不幸的是,它在处理音频文件时有一些巨大的延迟(例如 40 秒对于 36 秒文件的音高 + 速度)。 所以我在网上搜索
我是一名优秀的程序员,十分优秀!