Flash dans les navigateurs ne lit pas le son avec précision en utilisant l'audio réseau Pulse

17

J'utilise PulseAudio pour envoyer le son via le réseau local vers un serveur audio.

Lors de la lecture d’un média Flash dans Firefox ou Chrome, les sons se font entendre ( exemple ), comme si le volume montait et descendait tous les deuxième.

J'ai découvert que je pouvais arrêter le son si je suivais ces étapes:

  • Lancer une vidéo Flash, telle qu'une vidéo sur YouTube

  • Exécutez pulseaudio --kill sur le serveur

  • Attendez environ 7 secondes

Ensuite, le serveur PulseAudio est automatiquement réactivé et le son de la vidéo Flash est correct.

Le problème est que je dois le faire à chaque fois je commence une vidéo Flash. Ce n'est évidemment pas souhaitable.

Comment puis-je faire ce qui fait que le son fonctionne lorsque je passe par ces étapes pour que je ne sois pas obligé de les faire?

Je doute que quelqu'un arrive avec une solution simple et immédiate (bien que ce serait bien), alors la prime pourrait aller à quiconque fournit au moins une méthode pour diagonaliser le problème.

Détails

Voici les paramètres de sortie de mon périphérique audio. Autant que je sache, les quatre appareils pointent vers le même périphérique physique.

Sortie du journal PulseAudio , prise lors de la tentative de lecture d’une vidéo Flash.

J'ai essayé d’obtenir les détails de journalisation de Flash, mais malgré l’installation et l’activation de Flash pour le débogage, il n’a généré aucune sortie à tout .

Le problème ne se pose avec aucun autre logiciel, donc je suis raisonnablement certain que cela est spécifique à la manière dont Flash interagit avec la configuration de mon son.

Voici une sortie d’erreur qui pourrait être utile:

$ 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.

Voici le résultat de pactl list de le serveur (ordinateur avec haut-parleurs) .

Voici le résultat de pactl list de le client .

    
posée Questioner 13.04.2017 - 14:25
la source

9 réponses

10

Préface

J'ai été capable de reproduire le problème de Dave dans des expériences et ils me font croire que Flash envoie en quelque sorte le son à PulseAudio de manière à créer beaucoup de trafic réseau (pensez à beaucoup de petits paquets, pas de bande passante) ; cela dépasse le «tunnel» de réseau que PulseAudio a créé, c’est-à-dire que vous avez

Youtube => [PA-client => network => PA-server] => speakers

Je pourrais résoudre le problème en mettant à la fois le client et le serveur sur leur propre réseau virtuel, leur offrant ainsi une connectivité infiniment rapide (10 Gbits / s) entre eux; évidemment, cela ne fonctionne pas pour les réseaux du monde réel:)

Donc, un peu de googler et ce post et celui-ci m'a donné l’idée de laisser tomber le tunnel (intermédiaire, comme le dit Dave à juste titre), et demander au client de parler directement au serveur, c'est-à-dire

Youtube => network => PA-server => speakers

Et ça a fonctionné pour moi; Les vidéos Flash / son jouent parfaitement.

Essayons!

Cela suppose que votre serveur client se trouve sur un réseau local (routeur, etc.)

  1. Préliminaire: sur la machine client, si vous avez une configuration existante, ouvrez paprefs et décochez tout ; puis tuez PulseAudio pour vous en assurer.

  2. Sur le serveur (c’est-à-dire celui avec les haut-parleurs), lancez les préférences PA ( paprefs ) et configurez-le comme suit:

    • Puis fermez-le et tuez PulseAudio dans un terminal comme indiqué, attendez et vérifiez qu'il écoute maintenant sur le port 4713:

    • Si vous ne le voyez pas, ouvrez de nouveau paprefs et cochez les cases restantes dans les onglets Network Access et Network Server (ils ne font pas mal)

    • Assurez-vous de connaître l'adresse IP du serveur - utilisez ifconfig , etc. Nous utiliserons 192.168.0.4 dans notre exemple.

  3. Sur la machine cliente, ouvrez un terminal et testez d’abord notre connexion directe avec un exemple de fichier WAV (remplacez 192.168 par votre adresse IP de serveur )

    wget http://www.signalogic.com/melp/EngSamples/Orig/female.wav
    paplay --server=192.168.0.4:4713 female.wav
    
    • Abandonner avec Ctrl-C si ça marche, ça peut être ennuyeux;)

Maintenant, fermez toutes les instances du navigateur en cours d’exécution, puis démarrez-le (en supposant que Firefox avec la syntaxe suivante):

