Потоковое потоковое воспроизведение в реальном времени и микширование музыки

Я работаю над этим проектом, где мы делаем живое выступление, в котором около 6 музыкантов находятся далеко друг от друга в большом пространстве. Аудитория будет носить свои наушники, и когда они будут двигаться, мы хотим, чтобы они слышали разные эффекты в разных местах. Для расчета позиции пользователей мы используем bluetooth-маяки. Мы ожидаем около 100 пользователей, и у нас не может быть задержка более 2 секунд.

Возможна ли такая установка?

В настоящее время мы думаем о реализации этого, что мы разделим это место примерно на 30 различных разделов.
Для сервера мы возьмем входные данные от всех музыкантов и микшируем разные потоки для каждого раздела и транслируем их по локальной сети WLAN, используя протокол RTP.
У нас будут приложения для Android и iOS, которые будут определять местоположение пользователей с помощью маяков Bluetooth и соответствующим образом переключать прямые трансляции.

Музыкальный микшерPresonus Studio One - может иметь несколько каналов, которые можно выводить на устройства. 30 каналов.
Виртуальный аудиокабель - используется для создания виртуальных устройств, которые будут получать выходные данные из каналов. 30 устройств.
Поток FFMpeg - используется для создания потока RTP для каждого из устройств. 30 потоков.

Это хорошая идея? Есть ли другие способы сделать это?
Любая помощь будет оценена.

1 ответ

Решение

Захват аудио и микширование

Во-первых, вам нужно захватить эти шесть аудиоканалов во что-то, что вы можете использовать. Я не думаю, что ваша идея виртуальных аудиокабелей является устойчивой. По моему опыту, когда вы получаете больше, чем несколько, они не так хорошо работают. Вы должны быть в состоянии перейти от своего микшера непосредственно к тому, что делает кодирование для потока, что означает, что вам нужно что-то вроде аудио JACK.

Есть два способа сделать это. Одним из них является использование цифрового микшера для создания этих 30 миксов для вас и отправки вам результирующего потока. Другой способ - просто захватить 6 каналов звука, а затем выполнить микширование в программном обеспечении. Обычно я думаю, что вам нужна гибкость внешнего микширования, и обычно я бы порекомендовал вам серию Behringer X32. Я не пробовал это с аудио JACK, но я слышал, что это может работать, и цена хорошая. Вы можете получить просто комплект из стоек по дешевке, который имеет все функциональные возможности без контроля (дешевле и достаточно для того, что вам нужно). Тем не менее, X32 имеет только 16 шин, поэтому вам понадобится две из них, чтобы получить нужное количество миксов. (Вы можете проявить творческий подход с помощью матричных миксов, но это даст вам еще 6, всего 22).

Я думаю, что вам нужно сделать, это захватить этот звук и микшировать в программном обеспечении. Вы, вероятно, захотите использовать Liquidsoap для этого. Он может программно микшировать аудиопотоки через JACK и создавать потоки в стиле интернет-радио на выходном конце.

Streaming

Вам понадобится сервер. Доступно множество серверов RTP/RTSP, но я бы порекомендовал Icecast. Это будет проще в настройке, и клиенты будут более совместимыми. (Вместо того, чтобы создавать приложение, например, вы могли бы легко воспроизвести эти потоки в аудиометках HTML5 на веб-странице.) Liquidsoap может отправлять потоки непосредственно в Icecast.

Задержка

Задержка менее 2 секунд будет проблемой. Вы захотите уменьшить буферы везде, где можете, особенно на своем сервере Icecast. Это на грани возможного, поэтому вам нужно проверить, чтобы убедиться, что задержка соответствует вашим требованиям.

сеть

100 клиентов на одном спектре также проблематично. То, что вам нужно, зависит от специфики вашего пространства, но вы находитесь на грани того, что вы можете получить, используя обычные потребительские точки доступа. Учитывая ваши требования к задержке и пропускной способности, я бы порекомендовал приобрести некоторые коммерческие точки доступа со встроенными секторными антеннами и несколькими радиостанциями. Существует много производителей такого снаряжения.

Желаем удачи в этом уникальном проекте! Пожалуйста, опубликуйте несколько фотографий вашей настройки, как только вы это сделали.

Другие вопросы по тегам