web-dev-qa-db-ja.com

Ubuntu / Linux、Youtube / HTML5ビデオ、および高いCPU負荷とは何ですか?

私は数週間グーグルでいろいろな解決策を試してみましたが、実用的な解決策も私の質問に対する満足のいく答えも見つかりませんでした:なぜYoutube HTML5ビデオがUbuntu/LinuxがCPUを屋根から追い出しますか?私は foundsimilarquestions 、Iそれは私だけではないことを知っています。

Nvidia GeForce 660MおよびIntel GraphicsをCore i7(8コア)で使用しています。

Ubuntu 16.04(FirefoxとChromiumの両方で)で1080pビデオを見ると、CPU負荷が数分間で最大100%増加し、ビデオがスライドショーになり、コンピューターがまったく使用できなくなります。しかし、これらのビデオをVLCまたはTotemでストリーミングすることはまったく問題ありません(だから、これまでに見つけたほとんどのソリューションがこの回避策を提案しています)。

Windowsで同じビデオを(同じラップトップで)見ることは、CPU負荷の点でWordファイルを編集することと実際に異なって見えません。

つまり、この問題は、Linux/Ubuntuと組み合わせたブラウザに特に関連している必要があります。

はい、HTML5はサポートされています:

html5-support


はい、Nvidiaドライバーがインストールされています:

enter image description here


chrome://gpuが提供するものは次のとおりです。

enter image description here


そのため、ビデオデコード用のハードウェアアクセラレーションは利用できないようです。どうすれば入手できますか?それも可能ですか?いいえの場合:なぜそうならないのでしょうか?私が見逃している別の構成オプションはありますか?

それは2017年であり、まともなコンピューターで面白い猫のビデオを高品質で見ることができることはかなり基本的なことです!

11
Quasdunk

システムにはNvidiaとIntel GPUの両方があり、使用しているすべてのブラウザーで問題が見つかっているためです。それは間違いなく、ドライバーではなくブラウザーの問題です。 Chromeは、ビデオハードウェアデコードを提供しないことで助けにはなりませんが。 Linuxでより安定したドライバーを搭載したIntel GPUのみを使用してみてください。

@Quasdunkは、Intel GPUへの切り替えによりマシンの負荷が大幅に低下し、使用可能になったと報告しました。

本当にNvidia GPUを使用したい場合は、この ppa を使用してドライバーをアップグレードしてみてください。

1
Felipe

同様の問題がありました。 1080pでYouTubeの動画を見ているときに、CPUがhtopで100%を超えて使用しました。

仕様:

CPU: 7700k
GPU: Nvidia GTX 1080
Drivers: 384.69

これらのプラグインをインストールする必要がありました。

Sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly

次に、Google Chromeフラグページchrome://flags/および有効なオプションに移動しました。

WebRTC H.264 software video encoder/decoder Mac, Windows, Linux, Chrome OS

画面:enter image description here

ブラウザを再起動した後、CPU使用率は約30%に低下しました。

最後の手段として、コマンドラインを使用して、いつでもVideo Hardware Decodeを無効にできます。

google-chrome --disable-accelerated-video-decode 

Google Chromeで使用可能なすべてのコマンドラインオプションのリストを次に示します。 https://peter.sh/experiments/chromium-command-line-switches/

代替ソリューション:

私にとっては、CPUを高くした別のことがあります。 YouTubeのjsスクリプトでした。 uBlockアドオンでブロックする必要がありました:

enter image description here

赤い長方形はmss_4.jsスクリプトからの多くのリクエストを示しています-これはCPUスパイクを引き起こしました。緑の長方形は、スクリプトがuBlockアドオン内でブロックされていることを示しているため、mss_4.js内でこれ以上のリクエストは行われません。

4