web-dev-qa-db-ja.com

ブラウザのFlashは、Pulseネットワークオーディオを使用してサウンドを正確に再生しません

PulseAudioを使用して、音声をLAN経由でオーディオサーバーに送信します。

FirefoxまたはChromeでFlashメディアを再生すると、音量が1秒ごとに上下するように音がちらつきます( example )。

次の手順に従うと、音がひらひらするのを止めることができることがわかりました。

  • YouTubeのビデオなどのFlashビデオを開始します

  • serverpulseaudio --killを実行します

  • 約7秒待ちます

この後、PulseAudioサーバーが自動的に再生成され、Flashビデオのサウンドは問題ありません。

問題は、これをしなければならないということです毎回Flashビデオを開始します。これは明らかに望ましくありません。

これらの手順を実行するときにサウンドが機能するようにするために、それらを行う必要がないようにするにはどうすればよいですか?

誰かがすぐに簡単に修正できるとは思いませんが(それはいいことですが)、少なくともこの問題を診断する方法を提供してくれる人なら誰にでも賞金を支払うことができます。


詳細

サウンドデバイスの出力設定は次のとおりです。私の知る限り、4つのデバイスはすべて、まったく同じ物理デバイスを指しています。

sound settings

PulseAudioログ出力 、Flashビデオを再生しようとしたときに取得されます。

Flashからロギングの詳細を取得しようとしましたが、デバッグ用にFlashをインストールして有効にしたにもかかわらず、 出力はまったく生成されませんでした

この問題は他のソフトウェアでは発生しないため、Flashがサウンド設定とどのように相互作用するかに固有のものであると確信しています。

役に立つかもしれないいくつかのエラー出力はここにあります:

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

サーバー(スピーカーのあるコンピューター) からのpactl listの出力は次のとおりです。

クライアント からのpactl listからの出力は次のとおりです。

18
Questioner

序文

実験でDaveの問題を再現することができたので、Flashは何らかの方法でサウンドをPulseAudioに送信し、大量のネットワークトラフィック(帯域幅ではなく、多くの小さなパケットを考慮)を作成するように思われました。これは、PulseAudioが作成したネットワーク「トンネル」を圧倒します。つまり、

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

クライアントとサーバーの両方を独自の仮想ネットワークに配置し、それらの間に実質的に無限の高速接続(10ギガビット/秒)を与えることで問題を解決できました。明らかに、それは実際のネットワークでは機能しません:)

だから、ちょっとしたグーグルと この投稿この1 は、トンネル(ミドルマン、デイブが適切に言ったように)を落とし、クライアントに直接話すというアイデアを与えてくれましたサーバーへ、すなわち.

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

そしてそれは私のために働いた。 Flashビデオ/サウンドは問題なく再生されます。

試してみよう!

これは、クライアントサーバーがローカルネットワーク(ルーターなど)上にあることを前提としています

  1. 予備:既存のセットアップがある場合、クライアントマシンでpaprefsを開き、everythingのチェックを外します。確認のためにPulseAudioを強制終了してください。

  2. サーバーマシン(つまり、スピーカーのあるマシン)で、PA Preferences(paprefs)を起動し、次のように設定します。

    enter image description hereenter image description hereenter image description hereenter image description here

    • 次に、それを閉じ、示されているようにターミナルでPulseAudioを強制終了し、待機して、ポート4713でリッスンしていることを確認します。

    enter image description here

    • 表示されない場合は、paprefsを再度開いて、[ネットワークアクセス]タブと[ネットワークサーバー]タブの残りのボックスをオンにします(これらは損傷しません)

    • サーバーのIPアドレスを知っていることを確認してください-ifconfigなどを使用してください。この例では192.168.0.4を使用します。

  3. クライアントマシンで、ターミナルを開き、音声サンプルWAVで直接接続を最初にテストします(192.168 ...をyourサーバーIPに置き換えてください!)

     wget http://www.signalogic.com/melp/EngSamples/Orig/female.wav
    paplay --server = 192.168.0.4:4713 female.wav 
    
    • うまくいけばCtrl-Cで中止し、退屈になります;)

ここで、実行中のすべてのブラウザインスタンスを閉じてから起動します(ここでFirefoxを次の構文で使用する場合)。

Pulse_SERVER=192.168.0.4:4713 firefox &
  • 192...をサーバーの適切なIPに置き換えてください!

  • そのFirefoxインスタンスで、Youtube(またはいずれかのFlashビデオサイト)を開き、ビデオを再生してみてください---指を交差させて、,音/一時停止なしで機能するはずです!

固執する

すべてのコマンドの前にPulse_SERVER=192.168.0.4:4713を配置する代わりに、この修正をすべてのプログラムに適用する場合は、client/etc/environmentを編集して追加しますPulse_SERVER=192.168.0.4:4713ファイルの最後の新しい行に。また、最後に改行を追加します。