PULSE_SERVER=192.168.0.4:4713 firefox &
  • Remplacez 192... par l'adresse IP appropriée pour votre serveur!

  • Dans cette instance de Firefox, ouvrez Youtube (ou n'importe quel site vidéo Flash), et essayez de lire les vidéos - les doigts croisés, cela devrait fonctionner sans bégaiement / pause!

Faites-le coller

Si vous souhaitez appliquer ce correctif à tous les programmes au lieu de mettre PULSE_SERVER=192.168.0.4:4713 devant chaque commande, éditez /etc/environment sur le client et ajoutez PULSE_SERVER=192.168.0.4:4713 sur un nouveau ligne à la fin du fichier. Ajoutez également un saut de ligne à la fin.

Cela fera que le son de tous sur le client ira au serveur Pulseaudio, alors assurez-vous que c'est ce que vous voulez avant d'effectuer cette modification dans votre fichier /etc/environment .

Redémarrez et profitez d'une expérience audio sans heurts. ;)

    
réponse donnée izx 07.08.2012 - 08:44
la source
3

Si le problème est Gnash, voici comment le résoudre:

Fermez tous les navigateurs et exécutez ces commandes:

sudo apt-get purge gnash mozilla-plugin-gnash adobe-flashplugin

alors ceci     sudo apt-get install adobe-flashplugin

cela a corrigé mes problèmes: fondamentalement, cela supprime tout ce qui concerne Gnash et installe Flash.

    
réponse donnée zeitue 27.04.2012 - 08:24
la source
2

Je pense que votre problème pourrait être lié au lecteur flash.

Il existe un plug-in FireFox Aide Flash qui installe la version d’appx flash en fonction de à votre environnement.

    
réponse donnée Searock 26.04.2012 - 19:46
la source
2

J'ai pu résoudre le problème d’inversion de couleur vidéo en décochant (désactivant) la case à cocher Activer l’accélération matérielle lorsque vous cliquez avec le bouton droit sur le lecteur flash et cliquez sur Paramètres . (Actualiser pour voir son effet).

J'ai les mêmes problèmes de bégaiement audio que vous. Cela fonctionne initialement, puis après un certain temps, le bégaiement entre en jeu. Espérons que quelqu'un pourra résoudre ce problème - bien que je sois curieux de savoir comment contourner le serveur audio pulsé pour obtenir du son (j'utilise un ordinateur portable sans besoins audio réseau) .

(J'ai Flash 11.2 r202 sur Firefox Kubuntu 12.04 amd64)

    
réponse donnée pd12 11.06.2012 - 19:00
la source
2

Avez-vous MIXX dj Player installé? Cela gâche parfois le serveur de son. Au moins si vous l’installez, votre thème de son par défaut "ubuntu" deviendra freedesktop.

Vous pouvez essayer d'installer "Préférences PulseAudio" depuis le centre logiciel Ubuntu.
Il existe des options de configuration liées au réseau.

    
réponse donnée Curious Apprentice 28.04.2012 - 14:32
la source
1

J'ai le même problème et je n'ai pas encore trouvé de solution parfaite au problème. J'ai remarqué des choses qui pourraient vous aider:

1) Cela arrive pour moi avec le flash, mais aussi parfois avec la version html5 de youtube. Est-ce que cela arrive aussi pour vous? ( lien , vous pouvez activer la version html5 de youtube ici). Cela suggère que le problème n'est pas exclusif au flash (mais peut-être en quelque sorte les navigateurs?)

2) Je peux faire fonctionner le son comme vous le faites sans vous rendre sur le serveur en utilisant pavucontrol en définissant le périphérique de sortie sur le périphérique local puis sur le serveur distant. Cela résout le bégaiement des pauses audio et aléatoires et des sauts de vidéo. Cela fonctionne hélas seulement jusqu'à ce que la vidéo suivante commence.

3) Je suis presque certain qu’en parcourant ce problème, j’ai rencontré des gens qui disaient que le problème était lié aux compteurs d’horloge du client et du serveur qui n’étaient pas correctement connectés et que cela était réinitialisé en redémarrant le serveur ou se reconnecter avec le client (c.-à-d. le point 2). Je vais essayer de creuser pour vous.

Je n'ai pas trouvé la discussion promise, mais j'ai trouvé des informations de base sur la planification basée sur la minuterie: lien

    
réponse donnée HansHarhoff 29.07.2012 - 16:12
la source
1

Je suis vraiment content d'avoir trouvé cette page enfin.

J'ai eu ce problème depuis de nombreuses versions d'Ubuntu (il a commencé à devenir désagréable quand Padevchooser a été abandonné) et maintenant avec Arch. La solution pour définir & amp; exporter la variable d'environnement PULSE_SERVER avant de démarrer le navigateur a toujours bien fonctionné pour moi. Il n'est pas nécessaire de changer quoi que ce soit sur le serveur.

Mais je ne comprends pas une chose: lorsque je lance mon navigateur (Chrome) à partir d’un terminal dans l’environnement de bureau, le son fonctionne. Lorsque je lance le navigateur depuis un lanceur (Xfce, Gnome, ...) comme il se doit normalement, les problèmes décrits ci-dessus sont là. Je pense que cela a quelque chose à voir avec les variables d'environnement X11, mais cela dépasse mes compétences.

Pour moi, j'ai résolu le problème maintenant en éditant mon fichier chromium.desktop et en y ajoutant le serveur Pulse:

Exec=sh -c "PULSE_SERVER=mice.local chromium %U"

    
réponse donnée Armin Hahn 07.09.2013 - 22:56
la source
1

Vous devez avoir ces plug-ins sur Firefox pour exécuter parfaitement tous les médias. Vérifiez celle que vous avez et celle que vous n'avez pas.

Le profil devrait être le suivant:

    
réponse donnée Curious Apprentice 30.04.2012 - 03:44
la source
0

J'ai trouvé une solution pour corriger le bégaiement lors de l'utilisation de l'évier-tunnel.

Tout ce que vous avez à faire est de télécharger la version 10.3 de Flash Player (qui prend également en charge l'accélération matérielle, Adobe l'a abandonnée dans la version 11).

Voici le binaire x86_64

Pour l'installer, extrayez la bibliothèque libflashplayer.so dans le répertoire ~/.mozilla/plugins ou modifiez le lien actuel à l'aide de update-alternatives .

Veuillez noter que la version 10.3 comporte de nombreuses vulnérabilités en matière de sécurité. Vous l’utilisez donc à vos risques et périls.

    
réponse donnée patataj 11.03.2017 - 22:40
la source

Lire d'autres questions sur les étiquettes