/* Hacken Open Air */
[stratum0-wiki.git] / PulseAudio.mw
index 13030ee..0f870a3 100644 (file)
@@ -1,3 +1,5 @@
+{{veraltet}}
+
 Sowohl die [[minibox]] im Sofaraum als auch die [[Spacekiste]] im Frickelraum nehmen PulseAudio-Streams über Port 4713 aus dem lokalen Netzwerk an, und announcen ihren PulseAudio-Sinks über Zeroconf. Das macht es möglich, über beliebige Clients z.B. Musik zu streamen.
 
 == Server-Seite ==
 Sowohl die [[minibox]] im Sofaraum als auch die [[Spacekiste]] im Frickelraum nehmen PulseAudio-Streams über Port 4713 aus dem lokalen Netzwerk an, und announcen ihren PulseAudio-Sinks über Zeroconf. Das macht es möglich, über beliebige Clients z.B. Musik zu streamen.
 
 == Server-Seite ==
@@ -9,7 +11,7 @@ Dann entweder neu einloggen (der PulseAudio-Server ist ja immer an einen Benutze
 
 Zu beachten ist, dass unter Debian/Ubuntu das Modul <tt>pulseaudio-module-zeroconf</tt> installiert sein muss.
 
 
 Zu beachten ist, dass unter Debian/Ubuntu das Modul <tt>pulseaudio-module-zeroconf</tt> installiert sein muss.
 
-== Sinks ==
+=== Sinks ===
 Die Sinks auf den beiden Rechnern heißen (sofern Multicast DNS und Auto-Discovery via Zeroconf (siehe [[#Client-Seite|unten]]) auf dem Client aktiviert ist):
 * <tt>tunnel.minibox.local.alsa_output.pci-0000_00_08.0.analog-stereo</tt>
 * <tt>tunnel.minibox.local.alsa_output.0.iec958-stereo</tt> (Digital-Ausgang, aber meist nicht angeschlossen)
 Die Sinks auf den beiden Rechnern heißen (sofern Multicast DNS und Auto-Discovery via Zeroconf (siehe [[#Client-Seite|unten]]) auf dem Client aktiviert ist):
 * <tt>tunnel.minibox.local.alsa_output.pci-0000_00_08.0.analog-stereo</tt>
 * <tt>tunnel.minibox.local.alsa_output.0.iec958-stereo</tt> (Digital-Ausgang, aber meist nicht angeschlossen)
@@ -58,47 +60,14 @@ Man startet die Wiedergabe auf dem Client und sucht sich dann mit <tt>pacmd list
                application.process.session_id = "3d50ca96e3bbb8de38d0d46a00000298-1349808857.893717-1874973741"
                module-stream-restore.id = "sink-input-by-application-name:MPlayer"
 
                application.process.session_id = "3d50ca96e3bbb8de38d0d46a00000298-1349808857.893717-1874973741"
                module-stream-restore.id = "sink-input-by-application-name:MPlayer"
 
-Außerdem braucht man den Index der Sink auf dem Server. Diesen kann man mit <tt>pacmd list-sinks</tt> herausfinden (einfach nach den menschenlesbaren Bezeichnungen suchen…). Beispiel:
-
- index: '''10'''
-       name: <tunnel.minibox.local.alsa_output.pci-0000_00_08.0.analog-stereo>
-       driver: <module-tunnel.c>
-       flags: NETWORK HW_MUTE_CTRL HW_VOLUME_CTRL LATENCY 
-       state: SUSPENDED
-       suspend cause: IDLE 
-       priority: 0
-       volume: 0:  75% 1:  75%
-               balance 0.00
-       base volume: 100%
-       volume steps: 65537
-       muted: no
-       current latency: 0.00 ms
-       max request: 0 KiB
-       max rewind: 0 KiB
-       monitor source: 16
-       sample spec: s16le 2ch 44100Hz
-       channel map: front-left,front-right
-                    Stereo
-       used by: 0
-       linked by: 0
-       fixed latency: 250.00 ms
-       module: 39
-       properties:
-               device.description = "Built-in Audio Analog Stereo on pulse@minibox"
-               tunnel.remote.server = "[192.168.178.108]:4713"
-               tunnel.remote.sink = "alsa_output.pci-0000_00_08.0.analog-stereo"
-               device.icon_name = "audio-card"
-               tunnel.remote_version = "26"
-               tunnel.remote.user = "pulse"
-               tunnel.remote.fqdn = "minibox"
-               tunnel.remote.description = "Built-in Audio Analog Stereo"
+Außerdem braucht man den Index oder den Namen der Sink auf dem Server (siehe [[#Sinks|oben]], den Index kann man zur Not auch mit <tt>pacmd list-sinks</tt> herausfinden).
 
 So kann man jetzt PulseAudio anweisen, den entsprechenden Stream umzuleiten:
 
 So kann man jetzt PulseAudio anweisen, den entsprechenden Stream umzuleiten:
- pacmd move-sink-input 22 10
+ pacmd move-sink-input 22 tunnel.minibox.local.alsa_output.pci-0000_00_08.0.analog-stereo
 
 ==== Alle Audio-Streams umleiten ====
 Um jegliche Audio-Ausgabe vom Client auf den Server umzuleiten, sucht man wie oben den Sink-Index des Servers heraus. Diesen setzt man dann einfach als Standard-Sink:
 
 ==== Alle Audio-Streams umleiten ====
 Um jegliche Audio-Ausgabe vom Client auf den Server umzuleiten, sucht man wie oben den Sink-Index des Servers heraus. Diesen setzt man dann einfach als Standard-Sink:
- pacmd set-default-sink 10
+ pacmd set-default-sink tunnel.minibox.local.alsa_output.pci-0000_00_08.0.analog-stereo
 
 Schon laufende Audio-Streams müssen mit der obigen Methode einzeln verschoben werden.
 
 
 Schon laufende Audio-Streams müssen mit der obigen Methode einzeln verschoben werden.
 
@@ -116,14 +85,15 @@ Man kann einzelne Anwendungen auch anweisen, sich direkt mit dem Server zu verbi
 Das hat prinzipiell den Vorteil, dass kein lokaler PulseAudio-Server laufen muss (auch das Modul <tt>module-zeroconf-discover</tt> muss nicht wie oben geladen sein). Außerdem fügt ein lokaler PulseAudio-Server tendenziell eher mehr Latenz zum Signal hinzu und verbraucht CPU.
 
 === Wiedergabe im ganzen Space (buggy, CPU-lastig) ===
 Das hat prinzipiell den Vorteil, dass kein lokaler PulseAudio-Server laufen muss (auch das Modul <tt>module-zeroconf-discover</tt> muss nicht wie oben geladen sein). Außerdem fügt ein lokaler PulseAudio-Server tendenziell eher mehr Latenz zum Signal hinzu und verbraucht CPU.
 
 === Wiedergabe im ganzen Space (buggy, CPU-lastig) ===
-Pulse hat die Möglichkeit, mehrere Sinks gleichzeitig zu bespielen, es findet sogar eine Synchronisation statt. Dies macht das Modul <tt>module-combine-sink</tt>. Dabei werden ein oder mehrere Sinks unter einem neuen, virtuellen Sink neu zusammengefasst.
- pacmd load-module module-combine-sink sink_name=space slaves=tunnel.spacekiste.local.alsa_output.pc
- i-0000_00_1b.0.analog-stereo,tunnel.minibox.local.alsa_output.pci-0000_00_08.0.analog-stereo
-Hier habe ich den neuen virtuellen Sink <tt>space</tt> genannt, die Namen der Sinks können aus <tt>pacmd list-sinks</tt> extrahiert werden.
-Danach sollte der virtuelle Sink an den üblichen, verdächtigen Stellen auftauchen (auch im <tt>pavucontrol</tt>, habe es so aber noch nicht zum Laufen bekommen.
-Was funktioniert ist z.B.
+Pulse hat theoretisch die Möglichkeit, mehrere Sinks gleichzeitig zu bespielen. Dies macht das Modul <tt>module-combine-sink</tt>. Dabei werden ein oder mehrere Sinks unter einem neuen, virtuellen Sink neu zusammengefasst.
+
+ pacmd load-module module-combine-sink sink_name=space slaves=tunnel.spacekiste.local.alsa_output.pci-0000_00_1b.0.analog-stereo,tunnel.minibox.local.alsa_output.pci-0000_00_08.0.analog-stereo
+
+Hier habe ich den neuen virtuellen Sink <tt>space</tt> genannt, die Namen der Slave-Sinks werden mit Kommata getrennt.
+Danach soll der virtuelle Sink an den üblichen, verdächtigen Stellen auftauchen (auch im <tt>pavucontrol</tt>), habe es so aber noch nicht zum Laufen bekommen.
+Eine direktere Möglichkeit zur Wiedergabe ist
  mplayer -ao pulse::space nyancat.opus
  mplayer -ao pulse::space nyancat.opus
-Aber hat Audioglitches trotz vergrößerter Buffer und verursacht derzeit 17% CPU-Last
+Hat aber Audioglitches trotz vergrößerter Buffer, läuft nach einigen Sekunden aus der Synchronisation und verursacht derzeit 17% CPU-Last.
 
 [[Kategorie:Infrastruktur]]
 [[Kategorie:Dokumentation]]
 
 [[Kategorie:Infrastruktur]]
 [[Kategorie:Dokumentation]]
This page took 0.022531 seconds and 4 git commands to generate.