Poniższy przykład pokazuje, jak utworzyć tunel pulseaudio TCP, aby przekazywać dźwięk z komputera alpha
na komputer beta
. W moim przypadku na obu komputerach działa Ubuntu 14.04.
Na alpha
(komputerze źródłowym) dodaj następujące wiersze do /etc/pulse/default.pa
:
.fail
load-module module-tunnel-sink sink_name=beta server=tcp:IP_ADDRESS_OF_BETA:4713
.nofail
(Wybierz dowolną unikalną wartość sink_name
. Dowolnie zdecydowałem się użyć tej wartości beta
.)
Na beta
(komputerze docelowym) dodaj następujący wiersz do /etc/pulse/default.pa
:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;LAN_NAME
Powyżej, LAN_NAME
i IP_ADDRESS_OF_BETA
będzie specyficzny dla twoich komputerów i twojej sieci LAN. Mogą to być na przykład:
LAN_NAME = 192.168.1.0/24
IP_ADDRESS_OF_BETA = 192.168.1.10
Po wprowadzeniu powyższych zmian uruchom ponownie pulseaudio, najpierw włącz beta
, a następnie włącz alpha
. Kolejność ma znaczenie. Ponownie uruchamiam pulseaudio za pomocą pulseaudio --kill
. Biegnę pulseaudio --kill
jak mój pesonal UID
(nie jako root), jako PulseAudio jest już uruchomiony jako mój osobisty UID
.
Jeśli wszystko działało pomyślnie, powinieneś teraz zobaczyć tunel na Output Devices
zakładce pavucontrol
na alpha
. Podczas odtwarzania źródła audio powinieneś być w stanie skierować źródło do tunelu na Playback
zakładce pavucontrol
na alpha
.
Dopóki tunel jest nienaruszony, powinieneś także widzieć tunel na Playback
zakładce pavucontrol
na beta
. Jeśli tunel zniknie, uruchom ponownie pulseaudio, najpierw włącz beta
, a następnie włącz alpha
. Tunel jest tworzony tylko po pulseaudio
uruchomieniu alpha
.
Uwaga 1: W tym przykładzie założono, że pulseaudio działa zarówno na, jak alpha
i na beta
. Od 2016 roku pulseaudio działa domyślnie na Ubuntu i działa od lat.
Uwaga 2: W tym przykładzie nie użyto sieci konfiguracji Avahi Zero. Avahi może być domyślnie włączony w Ubuntu, ale wyłączyłem Avahi w moich systemach. W mojej sieci LAN beta
(komputer docelowy) zawsze ma ten sam adres IP i znam ten adres.
Uwaga 3: Powyższe auth-ip-acl
zapewnia dostęp do dowolnego urządzenia w sieci LAN. Pulseaudio obsługuje również inne (bardziej bezpieczne) metody uwierzytelniania. Używam auth-ip-acl
do uproszczenia konfiguracji.
Więcej informacji można znaleźć na następujących stronach:
/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