Ich verwende PulseAudio, um Sound über das LAN an einen Audioserver zu senden.
Bei der Wiedergabe von Flash-Medien in Firefox oder Chrome flattert der Ton ( Beispiel ), als würde die Lautstärke jede Sekunde lauter und leiser.
Ich habe festgestellt, dass ich das Flattern des Geräusches stoppen kann, wenn ich die folgenden Schritte befolge:
Starten Sie ein Flash-Video, z. B. ein Video auf YouTube
Führen Sie
pulseaudio --kill
auf dem Server ausWarten Sie ca. 7 Sekunden
Danach wird der PulseAudio-Server automatisch neu gestartet und der Ton im Flash-Video ist in Ordnung.
Das Problem ist, dass ich dies jedes Mal tun muss, wenn ich ein Flash-Video starte. Dies ist offensichtlich nicht wünschenswert.
Wie mache ich, was immer es ist, dass der Sound funktioniert, wenn ich diese Schritte durchführe, damit ich sie nicht machen muss?
Ich bezweifle, dass jemand eine sofortige und einfache Lösung finden wird (obwohl das nett wäre), so dass das Kopfgeld an jeden gehen könnte, der zumindest eine Methode zur Diagnose des Problems bereitstellt.
Einzelheiten
Hier sind die Ausgabeeinstellungen für mein Audiogerät. Soweit ich das beurteilen kann, verweisen alle vier Geräte auf genau dasselbe physische Gerät.
PulseAudio-Protokollausgabe , die während der Wiedergabe eines Flash-Videos erstellt wurde.
Ich habe versucht, Protokollierungsdetails von Flash abzurufen , aber trotz der Installation und Aktivierung von Flash für das Debuggen hat es überhaupt keine Ausgabe generiert .
Das Problem tritt bei keiner anderen Software auf, daher bin ich mir ziemlich sicher, dass es spezifisch dafür ist, wie Flash mit meinem Sound-Setup interagiert.
Hier einige Fehlermeldungen, die hilfreich sein könnten:
$ 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.
Hier ist die Ausgabe von pactl list
von dem Server (Computer mit Lautsprecher) .
Hier ist die Ausgabe von pactl list
aus dem Client .
quelle
Antworten:
Vorwort
Ich konnte Daves Problem in Experimenten nachbilden und sie ließen mich glauben, dass Flash den Sound irgendwie so an PulseAudio sendet, dass viel Netzwerkverkehr entsteht (denken Sie an viele winzige Pakete, nicht an Bandbreite). Dies überfordert den Netzwerk "Tunnel", den PulseAudio erstellt hat, dh Sie haben
Ich könnte das Problem lösen, indem ich sowohl den Client als auch den Server in ein eigenes virtuelles Netzwerk einbinde und ihnen eine unendlich schnelle Konnektivität (10 Gbit / s) zwischen ihnen gebe. Offensichtlich funktioniert das nicht für reale Netzwerke :)
Also, ein bisschen googeln und dieser Beitrag und dies gab mir die Idee, den Tunnel (Mittelsmann, wie Dave legte es treffend) fallen, und mit dem Client - Gespräch direkt an den Server, das hieß
Und das hat bei mir funktioniert; Flash-Videos / Sound spielen einwandfrei.
Lass es uns versuchen!
Dies setzt voraus, dass sich Ihr Client-Server in einem lokalen Netzwerk befindet (Router usw.).
Vorbereitend: Wenn auf dem Client-Computer bereits ein Setup vorhanden ist, öffnen
paprefs
Sie alles und deaktivieren Sie es . dann töte PulseAudio um sicher zu gehen.Starten Sie auf dem Servercomputer (dh dem Computer mit den Lautsprechern) die PA-Einstellungen (
paprefs
) und richten Sie sie wie folgt ein:Wenn Sie es nicht sehen, öffnen Sie es
paprefs
erneut und aktivieren Sie die verbleibenden Kontrollkästchen auf den Registerkarten "Netzwerkzugriff" und "Netzwerkserver" (sie tun nicht weh).Vergewissern Sie sich, dass Sie die IP-Adresse des Servers kennen - Verwendung
ifconfig
usw. Wir verwenden sie192.168.0.4
in unserem Beispiel.Öffnen Sie auf dem Client-Computer ein Terminal und testen Sie zuerst unsere direkte Verbindung mit einem Sprachbeispiel-WAV (ersetzen Sie 192.168 ... durch Ihre Server-IP!)
Schließen Sie jetzt alle laufenden Browser-Instanzen und starten Sie sie (vorausgesetzt, Firefox hat hier die folgende Syntax):
Ersetzen Sie
192...
mit der entsprechenden IP für Ihren Server!Öffnen Sie in dieser Firefox-Instanz Youtube (oder die Flash-Video-Site) und versuchen Sie, die Videos wiederzugeben.
Lass es kleben
Wenn Sie möchten, dass dieses Update auf alle Programme angewendet wird, anstatt
PULSE_SERVER=192.168.0.4:4713
jeden Befehl voranstellen/etc/environment
zu müssen , bearbeiten Sie es auf dem Client und fügen SiePULSE_SERVER=192.168.0.4:4713
am Ende der Datei eine neue Zeile hinzu. Fügen Sie am Ende auch einen Zeilenumbruch hinzu.Dadurch wird der gesamte Sound auf dem Client an den Pulseaudio-Server gesendet. Vergewissern Sie sich also, dass Sie dies möchten, bevor Sie diese Änderung an Ihrer
/etc/environment
Datei vornehmen .Starten Sie den Computer neu und genießen Sie ein flüssiges Audioerlebnis. ;)
quelle
female.wav
es nicht funktioniert hat .../etc/pulse/system.pa
auf dem Client :load-module module-native-protocol-tcp auth-anonymous=1
; speichere, töte pulseaudio und versuche es jetzt.load-module module-native-protocol-tcp auth-anonymous=1;
Line-In/etc/pulse/system.pa
in der Antwort enthalten sein soll oder ob er Teil des Diagnoseprozesses ist, der verworfen werden kann.Wenn das Problem Gnash ist, können Sie es folgendermaßen beheben:
Schließen Sie alle Browser und führen Sie die folgenden Befehle aus:
dann installiert dieses sudo apt-get das adobe-flashplugin
Das hat meine Probleme behoben: Im Grunde genommen werden alle mit Gnash zusammenhängenden Elemente entfernt und Flash installiert.
quelle
Ich denke, Ihr Problem könnte mit dem Flash-Player zusammenhängen.
Es gibt ein FireFox-Plugin Flash-Aid , das die AppX-Flash-Version entsprechend Ihrer Umgebung installiert.
quelle
Ich konnte das Problem mit der Videofarbumkehrung beheben, indem ich das Kontrollkästchen Hardwarebeschleunigung aktivieren deaktivierte, wenn Sie mit der rechten Maustaste auf den Flash-Player und dann auf Einstellungen (Aktualisieren, um den Effekt zu sehen) klicken .
Ich habe die gleichen Audiostotterprobleme wie Sie. Es funktioniert anfangs, und nach einer Weile setzt das Ruckeln ein. Hoffentlich kann dies jemand beheben - obwohl ich gespannt bin, wie Sie den Puls-Audioserver umgehen können, um Sound zu erhalten (ich verwende nur einen Laptop ohne Netzwerk-Audio-Anforderungen). .
(Ich habe Flash 11.2 r202 auf Firefox Kubuntu 12.04 amd64)
quelle
Haben Sie MIXX DJ Player installiert? Manchmal kommt es zu Problemen mit dem Soundserver. Zumindest wenn Sie es installieren, wird es Ihr Standard-Sound-Thema "Ubuntu" auf Freedesktop ändern.
Sie können versuchen, "PulseAudio Preferences" aus dem Ubuntu Software Center zu installieren.
Es gibt einige Konfigurationsoptionen für das Netzwerk.
quelle
Ich habe das gleiche Problem und habe noch keine perfekte Lösung für das Problem gefunden. Ich habe einige Dinge bemerkt, die Ihnen helfen könnten:
1) Es passiert bei mir mit Flash, aber manchmal auch mit der HTML5-Version von YouTube. Passiert das auch für Sie? ( http://www.youtube.com/html5/ Hier können Sie die HTML5-Version von YouTube aktivieren.) Dies deutet darauf hin, dass das Problem nicht ausschließlich auf Flash zurückzuführen ist (aber vielleicht irgendwie auf Browser?)
2) Mit pavucontrol kann ich den Sound wie Sie zum Server bringen, indem ich das Ausgabegerät auf das lokale Gerät und dann wieder auf den Remote-Server stelle. Dies löst das Stottern von Audio- und Zufallspausen sowie das Überspringen von Videos. Dies funktioniert leider nur, bis das nächste Video startet.
3) Ich bin mir ziemlich sicher, dass ich beim googeln dieses Problems auf einige Leute gestoßen bin, die sagten, dass das Problem mit den Zeitzählern des Clients und des Servers zusammenhängt, die nicht richtig verbunden sind. Dies wird zurückgesetzt, indem der Server neu gestartet oder die Verbindung mit dem wiederhergestellt wird Client (dh Punkt 2). Ich werde versuchen, das für Sie herauszufinden.
Ich konnte die versprochene Diskussion nicht finden, fand jedoch Hintergrundinformationen zur zeitgesteuerten Planung: http://0pointer.de/blog/projects/pulse-glitch-free.html
quelle
Ich bin wirklich froh, dass ich diese Seite endlich gefunden habe.
Ich habe dieses Problem seit vielen Versionen von Ubuntu (es fing an, böse zu werden, als padevchooser aufgegeben wurde) und jetzt mit Arch. Die Lösung, die Umgebungsvariable PULSE_SERVER vor dem Starten des Browsers zu setzen und zu exportieren, hat immer gut für mich funktioniert. Auf dem Server muss nichts geändert werden.
Eines verstehe ich jedoch nicht: Wenn ich meinen Browser (Chromium) über ein Terminal in der Desktop-Umgebung starte, funktioniert der Sound. Wenn ich den Browser von einem Launcher (Xfce, Gnome, ...) aus starte, wie es normalerweise sein sollte, treten die oben beschriebenen Probleme auf. Ich denke, das hat etwas mit X11-Umgebungsvariablen zu tun, aber das liegt außerhalb meiner Fähigkeiten.
Für mich löste ich das Problem jetzt, indem ich meine
chromium.desktop
Datei bearbeitete und dort den Pulse-Server hinzufügte:Exec=sh -c "PULSE_SERVER=mice.local chromium %U"
quelle
Sie benötigen diese Plugins für Firefox, um alle Medien fehlerfrei ausführen zu können. Prüfen Sie, welche Sie haben und welche nicht.
Das Profil sollte folgendes sein:
quelle
Ich habe eine Lösung gefunden, um Stottern bei der Verwendung von Modul-Tunnel-Senken zu beheben.
Sie müssen lediglich den Flash Player 10.3 herunterladen (der auch die Hardwarebeschleunigung unterstützt, Adobe hat ihn in Version 11 abgelegt).
Hier ist die x86_64-Binärdatei
Um es zu installieren, extrahiere die
libflashplayer.so
Bibliothek in ein~/.mozilla/plugins
Verzeichnis oder ändere den aktuellen Link mitupdate-alternatives
.Beachten Sie, dass die Version 10.3 viele Sicherheitslücken aufweist, sodass Sie sie auf eigenes Risiko verwenden.
quelle