Ich frage mich, ob es Software- oder Hardwarelösungen gibt, um Audio oder Audio und Video über mehrere Computer oder Geräte in einem Netzwerk zu synchronisieren.
Ich habe Sonos gesehen, und es könnte eine gute Lösung sein, aber es ist auch eine sehr teure Lösung.
Ich möchte in der Lage sein, etwas mit Echtzeit-Audioausgabe auf einem PC wiederzugeben, es aber über Lautsprecher im ganzen Haus zu hören, sei es der Heimkino-Receiver oder ein anderer Computer in einem anderen Raum.
Ich sah eine Lösung mit dem Apple IPort Express, aber die Latenz war für alles andere als nur für Musik inakzeptabel. Ich möchte vermeiden, Audiokabel mit Baluns zu einer Reihe von Verstärkern zu führen, die überall verstreut sind, wenn ich cat5 überall laufen lasse.
Kennt sich jemand mit dieser Art von Verfahren für das gesamte Heim-Audio aus? Die Latenz ist eine große Sache für mich, wenn ich an den Sound ein Video angehängt habe (z. B. ein Hockeyspiel gucken)
AKTUALISIEREN
Seitdem habe ich mehrere Squeezeboxen für Musikzwecke im Haus installiert und einen seriell gesteuerten Onkyo-Empfänger an mein Automatisierungssystem angeschlossen. Dies gibt mir ein wenig mehr Flexibilität und in den meisten Zonen kann ich mithilfe der Multizonen auf dem Receiver Echtzeit-Audio von einem Spiel abrufen. Bei Musik kann ich alle anderen Zonen synchronisieren. Die sqeezeboxes werden miteinander synchronisiert (da es bei Live-Events zu Wartezeiten kommt). In Bereichen, in denen dies ein Problem darstellt (z. B. beim Anschauen eines Hockeyspiels), habe ich HDMI mithilfe eines Matrixschalters auf 4 verschiedene Fernseher verteilt, die alle Audioausgänge haben zu einem Verstärker in diesem Raum. Erlaubt mir, für Live-Events, die Videos benötigen, keine Latenz in verschiedenen Räumen zu haben.
Alles in allem schätze ich die Antworten, aber keine von ihnen hat für mich funktioniert. Ich denke, die HDMI-Distribution ist mit Abstand eine der besten für Video und Audio, und Squeezebox ist billiger als Sonos für Audio (und es gibt Software-Player, die Sie auf jedem PC mit ein wenig Feinabstimmung ausführen können, die sie für eine Synchronisierung direkt aufrüsten können Heim-Audiolösung für viele Zonen)
Antworten:
Wenn die Latenz nicht akzeptabel ist, können Sie den Ton am besten über UKW oder drahtlose Lautsprecher (oder sogar Kabel) im ganzen Haus übertragen .
quelle
Probieren Sie Airfoil aus . Ja, es funktioniert am besten für Musik, aber es kann jede Audioausgabe von jeder Anwendung verarbeiten. Es hat eine eigene Video-Player-App, die Audio / Video für Videodateien synchronisiert.
Ich habe Lautsprecher im ganzen Haus verteilt, die entweder an einen Computer oder einen Flughafen-Express angeschlossen sind. Ich kann Sound von jedem Programm auf jedem Computer im Haus ausgeben und auswählen, über welche Lautsprecher der Sound ausgegeben wird. Es ist bekannt, dass ich auf Partys auch einen iPod-Touch an tragbare Lautsprecher im Freien anschliesse.
quelle
Pulseaudio sollte das tun, ich glaube, das ist zumindest, was die FAQ sagt
quelle
Wir entschuldigen uns für die Länge dieser Antwort - es handelt sich um mehrere Wochen Test-und-Fehler-Forschung. Ich fürchte, die Details könnten von Bedeutung sein, deshalb habe ich mehr als weniger bereitgestellt. Es konzentriert sich auf Audio-Sharing
Wie andere in diesem Thread war ich daran interessiert, Audio mit Räumen zu synchronisieren, in denen sich die akustischen Umgebungen überschneiden. Da sich der Ton mit einer Geschwindigkeit von etwa einem Fuß / Millisekunde bewegt, ist eine Synchronisation mit einer Geschwindigkeit von etwa 10 Millisekunden erforderlich. Ich habe eine Möglichkeit gefunden, diese Funktion mit VLC zu nutzen und sie stundenlang synchron zu halten, ohne zu wandern. Ich gebe zwar zu, dass ich mir den VLC-Quellcode angesehen habe, um zu verstehen, welche Uhren verwendet werden, aber ich gebe nicht vor, zu verstehen, was dort vor sich geht. Darüber hinaus war vieles, was ich getan habe, empirisch. Wenn also die Leute, die VLC wirklich verstehen, Aufschluss darüber geben, wie dies besser zu erreichen ist, bin ich am empfänglichsten. Mit diesen Vorbehalten aus dem Weg zu gehen, scheint das, was ich getan habe, zu funktionieren.
Aufbau
Ich habe vier Bereiche, in denen ich Audio teilen möchte, und eine Sammlung von Computern verschiedener Jahrgänge, die ich bereit bin, Audio bereitzustellen. Auf einigen dieser Computer wird Linux (Ubuntu 12.04) ausgeführt, auf anderen Windows. Insgesamt war es einfacher, die Linux-Boxen als die Windows-Boxen zu synchronisieren, aber es war möglich.
Unter Linux mussten die pulseaudio-Treiber mit ppa: ubuntu-audio-dev / ppa aktualisiert werden, um die Version mit niedriger Latenz zu erhalten. Ansonsten war die Konfiguration Vanille. VLC beklagte sich über die Latenz ohne dieses Upgrade. Ich hoffe, wenn wir den 14.04 bekommen, wird dieses Problem verschwinden.
Auf den Windows-Boxen starte ich Windows 7 Pro.
Das Audio wird von VLC einer Linux-Box geliefert, die unabhängig von den Abspielgeräten ist. Es befindet sich direkt hinter der Firewall, an der das Netzwerk ins Haus gelangt.
Das Netzwerk ist eine Mischung aus kabelgebundenem und kabellosem Gigabit (802.11g).
Dinge, die möglicherweise keine Rolle spielen
Da ich ein Zeitnarr bin, sind alle Maschinen mithilfe von NTP auf der Sub-Millisekunden-Ebene zeitlich miteinander verbunden. Auf den Linux-Boxen ist dies trivial. Auf der Windows-Box verwende ich die Meinberg-Implementierung von ntp (zu finden unter http://www.meinbergglobal.com/english/sw/ntp.htm ). Die Box, die das Audio bereitstellt, wird mit den normalen externen Zeitservern synchronisiert . Die Zeit der Wiedergabegeräte wird jedoch ausschließlich mit dem Audioserver synchronisiert und verfolgt diesen genau. Die Zeile aus der Datei ntp.config auf den Wiedergabegeräten, die dies ausführt
Dies stellt sicher, dass alle 16 Sekunden Zeitprüfungen durchgeführt werden - natürlich mache ich mir keine Sorgen um den Netzwerkverkehr.
Server
Der Server ist so eingerichtet, dass er den PulseAudio-Stream überwacht, sodass alles, was ich auf dem Server spiele, in den Ausgabestream eingespeist wird.
Der Ausgangsstrom ist ein RTSP-Strom, der zwei Kanäle mit 44,1 kHz bedient. Auch hier gibt es wahrscheinlich Dinge, die ich tun könnte, um Bandbreite zu sparen, aber ich bin mehr daran interessiert, die Synchronisierung richtig zu machen, als die Bandbreite zu minimieren.
In den Einstellungen (unter Extras)
Audio - Stellen Sie in den einfachen Einstellungen sicher, dass Audio mit Zeitdehnung aktiviert ist
Klicken Sie für die restlichen Einstellungen unten auf der Seite "Einstellungen" auf "Alle"
Echtzeitpriorität zulassen
Kunden
Richten Sie die Clients so ein, dass sie den vom Server bereitgestellten Stream wiedergeben.
Die Clients sind bis auf wenige Ausnahmen so eingestellt, dass sie mit dem Master übereinstimmen - hier werde ich nur die Unterschiede auflisten
Windows-Einstellungen
GetSystemTimePreciseAsFileTime ()
- auf modernen Systemen ist dies ein Sub-Mikrosekunden-Timer und scheint die Uhr zu sein, die NTP verwaltet. Ich bin mir sicher, dass es einen Grund gibt, warum es als gefährlich eingestuft ist. Die Verwendung erfolgt also auf eigenes Risiko - es scheint für mich zu funktionieren.Ansonsten ist alles wie beim Master.
Linux -
Einstellungen
Vorbehalte
Nach alledem scheinen alle von mir eingerichteten Linux-Clients gut zu funktionieren - sogar ein sehr altes Netbook mit sehr wenig PS.
Windows ist eine andere Geschichte. Ich habe zwei Boxen mit i7-Prozessoren ausprobiert - sie sind relativ neu und schnell. Einer, ein Lenovo-Laptop, arbeitet mit dem obigen Rezept. Die andere, eine Shuttle-Box, funktionierte bis zu einem gewissen Grad, aber nach ein paar Stunden begann sie zu treiben. Endlich habe ich aufgegeben und es auf Dual Boot mit Ubuntu eingestellt. Sobald ich das getan habe, hat einfach alles funktioniert. Obwohl ich davon überzeugt bin, dass Windows funktionieren kann, da ich einen Existenznachweis habe, scheint Linux einer zuverlässigen Lösung näher zu sein. Ich habe jetzt drei Boxen mit dem Linux-Client, und alle funktionieren einwandfrei und bleiben auf Zeitskalen von vielen Stunden synchron, ohne dass der VLC-Client neu gestartet werden muss.
quelle
Zu diesem Zweck sollte es möglich sein, VLC zu verwenden.
Siehe zB How-To: Fast alles mit VLC streamen :
"... wir zeigen Ihnen, wie Sie jede Art von Mediendatei von Ihrem Computer auf ein anderes Gerät in Ihrem Netzwerk streamen können ... Mit diesen Techniken können Sie Videos von Ihrem Bürocomputer auf einen Laptop streamen, der an den Fernseher im Wohnzimmer angeschlossen ist und steuere die Wiedergabeliste mit deinem PDA. "
quelle