Prefácio
Eu consegui reproduzir o problema de Dave em experimentos, e eles me levaram a acreditar que o Flash está enviando o som para o PulseAudio de tal forma que ele cria muito tráfego de rede (pense em vários pacotes minúsculos, não em largura de banda) ; isso sobrecarrega o "túnel" da rede que o PulseAudio criou, ou seja, você tem
Youtube => [PA-client => network => PA-server] => speakers
Eu poderia resolver o problema colocando o cliente e o servidor em sua própria rede virtual, fornecendo-lhes conectividade infinitamente rápida (10 Gbits / s) entre eles; obviamente, isso não funciona para redes do mundo real:)
Então, um pouco de googling e este post e este deu-me a ideia de largar o túnel (intermediário, como Dave o colocou corretamente), e fazer com que o cliente fale diretamente com o servidor, ou seja,
Youtube => network => PA-server => speakers
E isso funcionou para mim; Vídeos em Flash / reprodução de som impecável.
Vamos tentar!
Isso pressupõe que seu cliente-servidor esteja em uma rede local (roteador, etc.)
-
Preliminar: na máquina cliente, se você tiver uma configuração existente, abra
paprefs
e desmarque tudo ; então mate o PulseAudio para ter certeza. -
Na máquina do servidor (ou seja, aquela com os alto-falantes), inicie as Preferências do PA (
paprefs
) e configure-as da seguinte forma:- Em seguida, feche-o e mate o PulseAudio em um terminal, como mostrado, aguarde e verifique se está agora escutando na porta 4713:
-
Se você não o visualizar, abra
paprefs
novamente e verifique as caixas restantes nas guias Acesso à rede e Servidor de rede (elas não causam danos) -
Verifique se você sabe o endereço IP do servidor - use
ifconfig
, etc. Usaremos192.168.0.4
em nosso exemplo.
-
Na máquina cliente, abra um terminal e teste nossa conexão direta primeiro, com um exemplo de fala WAV (substitua 192.168 ... pelo seu servidor IP!)
wget http://www.signalogic.com/melp/EngSamples/Orig/female.wav paplay --server=192.168.0.4:4713 female.wav
- Abortar com Ctrl-C se funcionar, pode ficar chato;)
Agora, feche todas as instâncias do navegador em execução e, em seguida, inicie-o (assumindo o Firefox aqui com a seguinte sintaxe):
PULSE_SERVER=192.168.0.4:4713 firefox &
-
Substitua
192...
pelo IP apropriado para o seu servidor! -
Nessa instância do Firefox, abra o Youtube (ou qualquer site de vídeo em Flash) e tente reproduzir vídeos de volta --- com os dedos cruzados, deve funcionar sem trepidar / pausar!
Faça-o ficar
Se você quiser fazer essa correção se aplicar a todos os programas em vez de ter que colocar PULSE_SERVER=192.168.0.4:4713
na frente de cada comando, edite /etc/environment
no cliente e adicione PULSE_SERVER=192.168.0.4:4713
em um novo linha no final do arquivo. Adicione também uma quebra de linha no final.
Isso fará com que o som all no cliente vá para o servidor Pulseaudio, por isso, certifique-se de que é o que você deseja antes de fazer essa edição no arquivo /etc/environment
.
Reinicie e desfrute de uma experiência de áudio smooooooth. ;)