Извините за длину этого ответа - он представляет собой несколько недель исследований методом проб и ошибок.  Боюсь, детали могут иметь значение, поэтому я предоставил больше, чем меньше.  Он ориентирован на обмен аудио
Как и другие участники этой темы, мне было интересно, чтобы синхронизированный звук распространялся по всему дому с местами, где акустическая среда перекрывается.  Поскольку звук распространяется со скоростью около фута / миллисекунды, для этого требуется синхронизация на уровне примерно 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 кГц.  Опять же, есть некоторые вещи, которые я мог бы сделать, чтобы сохранить пропускную способность, но меня больше интересует правильная синхронизация, чем минимизация пропускной способности.
В настройках (в разделе Инструменты)  
- В разделе "Простые настройки" - "Аудио" - убедитесь, что включен режим "Растягивание по времени". - Для остальных настроек нажмите "Все" внизу страницы настроек. 
- Разрешить приоритет в реальном времени 
- Синхронизация сети - проверьте главные часы сети и укажите IP-адрес главного сервера (в моем случае это устройство)
- Аудио - включить высококачественную передискретизацию звука и установить флажок Включить время растяжения звука
- Ввод / Кодеки - этот, кажется, имеет наибольшее значение - прокрутите вниз до нижней части страницы
- Установите сетевое кэширование на 300 мс - вам может потребоваться изменить это в зависимости от скорости и конкуренции ваших машин - на моем 300 достаточно
- Счетчик среднего значения часов - я обнаружил, что 1000 работал хорошо - это, кажется, влияет на то, как быстро синхронизация следует за небольшими изменениями во времени
- Включить синхронизацию часов
- Джиттер часов - 30 мс работает на моих системах
- Проверьте синхронизацию сети
- Я предоставил имена файлов для каталога Record и Timeshift - я не знаю, имеет ли это значение
- Детализация временного сдвига - я установил 1000, опять же, я не уверен, что это имеет значение.
 
клиенты
Настройте клиенты для воспроизведения потока, который обеспечивает ваш сервер.
Клиенты настроены так, чтобы соответствовать мастеру с несколькими исключениями - здесь я перечислю только различия
Windows- Настройки
- Повысить приоритет процесса
- Установите источник часов на Системное время (Опасно!) - я пробовал другие настройки, и они имеют тенденцию дрейфовать.  Это, кажется, работает хорошо, пока NTP делает свою работу.  Когда я выключаю NTP, все начинает дрейфовать.  Из исходного кода видно, что эта опция использует GetSystemTimePreciseAsFileTime ()- в современных системах это субмикросекундный таймер и, по-видимому, часы, которыми управляет NTP.  Я уверен, что есть причина, по которой он помечен как «Опасный», поэтому используйте его на свой страх и риск - похоже, он мне подходит.
- В синхронизации по сети - не проверять главные часы сети (в конце концов, это клиент). Укажите IP-адрес ваших главных часов.
В остальном все так же, как на мастере.
Linux - 
предпочтения
- У вас нет выбора по часам - вам нужно предоставить IP-адрес мастера так же, как вы делаете это для Windows.
Предостережения
Сказав все вышесказанное, кажется, что все настроенные мной клиенты Linux работают хорошо - даже очень старый нетбук с очень маленькой мощностью.
Windows это отдельная история.  Я попробовал два бокса с процессорами i7 - они относительно новые и быстрые.  Один, ноутбук Lenovo, работает по рецепту выше.  Другой, Shuttle Box, работал в определенной степени, но через несколько часов начинал дрейфовать.    Я наконец сдался и установил двойную загрузку с Ubuntu.  Как только я это сделал, все просто заработало.  Хотя я убежден, что Windows можно заставить работать, поскольку у меня есть доказательства существования, Linux, похоже, ближе к надежному решению.  Теперь у меня есть три блока с клиентом Linux, и все они работают безупречно и синхронизируются в течение многих часов без необходимости перезапуска клиента VLC.