7

Мне интересно, есть ли какие-либо программные или аппаратные решения для синхронизации аудио или аудио и видео между несколькими компьютерами или устройствами в сети.

Я видел Sonos, и это может быть хорошим решением, но это также очень дорогое решение.

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

Я видел решение с использованием Apple Iport Express, но задержка была неприемлема для всего, кроме музыки. Я бы хотел избежать подключения аудио проводов с балунами к группе усилителей, разбросанных повсюду, когда у меня везде работает cat5.

Кто-нибудь знаком с использованием этого вида процесса для всего домашнего аудио? Задержка очень важна для меня, если к звуку прикреплено видео (например, при просмотре хоккейной игры)

ОБНОВИТЬ

С тех пор я установил несколько автоматических коробок вокруг дома для музыкальных целей и подключил приемник Onkyo с последовательным управлением к моей системе автоматизации. Это дает мне немного больше гибкости, и в большинстве зон я могу получать звук в реальном времени из игры, используя мультизоны на ресивере, а для музыки я могу синхронизировать остальные зоны. Коробки sqeezebox будут синхронизироваться друг с другом (хотя для событий в прямом эфире существует задержка). В тех местах, где это является проблемой (например, при просмотре хоккейной игры), я распределил HDMI с помощью матричного переключателя на 4 разных телевизора, которые имеют аудиовыход. к усилителю в этой комнате. Позволяя мне иметь нулевую задержку между комнатами для живых событий, которые нуждаются в видео.

В целом я ценю ответы, но ни один из них не работал для меня. Я думаю, что распределение HDMI на сегодняшний день является одним из лучших для видео и аудио, и squeezebox дешевле, чем sonos для аудио (и есть программные плееры, которые вы можете запустить на любом ПК с небольшой настройкой, они могут синхронизироваться прямо для многозональное домашнее аудио решение)

5 ответов5

3

Попробуйте Airfoil . Да, он лучше всего работает для музыки, но он может обрабатывать любой звук из любого приложения. У него есть собственное приложение для воспроизведения видео, которое будет синхронизировать аудио / видео для видеофайлов.

У меня есть колонки, разбросанные по всему дому и подключенные к компьютеру или в аэропорту. Я могу выводить звук из любой программы на любом компьютере в доме, а также выбирать, через какие динамики воспроизводится звук. Черт возьми, я был знаком с ipod touch к некоторым портативным колонкам на улице во время вечеринок.

2

Извините за длину этого ответа - он представляет собой несколько недель исследований методом проб и ошибок. Боюсь, детали могут иметь значение, поэтому я предоставил больше, чем меньше. Он ориентирован на обмен аудио

Как и другие участники этой темы, мне было интересно, чтобы синхронизированный звук распространялся по всему дому с местами, где акустическая среда перекрывается. Поскольку звук распространяется со скоростью около фута / миллисекунды, для этого требуется синхронизация на уровне примерно 10 секунд миллисекунды. Я нашел способ заставить это работать с VLC и заставить его оставаться в синхронизации часами без блужданий. Хотя я признаю, что посмотрел на исходный код VLC, чтобы попытаться понять, какие часы используются, я не претендую на то, чтобы понять, что там происходит. Кроме того, многое из того, что я сделал, было эмпирическим. Таким образом, если люди, которые действительно понимают VLC, предлагают разъяснения о лучшем способе сделать это, я наиболее восприимчив. С этими предостережениями, вот что я сделал, похоже, работает.

конфигурация

У меня есть четыре области, где я хотел бы поделиться аудио и коллекцией компьютеров различных винтажей, которые я готов посвятить аудио. Некоторые из этих машин работают под управлением Linux (Ubuntu 12.04), а другие - под Windows. В целом синхронизировать блоки Linux было проще, чем блоки Windows, но это было возможно.

На компьютерах с Linux необходимо было обновить драйверы pulseaudio с помощью ppa:ubuntu-audio-dev/ppa, чтобы получить версию с низкой задержкой. В остальном конфигурация была ванильной. VLC пожаловался на задержку без этого обновления. Я надеюсь, что когда мы получим 14.04, эта проблема исчезнет.

На Windows-боксах я работаю под управлением Windows 7 Pro.

Звук подается от VLC, Linux-бокса, который не зависит от машин воспроизведения. Это просто вниз по течению от брандмауэра, где сеть входит в дом.

Сеть представляет собой смесь гигабитных проводных и беспроводных сетей (802.11g).

Вещи, которые могут не иметь значения

