Tarayıcılardaki flaş, Darbeli ağ sesini kullanarak sesi düzgün oynatmıyor


18

LAN üzerinden bir ses sunucusuna ses göndermek için PulseAudio kullanıyorum.

Firefox veya Chrome'da herhangi bir Flash medya oynatırken, ses her saniye ses seviyesi yükselip alçalıyormuş gibi titriyor ( örnek ).

Bu adımları uygularsam sesin çırpınmasını durdurabileceğimi keşfettim:

  • YouTube'daki video gibi bir Flash video başlatın

  • Run pulseaudio --killüzerinde sunucuya

  • 7 saniye kadar bekleyin

Bundan sonra, PulseAudio sunucusu otomatik olarak yeniden doğar ve Flash videodaki ses iyi durumdadır.

Sorun, bir Flash video her başlattığımda bunu yapmak zorunda olmasıdır . Bu kesinlikle arzu edilmez.

Bu adımları izlediğimde sesin çalışmasını sağlayan her şeyi nasıl yaparım, böylece onları yapmak zorunda kalmam?

Birinin hemen ve basit bir düzeltme ile geleceğinden şüpheliyim (bu güzel olurdu), bu yüzden ödül sorunu en azından bir şekilde diyagonal tanımlama yöntemi sağlayan herkese gidebilir.


ayrıntılar

İşte ses cihazı çıkış ayarlarım. Anlayabildiğim kadarıyla, dört cihazın hepsi aynı fiziksel cihaza işaret ediyor.

ses ayarları

Bir Flash video oynatılmaya çalışılırken alınan PulseAudio günlük çıkışı .

Flash'tan günlük ayrıntılarını almaya çalıştım, ancak Flash'ın hata ayıklama için yüklenmesine ve etkinleştirilmesine rağmen , hiç bir çıkış üretmedi .

Sorun başka bir yazılımla gösterilmiyor, bu yüzden Flash'ın ses kurulumumla nasıl etkileşime girdiğine eminim.

Yararlı olabilecek bazı hata çıktıları şunlardır:

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

İşte sunucudanpactl list gelen çıktı (hoparlörlü bilgisayar) .

İşte çıkıştır pactl listgelen istemci .


Kaynak / havuz arasında ne tür bir ağ bağlantısı var?
ish

@izx: "source / sink" ile ne demek istediğini bilmiyorum. Bu "sunucu / istemci" demenin başka bir yoluysa, ethernet LAN bağlantısıdır. Başka bir şeyse, ne demek istediğinizi açıklamanız gerekir.
Sorgulayan

Dave, sohbet odasına katılabilir misin? Sanırım muhtemelen bir çözümüm var ama konuşmalıyım ...
ish

Değilse, sadece kablolu veya kablosuz demek istedim ve örneğin kablolu = 100 MBps yönlendirici vb. Veya kablosuz = 802.11G, N, vb.
ish

@izx: Anlıyorum. Aralarında bir yönlendirici bulunan kablolu bir LAN. 100MBps olduğuna inanıyorum. İstemcinin 1GBps kapasitesine sahip olduğunu düşünüyorum, ancak sunucu LAN kartı hala 100GBps. Bu önemliyse ve kesin bir hız elde etmek için çalıştırabileceğim bir komut varsa, lütfen bana bildirin.
Sorgulayan

Yanıtlar:


10

önsöz

Dave'in deneylerde sorununu çoğaltmayı başardım ve Flash'ın sesi bir şekilde çok fazla ağ trafiği oluşturacak şekilde PulseAudio'ya gönderdiğine inanmamı sağladılar (bant genişliği değil, çok sayıda küçük paket düşünün); Bu, PulseAudio'nun oluşturduğu ağ "tüneli" ni yener, yani

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

Sorunu, hem istemci hem de sunucuyu kendi sanal ağlarına koyarak, aralarında sonsuz hızlı bağlantı (10 Gbits / sn) vererek çözebilirim; Açıkçası, bu gerçek dünya ağları için işe yaramaz :)

Yani, biraz googling ve bu yazı ve bu bana tüneli bırakma fikrini verdi (Dave, uygun şekilde koyduğu aracı) ve müşterinin doğrudan sunucu ile konuşmasını sağladı, yani

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

Ve bu benim için çalıştı; Flash videolar / sesler kusursuz bir şekilde oynatılıyor.

Hadi deneyelim!

Bu, istemci sunucunuzun yerel bir ağda (yönlendirici vb.) Olduğunu varsayar.

  1. Ön: İstemci makinede, mevcut bir kurulumunuz varsa, her şeyi açın paprefsve işaretini kaldırın ; emin olmak için PulseAudio'yu öldür.

  2. Sunucu makinesinde (yani hoparlörleri olan), PA Tercihleri'ni ( paprefs) başlatın ve aşağıdaki gibi ayarlayın:

    resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin resim açıklamasını buraya girin

    • Ardından kapatın ve PulseAudio'yu gösterildiği gibi bir terminalde öldürün, bekleyin ve şimdi 4713 numaralı bağlantı noktasında dinlediğini kontrol edin:

    resim açıklamasını buraya girin

    • Görmüyorsanız açın paprefs tekrar ve Ağ Erişimi ve Ağ Sunucusu sekmelerinde kalan kutuları işaretleyin (zarar vermezler)

    • Sunucunun IP adresini - kullanım ifconfigvb. Bildiğinizden emin olun 192.168.0.4. Örneğimizde kullanacağız .

  3. İstemci makinesinde, bir terminal açın ve bir konuşma örneği WAV ile öncelikle doğrudan bağlantısını test (192.168 yerine ... ile senin sunucudan IP!)

    wget http://www.signalogic.com/melp/EngSamples/Orig/female.wav
    paplay --server = 192.168.0.4: 4713 kadın. dalga
    
    • Çalışırsa Ctrl-C ile iptal et, sıkıcı olabilir;)

Şimdi, çalışan tüm tarayıcı örneklerini kapatın ve başlatın (burada aşağıdaki sözdizimiyle Firefox olduğunu varsayarak):

PULSE_SERVER=192.168.0.4:4713 firefox &
  • 192...Sunucunuz için uygun IP ile değiştirin !

  • Bu Firefox örneğinde, Youtube'u (veya hangi Flash video sitesini) açın ve videoları oynatmayı deneyin - parmaklar geçti, kekemelik / duraklatma olmadan çalışmalıdır!

Yapışmasını sağlayın

Bu düzeltmeyi PULSE_SERVER=192.168.0.4:4713her komutun önüne koymak yerine tüm programlara uygulanmasını istiyorsanız /etc/environment, istemcide düzenleyin PULSE_SERVER=192.168.0.4:4713ve dosyanın sonuna yeni bir satır ekleyin . Ayrıca sonuna satır sonu ekleyin.

Bu , istemcideki tüm seslerin Pulseaudio sunucusuna gitmesini sağlayacaktır, bu nedenle /etc/environmentdosyanızda bu düzenlemeyi yapmadan önce istediğiniz şey olduğundan emin olun .

Yeniden başlatın ve smooooooth ses deneyiminin keyfini çıkarın. ;)


Yolda herhangi bir güvenlik duvarı var mı? ve 192.168.0.4'ü her yere koydun, değil mi? female.wavÇalışmasa bile firefox'u deneyin ...
ish

Ahh, ben bir adım unuttum - sonuna bu satırı ekleyin /etc/pulse/system.pa istemci üzerinde : load-module module-native-protocol-tcp auth-anonymous=1; kaydedin, pulseaudio'yu öldürün ve şimdi deneyin.
ish

Evet, istemci - sunucudaki paprefs ayarlarının zaten etkinleştirmiş olması gerekir. Ayrıca sunucuya da ekleyebilirsiniz, zarar vermez ...
ish

@DaveMG: Üzgünüm, şu an istemcideki şu iki satırı da kaldırmış olacağınızı varsaydım. Çok üzgünüm, son gün ya da öylesine meşgul ve değil. Ben geri 11:30 AM JST üzerinde olacak ve biz devam edebilirsiniz. Bu arada, ilginç yaptığım varsayılan tünel yapılandırmasının bu iki videosunu bulabilirsiniz: kekemelik , çalışma
ish

Bildiğiniz gibi, cevabı düzenledim ve yorumları birleştiriyorum, bu yüzden bu cevabı okuyabilen herkes için biraz daha açık (bu yüzden yorumlarım kaldırıldı). Sadece load-module module-native-protocol-tcp auth-anonymous=1;hattın /etc/pulse/system.pacevaba dahil edilmesi gerekip gerekmediğini mi yoksa teşhis sürecinin atılabilecek bir parçası olup olmadığını mı merak ediyordum ?
Sorgulayan

3

Sorun Gnash ise, nasıl düzeltileceği aşağıda açıklanmıştır:

Tüm tarayıcıları kapatın ve şu komutları çalıştırın:

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

o zaman bu sudo apt-get install adobe-flashplugin

bu benim sorunlarımı düzeltti: temelde Gnash ile ilgili her şeyi kaldırır ve Flash'ı yükler.



Önerileriniz için teşekkür ederim. Güncellenen soruma göre, Flash eklentisini değiştirmek soruna yardımcı görünmüyor.
Soru-

2

Sanırım sorununuz flash player ile ilgili olabilir.

Ortamınıza göre appx flash sürümünü yükleyen bir FireFox eklentisi Flash-Aid vardır.


Bahşiş için teşekkürler. İndirdi, yükledi, birkaç farklı Flash varyasyonu denedi. Ne yazık ki, ses titreşimi sorunu devam ediyor.
Soru

2

Flash oynatıcıyı sağ tıklayıp Ayarlar'ı (Efekti görmek için Yenile) tıkladığınızda Donanım hızlandırmayı etkinleştir onay kutusunun işaretini kaldırarak (devre dışı bırakarak) video rengi ters çevirme sorununu çözebildim .

Seninle aynı ses kekeme problemleri var. Başlangıçta çalışır, sonra bir süre sonra kekemelik devreye girer. Umarım birisi bunu düzeltebilir - ses almak için nabız ses sunucusunu nasıl atlayabileceğinizi merak ediyorum (sadece ağ ses gereksinimleri olmayan bir dizüstü bilgisayar kullanıyorum) .

(Firefox Kubuntu 12.04 amd64'te Flash 11.2 r202 var)


Önerin için teşekkürler. Donanım hızlandırmayı etkinleştirmeyi ve devre dışı bırakmayı denedim, ancak benim için hiçbir şey değişmiyor gibi görünüyor. Ayrıca, "nabız sesini atla" ile ne demek istediğini bilmiyorum.
Soru

2

MIXX dj Player Yüklü mü? Bazen ses sunucusu ile uğraşır. En azından yüklerseniz varsayılan ses teması "ubuntu" freedesktop değiştirir.

Ubuntu yazılım merkezinden "PulseAudio Preferences" uygulamasını kurmayı deneyebilirsiniz.
Ağ ile ilgili bazı yapılandırma seçenekleri vardır.


1

Aynı problemim var ve problem için henüz mükemmel bir çözüm bulamadım. Size yardımcı olabilecek bazı şeyler fark ettim:

1) Bu benim için flaş ile, ama aynı zamanda bazen youtube html5 sürümü ile olur. Bu senin için de mi oluyor? ( http://www.youtube.com/html5/ youtube'un html5 sürümünü buradan etkinleştirebilirsiniz). Bu, sorunun flaş için özel olmadığını (ancak belki bir şekilde tarayıcıların?)

2) Çıktı cihazını yerel cihaza ve sonra tekrar uzak sunucuya ayarlayarak pavucontrol kullanarak sunucuya gitmeden sesin sizin gibi düzgün çalışmasını sağlayabilirim. Bu, ses ve rastgele duraklamaların ve video atlamalarının kekemeliğini çözer. Bu ne yazık ki sadece bir sonraki video başlayana kadar çalışır.