これにより、クライアント上のallサウンドがPulseaudioサーバーに送られます。したがって、/etc/environmentファイルを編集する前に、それが目的のものであることを確認してください。

再起動して、smoooooothオーディオエクスペリエンスをお楽しみください。 ;)

10
ish

問題がGnashである場合、修正方法は次のとおりです。

すべてのブラウザーを閉じて、次のコマンドを実行します。

Sudo apt-get purge gnash mozilla-plugin-gnash Adobe-flashplugin

その後、このSudo apt-getはAdobe-flashpluginをインストールします

これにより私の問題が修正されました。基本的には、Gnashに関連するすべてが削除され、Flashがインストールされます。

3
zeitue

あなたの問題はフラッシュプレーヤーに関連していると思います。

FireFoxプラグイン Flash-Aid があり、環境に応じてappxフラッシュバージョンをインストールします。

2
Searock

MIXX dj Playerがインストールされていますか?それは時々サウンドサーバーを台無しにします。少なくともインストールすると、デフォルトのサウンドテーマ「ubuntu」がfreedesktopに変更されます。

Ubuntuソフトウェアセンターから「PulseAudio Preferences」をインストールしてみてください。
ネットワークに関連するいくつかの設定オプションがあります。

2

Flash Playerを右クリックして設定(その効果を確認するために更新する)をクリックしたときにハードウェアアクセラレーションを有効にするチェックボックスのチェックを外す(無効にする)ことで、ビデオの色反転の問題を修正できました)。

私はあなたと同じ音声のutter音の問題を抱えています。最初は動作しますが、しばらくするとst音が発生します。誰かがこれを修正できることを願っています-Pulseオーディオサーバーをバイパスしてサウンドを取得する方法については興味があります(ネットワークオーディオを必要としないラップトップを使用しています) 。

(Firefox Kubuntu 12.04 AMD64でFlash 11.2 r202を使用しています)

2
pd12

私は同じ問題を抱えており、問題の完全な解決策をまだ見つけていません。私はあなたを助けるかもしれないいくつかのことに気づきました:

1)私はフラッシュを使用していますが、html5バージョンのyoutubeを使用している場合もあります。これはあなたにも起こりますか? ( http://www.youtube.com/html5/ ここでyoutubeのhtml5バージョンを有効にできます)。これは、問題がフラッシュに限定されないことを示唆しています(しかし、おそらくどういうわけかブラウザ?)

2)出力デバイスをローカルデバイスに設定してからリモートサーバーに戻すことにより、pavucontrolを使用することにより、サーバーに移動しなくても、サウンドを適切に機能させることができます。これにより、音声のst音とビデオのランダムな一時停止とスキップが解決されます。これは、次のビデオが始まるまで機能しません。

3)この問題をグーグルで検索しているときに、クライアントとサーバーのクロックカウンターが正しくリンクされていないことに関連し、サーバーを再起動するか、サーバーに再接続することでリセットされると言う人がいますクライアント(つまり、ポイント2)。私はあなたのためにそれを掘ろうとします。

約束された議論は見つかりませんでしたが、タイマーベースのスケジューリングに関する背景情報をいくつか見つけました。 http://0pointer.de/blog/projects/Pulse-glitch-free.html

1
HansHarhoff

このページをようやく見つけてよかったです。

Ubuntuの多くのバージョン(padevchooserが放棄されたときに厄介になり始めた)以来、現在Archでこの問題がありました。ブラウザーを起動する前に環境変数Pulse_SERVERを設定およびエクスポートするソリューションは、常に私にとってはうまくいきました。サーバー上の何かを変更する必要はありません。

しかし、理解できないことが1つあります。デスクトップ環境内のterminalからブラウザー(Chromium)を起動すると、サウンドが機能します。 launcher(Xfce、Gnome、...)からブラウザを起動すると、通常どおりに、上記の問題が発生します。 X11環境変数と関係があると思いますが、これは私のスキルを超えています。

私はchromium.desktopファイルを編集して、Pulse-Serverを追加することで問題を解決しました。

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

1
Armin Hahn

メディアを完璧に実行するには、これらのプラグインをfirefoxにインストールする必要があります。持っているものと持っていないものを確認してください。

プロファイルは次のようになります。

1

Module-tunnel-sinkの使用中にst音を修正する解決策を見つけました。

必要なことは、Flash Playerバージョン10.3をダウンロードすることです(これにはハードウェアアクセラレーションのサポートもあり、Adobeはバージョン11でこれを廃止しました)。

これはx86_64バイナリです

これをインストールするには、libflashplayer.soライブラリを~/.mozilla/pluginsディレクトリに抽出するか、update-alternativesを使用して現在のリンクを変更します。

10.3バージョンには多くのセキュリティ脆弱性があるため、ご自身の責任で使用してください。

0
patataj