Eu uso o PulseAudio para enviar som pela LAN para um servidor de áudio.
Ao reproduzir qualquer mídia Flash no Firefox ou Chrome, o som vibra (por exemplo ), como se o volume estivesse subindo e descendo a cada segundo.
Descobri que posso interromper a vibração do som se seguir estas etapas:
Inicie um vídeo em Flash, como um vídeo no YouTube
Executar
pulseaudio --kill
no servidorAguarde cerca de 7 segundos
Depois disso, o servidor PulseAudio é reiniciado automaticamente e o som no vídeo em Flash é bom.
O problema é que eu tenho que fazer isso toda vez que inicio um vídeo em Flash. Obviamente, isso não é desejável.
Como faço para que o som funcione quando eu passo por essas etapas, para não precisar fazê-las?
Duvido que alguém venha com uma solução imediata e simples (embora isso seja bom), para que a recompensa possa ser aplicada a qualquer pessoa que forneça pelo menos um método de diagonalizar o problema.
Detalhes
Aqui estão as configurações de saída do meu dispositivo de som. Até onde eu sei, todos os quatro dispositivos apontam para exatamente o mesmo dispositivo físico.
Saída de log do PulseAudio , obtida ao tentar reproduzir um vídeo em Flash.
Tentei obter detalhes de log do Flash, mas, apesar de instalar e ativar o Flash para depuração, ele não gerou nenhuma saída .
O problema não aparece em nenhum outro software, por isso estou razoavelmente certo de que é específico de como o Flash interage com o som configurado.
Aqui está uma saída de erro que pode ser útil:
$ cat /var/log/syslog | grep pulseaudio
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module.c: Failed to open module "module-esound-protocol-tcp": file not found
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module-gconf.c: pa_module_load() failed
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module.c: Failed to open module "module-esound-protocol-tcp": file not found
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module-gconf.c: pa_module_load() failed
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module.c: Failed to open module "module-esound-protocol-tcp": file not found
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module-gconf.c: pa_module_load() failed
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
Aqui é a saída pactl list
a partir do servidor (computador com alto-falantes) .
Aqui é a saída pactl list
do cliente .
fonte
Respostas:
Prefácio
Consegui replicar o problema de Dave em experimentos, e eles me levaram a acreditar que o Flash está de alguma forma enviando o som ao PulseAudio de forma a criar muito tráfego de rede (pense em muitos pacotes minúsculos, não na largura de banda); isso sobrecarrega o "túnel" da rede que o PulseAudio criou, ou seja, você
Eu poderia resolver o problema colocando o cliente e o servidor em sua própria rede virtual, proporcionando conectividade efetivamente infinitamente rápida (10 Gbits / s) entre eles; obviamente, isso não funciona para redes do mundo real :)
Então, um pouco de pesquisa e este post e este me deram a idéia de largar o túnel (intermediário, como Dave apropriadamente colocou) e fazer com que o cliente falasse diretamente com o servidor, ou seja,
E isso funcionou para mim; Vídeos / som em Flash são reproduzidos na perfeição.
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 ; depois mate o PulseAudio para ter certeza.Na máquina do servidor (ou seja, aquela com os alto-falantes), inicie o PA Preferences (
paprefs
) e configure-o da seguinte maneira:Caso não o veja, abra
paprefs
novamente e marque as caixas restantes nas guias Acesso à rede e Servidor de rede (elas não machucam)Certifique-se de saber o endereço IP do servidor - use
ifconfig
, etc. Usaremos192.168.0.4
em nosso exemplo.Na máquina do cliente, abra um terminal, e testar a nossa conexão direta em primeiro lugar, com um WAV amostra de fala (substitua 192.168 ... com o seu servidor IP!)
Agora, feche todas as instâncias do navegador em execução e inicie-a (assumindo o Firefox aqui com a seguinte sintaxe):
Substitua
192...
pelo IP apropriado para o seu servidor!Nessa instância do Firefox, abra o YouTube (ou qualquer outro site de vídeo em Flash) e tente reproduzir os vídeos --- dedos cruzados, ele deve funcionar sem gaguejar / pausar!
Faça ficar
Se você deseja aplicar essa correção a todos os programas, em vez de precisar colocar
PULSE_SERVER=192.168.0.4:4713
todos os comandos na frente, edite/etc/environment
no cliente e adicionePULSE_SERVER=192.168.0.4:4713
uma nova linha no final do arquivo. Adicione também uma quebra de linha no final.Isso fará com que todo o som do cliente vá para o servidor Pulseaudio, portanto, certifique-se de que é isso que você deseja antes de fazer essa edição no seu
/etc/environment
arquivo.Reinicie e desfrute de uma experiência de áudio incrível. ;)
fonte
female.wav
que não funcionou .../etc/pulse/system.pa
no cliente :load-module module-native-protocol-tcp auth-anonymous=1
; salve, mate o pulseaudio e tente agora.load-module module-native-protocol-tcp auth-anonymous=1;
linha/etc/pulse/system.pa
deveria ser incluída na resposta ou se fazia parte do processo de diagnóstico que pode ser descartado?Se o problema for o Gnash, aqui está como corrigi-lo:
Feche todos os navegadores e execute estes comandos:
então este sudo apt-get install adobe-flashplugin
isso corrigiu meus problemas: basicamente ele remove tudo relacionado ao Gnash e instala o Flash.
fonte
Eu acho que seu problema pode estar relacionado ao flash player.
Existe um plug - in do FireFox Flash-Aid que instala a versão flash do appx de acordo com o seu ambiente.
fonte
Consegui corrigir o problema de inversão de cores do vídeo desmarcando (desabilitando) a caixa de seleção Ativar aceleração de hardware quando você clica com o botão direito do mouse no flash player e clique em Configurações (Atualizar para ver seu efeito).
Eu tenho os mesmos problemas de gagueira do áudio que você. Funciona inicialmente e, depois de um tempo, a gagueira entra em ação. Espero que alguém possa consertar isso - embora eu esteja curioso para saber como você pode ignorar o servidor de áudio de pulso para obter som (estou apenas usando um laptop sem necessidade de áudio de rede) .
(Eu tenho o Flash 11.2 r202 no Firefox Kubuntu 12.04 amd64)
fonte
Você tem o MIXX dj Player instalado? Às vezes, atrapalha o servidor de som. Pelo menos, se você o instalar, ele mudará o tema padrão do som "ubuntu" para freedesktop.
Você pode tentar instalar "PulseAudio Preferences" no centro de software Ubuntu.
Existem algumas opções de configuração relacionadas à rede.
fonte
Eu tenho o mesmo problema e ainda não encontrei uma solução perfeita para o problema. Percebi algumas coisas que podem ajudá-lo:
1) Isso acontece comigo com flash, mas também às vezes com a versão html5 do youtube. Isso também acontece para você? ( http://www.youtube.com/html5/, você pode ativar a versão html5 do youtube aqui). Isso sugere que o problema não é exclusivo do flash (mas talvez de alguma forma, navegadores?)
2) Consigo que o som funcione corretamente como você sem ir ao servidor usando o pavucontrol configurando o dispositivo de saída para o dispositivo local e depois voltando ao servidor remoto. Isso resolve a gagueira do áudio e pausas aleatórias e pula o vídeo. Infelizmente, isso só funciona até o próximo vídeo começar.
3) Tenho certeza de que, enquanto pesquisava esse problema, encontrei algumas pessoas dizendo que o problema estava relacionado aos contadores de relógio do cliente e ao servidor não estar vinculado corretamente e é isso que é redefinido ao reiniciar o servidor ou reconectar-se ao cliente (ou seja, ponto 2). Vou tentar descobrir isso para você.
Não encontrei a discussão prometida, mas encontrei algumas informações básicas sobre o agendamento com base no cronômetro: http://0pointer.de/blog/projects/pulse-glitch-free.html
fonte
Estou muito feliz por ter encontrado esta página finalmente.
Eu tive esse problema desde muitas versões do Ubuntu (ele começou a ficar desagradável quando o padevchooser foi abandonado) e agora com o Arch. A solução para definir e exportar a variável de ambiente PULSE_SERVER antes de iniciar o navegador sempre funcionou bem para mim. Não é necessário alterar nada no servidor.
Mas há uma coisa que não entendo: quando inicio o navegador (Chromium) a partir de um terminal dentro do ambiente de área de trabalho, o som funciona. Quando inicio o navegador a partir de um iniciador (Xfce, Gnome, ...) como deveria ser normalmente, os problemas descritos acima estão lá. Eu acho que isso tem algo a ver com variáveis de ambiente X11, mas isso está além das minhas habilidades.
Para mim, resolvi o problema agora editando meu
chromium.desktop
arquivo e adicionando o Pulse-Server lá:Exec=sh -c "PULSE_SERVER=mice.local chromium %U"
fonte
Você precisa desses plugins no firefox para executar qualquer mídia na perfeição. Verifique qual você tem e qual não tem.
O perfil deve ser este:
fonte
Encontrei uma solução para corrigir a gagueira enquanto usava module-tunnel-sink.
Tudo o que você precisa fazer é baixar o Flash Player versão 10.3 (que também possui suporte à aceleração de hardware, a Adobe lançou na versão 11).
Aqui está o binário x86_64
Para instalá-lo, extraia a
libflashplayer.so
biblioteca para o~/.mozilla/plugins
diretório ou altere o link atual usandoupdate-alternatives
.Esteja ciente de que a versão 10.3 possui muitas vulnerabilidades de segurança, portanto você a utiliza por seu próprio risco.
fonte