Поскольку я гайка времени, все машины связаны во времени на уровне менее миллисекунды с помощью NTP. На Linux-боксах это тривиально. В окне windows я использую реализацию Meinberg для ntp (находится по адресу http://www.meinbergglobal.com/english/sw/ntp.htm). Блок, который обслуживает аудио, синхронизируется с обычными внешними серверами времени. , Тем не менее, устройства воспроизведения синхронизируются исключительно с аудиосервером и внимательно следят за ним. Строка из файла ntp.config на машинах воспроизведения, которая делает это,

server 10.17.0.12 iburst burst minpoll 4 maxpoll 4 prefer

Это гарантирует, что проверка времени выполняется каждые 16 секунд - очевидно, меня не беспокоит сетевой трафик.

сервер

Сервер настроен на мониторинг потока PulseAudio, так что все, что я играю на сервере, будет передано в выходной поток.

Выходной поток является потоком RTSP, обслуживающим два канала с частотой 44,1 кГц. Опять же, есть некоторые вещи, которые я мог бы сделать, чтобы сохранить пропускную способность, но меня больше интересует правильная синхронизация, чем минимизация пропускной способности.

В настройках (в разделе Инструменты)

  1. В разделе "Простые настройки" - "Аудио" - убедитесь, что включен режим "Растягивание по времени".

    Для остальных настроек нажмите "Все" внизу страницы настроек.

  2. Разрешить приоритет в реальном времени

  3. Синхронизация сети - проверьте главные часы сети и укажите IP-адрес главного сервера (в моем случае это устройство)
  4. Аудио - включить высококачественную передискретизацию звука и установить флажок Включить время растяжения звука
  5. Ввод / Кодеки - этот, кажется, имеет наибольшее значение - прокрутите вниз до нижней части страницы
    1. Установите сетевое кэширование на 300 мс - вам может потребоваться изменить это в зависимости от скорости и конкуренции ваших машин - на моем 300 достаточно
    2. Счетчик среднего значения часов - я обнаружил, что 1000 работал хорошо - это, кажется, влияет на то, как быстро синхронизация следует за небольшими изменениями во времени
    3. Включить синхронизацию часов
    4. Джиттер часов - 30 мс работает на моих системах
    5. Проверьте синхронизацию сети
    6. Я предоставил имена файлов для каталога Record и Timeshift - я не знаю, имеет ли это значение
    7. Детализация временного сдвига - я установил 1000, опять же, я не уверен, что это имеет значение.

клиенты

Настройте клиенты для воспроизведения потока, который обеспечивает ваш сервер.

Клиенты настроены так, чтобы соответствовать мастеру с несколькими исключениями - здесь я перечислю только различия

Windows- Настройки

  1. Повысить приоритет процесса
  2. Установите источник часов на Системное время (Опасно!) - я пробовал другие настройки, и они имеют тенденцию дрейфовать. Это, кажется, работает хорошо, пока NTP делает свою работу. Когда я выключаю NTP, все начинает дрейфовать. Из исходного кода видно, что эта опция использует GetSystemTimePreciseAsFileTime () - в современных системах это субмикросекундный таймер и, по-видимому, часы, которыми управляет NTP. Я уверен, что есть причина, по которой он помечен как «Опасный», поэтому используйте его на свой страх и риск - похоже, он мне подходит.
  3. В синхронизации по сети - не проверять главные часы сети (в конце концов, это клиент). Укажите IP-адрес ваших главных часов.

В остальном все так же, как на мастере.

Linux -

предпочтения

  1. У вас нет выбора по часам - вам нужно предоставить IP-адрес мастера так же, как вы делаете это для Windows.

Предостережения

Сказав все вышесказанное, кажется, что все настроенные мной клиенты Linux работают хорошо - даже очень старый нетбук с очень маленькой мощностью.

Windows это отдельная история. Я попробовал два бокса с процессорами i7 - они относительно новые и быстрые. Один, ноутбук Lenovo, работает по рецепту выше. Другой, Shuttle Box, работал в определенной степени, но через несколько часов начинал дрейфовать. Я наконец сдался и установил двойную загрузку с Ubuntu. Как только я это сделал, все просто заработало. Хотя я убежден, что Windows можно заставить работать, поскольку у меня есть доказательства существования, Linux, похоже, ближе к надежному решению. Теперь у меня есть три блока с клиентом Linux, и все они работают безупречно и синхронизируются в течение многих часов без необходимости перезапуска клиента VLC.

2

PulauDaudio должен сделать это, я верю - по крайней мере, так говорится в FAQ

1

Если задержка неприемлема, лучше всего посылать звук по дому через FM или беспроводные колонки (или даже кабели). Как подключить интернет-радио к тюнеру?

1

Должно быть возможно использовать VLC для этой цели.

См., Например, How-To: Потоковое почти все, используя VLC:

«... мы покажем вам, как передавать мультимедийные файлы любого типа с вашего компьютера на другое устройство в вашей сети ... Используя эти приемы, вы можете передавать потоковое видео со своего офисного компьютера на ноутбук, подключенный к телевизору в гостиной, и управлять списком воспроизведения с помощью своего КПК ».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .