O exemplo abaixo mostra como criar um túnel TCP pulseaudio para encaminhar o som de um computador alphapara outro beta. No meu caso, os dois computadores estão executando o Ubuntu 14.04.
Em alpha(o computador de origem), anexe as seguintes linhas a /etc/pulse/default.pa:
.fail
load-module module-tunnel-sink sink_name=beta server=tcp:IP_ADDRESS_OF_BETA:4713
.nofail
(Escolha qualquer valor exclusivo para sink_name. Eu escolhi arbitrariamente usar o valor beta.)
Em beta(o computador de destino), acrescente a seguinte linha a /etc/pulse/default.pa:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;LAN_NAME
Acima, LAN_NAMEe IP_ADDRESS_OF_BETAserá específico para seus computadores e sua LAN. Por exemplo, eles podem ser:
LAN_NAME = 192.168.1.0/24
IP_ADDRESS_OF_BETA = 192.168.1.10
Após fazer as alterações acima, reinicie o pulseaudio, primeiro beta, depois depois alpha. A ordem é importante. Eu reinicio o pulseaudio com pulseaudio --kill. Eu corro pulseaudio --killcomo meu pesonal UID(não como root), pois o pulseaudio já está sendo executado como meu pessoal UID.
Se tudo funcionou com sucesso, você deve ver agora o túnel na Output Devicesguia de pavucontrolon alpha. Quando uma fonte de áudio está jogando, você deve ser capaz de encaminhar a fonte para o túnel na Playbackguia de pavucontrolon alpha.
Enquanto o túnel está intacta, você também deve ser capaz de ver o túnel na Playbackguia de pavucontrolon beta. Se o túnel desaparecer, reinicie o pulseaudio, primeiro beta, depois depois alpha. O túnel é criado apenas quando é pulseaudioiniciado alpha.
Nota 1: Este exemplo assume que o pulseaudio está sendo executado em ambos alphae beta. A partir de 2016, o pulseaudio é executado por padrão no Ubuntu e funciona há anos.
Nota 2: Este exemplo não usa a rede de configuração zero do Avahi. O Avahi pode estar ativado por padrão no Ubuntu, mas eu desativei o Avahi nos meus sistemas. Na minha LAN, beta(o computador de destino) sempre tem o mesmo endereço IP, e eu conheço esse endereço.
Nota 3: o acima auth-ip-aclconcede acesso a qualquer dispositivo na LAN. O Pulseaudio também suporta outros métodos de autenticação (mais seguros). Eu uso auth-ip-aclpara simplificar a configuração.
Mais informações podem ser encontradas nas seguintes páginas:
/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