3) Bu sorunu googling yaparken, sorunun istemcinin saat sayaçlarıyla ilgili olduğunu ve sunucunun düzgün bir şekilde bağlanmadığını ve sunucuyu yeniden başlatarak veya müşteri (yani nokta 2). Bunu senin için kazmaya çalışacağım.

Vaat edilen tartışmayı bulamadım, ancak zamanlayıcı tabanlı zamanlama hakkında bazı arka plan bilgileri buldum : http://0pointer.de/blog/projects/pulse-glitch-free.html


+1, evrende yalnız olmadığımı bilmem için! 1. nokta için, bunu çözmeye çalışırken YouTube'un html5 sürümünü kullanmayı denedim, ancak videolar doğru bir şekilde oynamadı ve tamamen farklı bir şekilde, bu yüzden biraz sonuçsuz olduğunu hissettim (belki de farklı bir sorun). 2. nokta için, bu ilginç ve benim için de işe yarayıp yaramayacağını göreceğim. Aynı soruna farklı bir çözüm gibi görünüyor. Ve 3. nokta, sebebin gerçek bir açıklamasına yönlendirme potansiyeline sahip olduğu için en cesaret verici bilgidir. Yanıt verdiğiniz için teşekkürler!
Soru

Sorun değil. Bahsettiğim bilgileri aradım, ama tekrar bulamadım.
HansHarhoff

1
Burada fırlatma rampasına bir hata raporu gönderdim: bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1030559 Bakalım bu bize bazı işaretçiler veriyor mu?
HansHarhoff

Güzel. Hata hakkında bir yorum yayınladım, umarım güncellemelerden haberdar edilirim. Kendi hata raporumu yayınlamamıştım çünkü Apport'u belirli bir yazılım çökmesi olmadığında bir hata raporu oluşturabilecek şekilde nasıl kullanacağımı asla anlayamadım.
Sorgulayan

1

Bu sayfayı sonunda bulduğum için gerçekten çok memnunum.

Ben Ubuntu birçok sürümü beri bu sorun yaşadım (padevchooser terk edildiğinde kötü olmaya başladı) ve şimdi Arch ile. Tarayıcıyı başlatmadan önce PULSE_SERVER ortam değişkenini ayarlama ve dışa aktarma çözümü benim için her zaman iyi çalıştı. Sunucudaki hiçbir şeyi değiştirmek gerekli değildir.

Ancak anlamadığım bir şey var: Tarayıcımı (Chromium) masaüstü ortamının içindeki bir terminalden başlattığımda ses çalışıyor. Tarayıcıyı normalde olması gerektiği gibi bir başlatıcıdan (Xfce, Gnome, ...) başlattığımda, yukarıda açıklanan sorunlar var. Bunun X11 ortam değişkenleriyle bir ilgisi olduğunu düşünüyorum, ama bu benim becerilerimin ötesinde.

Benim için şimdi dosyamı chromium.desktopdüzenleyerek ve Pulse-Server'ı buraya ekleyerek sorunu çözdüm:

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


1

Herhangi bir ortamı kusursuz bir şekilde çalıştırmak için firefox'ta bu eklentilere sahip olmanız gerekir. Hangisine sahip olup olmadığınızı kontrol edin.

Profil şu şekilde olmalıdır:


0

Modül tünel lavabosu kullanırken kekemeliği gidermek için bir çözüm buldum.

Yapmanız gereken tek şey Flash Player sürüm 10.3'ü (aynı zamanda donanım hızlandırma desteğine de sahip, Adobe 11 sürümüne bıraktı) indirmektir.

İşte x86_64 ikili dosyası

Kurmak için libflashplayer.sokitaplığı ~/.mozilla/pluginsdizine ayıklayın veya kullanarak mevcut bağlantıyı değiştirin update-alternatives.

Lütfen 10.3 sürümünün birçok güvenlik açığı bulunduğunu unutmayın, bu nedenle riski kendinize ait olarak kullanırsınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.