Como encaminhar o som de um computador para outro pela LAN?

11

Eu tenho dois computadores O computador A está executando o Ubuntu 11.10 com Gnome Clasic. O computador B está executando o Mythbuntu 11.10. O computador B possui um sistema de som de áudio digital agradável.

Quero tocar música do Banshee no Computador A, mas enviar a saída de som pela LAN e sair nos alto-falantes do computador B.

Eu encontrei esta pergunta que indicava que eu deveria usar algo chamado "paprefs" para conseguir isso. Então, instalei o paprefs e, na caixa de diálogo "Network Server", selecionei estas configurações:

paprefs

E então ... eu não tenho idéia do que deveria acontecer. Verifiquei a página inicial dos paprefs e tudo o que eles dizem em Documentação é "Não há muito a dizer. Basta executar paprefs e ver por si mesmo".

Não vejo nada acontecendo ou de alguma maneira devo fazer a conexão do Computador A ao Computador B.

Como é que isso deveria funcionar? Alguém pode fornecer instruções claras sobre o que fazer para realmente fazer a conexão?

Idealmente, a esperança é que eu possa ter uma configuração que permita reproduzir sempre certos aplicativos, como o Banshee, pela LAN usando o sistema de som do Computador B. Em outras palavras, uma vez configurado, é o padrão e não precisa ser reconectado manualmente todas as vezes.

Questionador
fonte

Respostas:

9

O método menos complicado para enviar áudio de um servidor Pulse Audio para outro pela LAN é usar o recurso RTP / Multicast que você pode configurar usando paprefsInstalar paprefs .

No remetente:

captura de tela do paprefs mostrando "ativar remetente multicast / rtp" marcado e "enviar áudio dos alto-falantes locais" selecionado

Escolha sua placa de som local ou escolha um dispositivo separado que você pode selecionar como saída de áudio em Preferências de áudio .

No receptor:

captura de tela do paprefs mostrando "ativar receptor multicast / rtp" marcado

Ao fazer isso, o áudio será enviado do remetente para o receptor via sua LAN.

Takkat
fonte
Obrigado por isso. Fiz essas configurações como você descreveu, mas se eu jogar Banshee no remetente, não estou ouvindo no receptor. Também não vejo nenhum dispositivo de som de rede no pavucontrol ou nenhuma configuração de som do gnomo. Não há outros passos que eu precise tomar?
Question
Entendi. Eu precisava: 1. Reiniciar as duas máquinas. 2. Na máquina do remetente, entre nas configurações de som e, na guia "Saída", selecione o dispositivo de som da rede.
Questionador
Só fiz isso. Houve um atraso enorme e isso deixou o PC do servidor realmente lento ... possivelmente algo que eu estou fazendo de errado, mas como envolve apenas duas caixas de seleção, eu realmente não sei o que poderia dar errado.
Greg
@ Greg: dependendo da sua rede e do conteúdo de áudio (taxa de bits!), Este método de streaming pode ser bastante exigente. Caso você tenha problemas, tente redefinir o pulseaudio com pulseaudio -kisso ocasionalmente ajuda.
Takkat
O Pulseaudio tem uma prioridade "muito alta". Talvez essa seja a razão para o servidor lento ...
Rodrigo
2

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

mpb
fonte