Wie leite ich Ton über das Lan von einem Computer zum anderen weiter?

11

Ich habe zwei Computer. Auf Computer A wird Ubuntu 11.10 mit Gnome Clasic ausgeführt. Auf Computer B wird Mythbuntu 11.10 ausgeführt. Computer B hat ein süßes digitales Audio-Soundsystem.

Ich möchte Musik von Banshee auf Computer A abspielen, aber die Tonausgabe wird über das LAN gesendet und über die Lautsprecher von Computer B ausgegeben.

Ich fand diese Frage, die darauf hinwies, dass ich etwas verwenden sollte, das "Paprefs" genannt wird, um dies zu erreichen. Also habe ich paprefs installiert und dann im Dialogfeld "Netzwerkserver" folgende Einstellungen ausgewählt:

Paprefs

Und dann ... ich habe keine Ahnung, was passieren soll. Ich habe die Paprefs-Homepage überprüft und unter Dokumentation steht nur: "Es gibt nicht viel zu sagen. Führen Sie einfach Paprefs aus und überzeugen Sie sich selbst."

Ich sehe nichts oder keine Möglichkeit, die Verbindung von Computer A zu Computer B herzustellen.

Wie soll das funktionieren? Kann jemand klare Anweisungen geben, was man tut, um die Verbindung tatsächlich herzustellen?

Im Idealfall besteht die Hoffnung darin, dass ich ein Setup haben kann, mit dem ich bestimmte Anwendungen wie Banshee immer über das LAN mit dem Soundsystem von Computer B abspielen kann. Mit anderen Worten, nach dem Einrichten ist dies die Standardeinstellung und muss nicht jedes Mal manuell erneut verbunden werden.

Fragesteller
quelle

Antworten:

9

Die am wenigsten komplizierte Methode zum Senden von Audio von einem Pulse Audio-Server über das LAN an einen anderen ist die Verwendung der RTP / Multicast-Funktion, die Sie mithilfe von Paprefs einrichten könnenInstallieren Sie Paprefs .

Auf dem Absender:

Paprefs-Screenshot mit der Option "Multicast / RTTP-Absender aktivieren" aktiviert und "Audio von lokalen Lautsprechern senden" ausgewählt

Wählen Sie Ihre lokale Soundkarte oder ein separates Gerät wählen Sie als Audio-Ausgang auswählen können Audio - Voreinstellungen .

Auf dem Empfänger:

Paprefs-Screenshot mit der Option "Multicast / RTTP-Empfänger aktivieren" aktiviert

Auf diese Weise wird Audio vom Absender über Ihr LAN an den Empfänger gesendet.

Takkat
quelle
Danke dafür. Ich habe diese Einstellungen wie von Ihnen beschrieben vorgenommen. Wenn ich jedoch Banshee auf dem Sender spiele, höre ich sie auf dem Empfänger nicht. Ich sehe auch kein Netzwerk-Soundgerät in pavucontrol oder Gnome-Sound-Einstellungen. Gibt es keine weiteren Schritte, die ich unternehmen muss?
Fragesteller
Habe es sortiert. Ich musste: 1. Beide Maschinen neu starten. 2. Gehen Sie auf dem Sender-Computer in die Soundeinstellungen und wählen Sie auf der Registerkarte "Ausgabe" das Netzwerk-Soundgerät aus.
Fragesteller
Hab das einfach gemacht. Got massiven Verzögerung und es machte den Server - PC wirklich träge ... vielleicht etwas , was ich falsch mache, aber es handelt sich nur um zwei Kontrollkästchen tickt, ich weiß nicht wirklich , was könnte schief gehen.
Greg
@ Greg: Abhängig von Ihrem Netzwerk und dem Audioinhalt (Bitrate!) Kann diese Streaming-Methode sehr anspruchsvoll sein. Falls Sie Probleme haben, versuchen Sie pulseaudio -kgelegentlich, pulseaudio zurückzusetzen .
Takkat
Pulseaudio hat eine "sehr hohe" Priorität. Vielleicht ist das der Grund für den trägen Server ...
Rodrigo
2

Das folgende Beispiel zeigt, wie ein Pulseaudio-TCP-Tunnel erstellt wird, um den Ton von Computer alphazu Computer weiterzuleiten beta. In meinem Fall läuft auf beiden Computern Ubuntu 14.04.

alphaFügen Sie auf (dem Quellcomputer) die folgenden Zeilen an /etc/pulse/default.pa:

.fail
load-module  module-tunnel-sink  sink_name=beta  server=tcp:IP_ADDRESS_OF_BETA:4713
.nofail

(Wählen Sie einen eindeutigen Wert für sink_name. Ich habe den Wert willkürlich ausgewählt beta.)

betaFügen Sie auf (dem Zielcomputer) die folgende Zeile an /etc/pulse/default.pa:

load-module  module-native-protocol-tcp  auth-ip-acl=127.0.0.1;LAN_NAME

In den oben genannten LAN_NAMEund IP_ADDRESS_OF_BETAwird spezifisch für Ihre Computer und Ihr LAN sein. Zum Beispiel könnten sie sein:

LAN_NAME            =  192.168.1.0/24
IP_ADDRESS_OF_BETA  =  192.168.1.10

Nachdem Sie die obigen Änderungen vorgenommen haben, starten Sie pulseaudio zuerst ein beta, dann weiter alpha. Die Reihenfolge ist wichtig. Ich starte pulseaudio mit neu pulseaudio --kill. Ich laufe pulseaudio --killals mein Pesonal UID(nicht als Wurzel), da pulseaudio bereits als mein persönliches läuft UID.

Wenn alles erfolgreich gearbeitet, sollten Sie jetzt den Tunnel auf dem siehe Output DevicesRegisterkarte pavucontrolauf alpha. Wenn eine Audioquelle abgespielt wird , sollten Sie die Quelle an den Tunnel auf dem Weg zu der Lage sein PlaybackReiter pavucontrolauf alpha.

Solange der Tunnel intakt ist, sollten Sie den Tunnel auch auf der PlaybackRegisterkarte pavucontrolon sehen können beta. Wenn der Tunnel verschwindet, starten Sie pulseaudio zuerst ein beta, dann ein alpha. Der Tunnel wird nur beim pulseaudioStart erstellt alpha.

Hinweis 1: In diesem Beispiel wird davon ausgegangen, dass pulseaudio auf beiden alphaund ausgeführt wird beta. Ab 2016 läuft pulseaudio standardmäßig unter Ubuntu und das schon seit Jahren.

Hinweis 2: In diesem Beispiel wird kein Avahi Zero-Konfigurationsnetzwerk verwendet. Avahi ist unter Ubuntu möglicherweise standardmäßig aktiviert, aber ich habe Avahi auf meinen Systemen deaktiviert. In meinem LAN hat beta(der Zielcomputer) immer dieselbe IP-Adresse, und ich kenne diese Adresse.

Hinweis 3: Die oben genannten auth-ip-aclInformationen gewähren Zugriff auf alle Geräte im LAN. Pulseaudio unterstützt auch andere (sicherere) Authentifizierungsmethoden. Ich benutze auth-ip-acl, um die Konfiguration zu vereinfachen.

Weitere Informationen finden Sie auf den folgenden Seiten:

/raspberrypi/8621/how-to-set-up-a-pulseaudio-sink https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Network/# index2h2 https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Modules/#index14h3

mpb
quelle