Наименьшая доступная латентность зависит от многих факторов, которые ваш код не будет контролировать, в основном в отношении вашей сети.
Теперь, если бы я был тем, кто занимался этим проектом, я бы увидел, какие алгоритмы и протоколы доступны для синхронизации часов. Как только вы это сделаете, каждый хост, скорее всего, просто отправит пакеты с меткой времени на сервер. На стороне сервера вы можете каким-то образом объединить эти пакеты (возможно, поразрядно или по всем байтам для определенного временного интервала с каждой машины) и отправить их снова через многоадресную рассылку.
Проблема в том, что даже ваш код будет иметь проблемы ... у вас нет способа надежно получить эти пакеты на сервер в режиме реального времени. UDP будет отбрасывать пакеты, и вам придется создавать допуски для приема позднего прибытия или отсутствия шоу. В этом отношении TCP не лучше. Несомненно, пакеты гарантированно прибудут в порядок, но по какой цене со временем? Кроме того, чтобы сжать звук на каждом хосте, затем сжать его на сервере, объединить и повторно сжать ... все, сохраняя при этом ощущение звука в реальном времени, ужасно амбициозного.
Я НЕ НУЖДАЮСЬ, чтобы быть экспертом, и у меня нет НИКАКОГО опыта, выполняющего такие вещи, но это просто ЗВУКИ.
Вы когда-нибудь пользовались телефоном, были связаны с телеконференцией или смотрели CNN? Если вы не делаете это в локальной сети, у вас нет молитвы. –
Я знаю, что латентность ниже 1сек, вероятно, невозможна ... но, возможно, кто-то попробовал что-то подобное и может поделиться своим опытом ... –
Ну, по крайней мере, вы реалистичны:) ... когда вы говорите «пение, «это означает для меня, что исполнители используют звук, чтобы определить, когда им нужно петь, и какую ноту петь и т. д. Вам действительно нужно ощущение в реальном времени для этого типа сценария, поэтому я не вижу, чтобы это было вариант с текущей технологией, если только она не является локальной сетью, как указано ранее. –