O que há nos vídeos do Ubuntu / Linux, Youtube / HTML5 e a alta carga da CPU?

15

Estou pesquisando há algumas semanas e tentando todas as soluções diferentes, mas não consegui encontrar uma solução funcional nem uma resposta satisfatória para minha pergunta: Por que um vídeo HTML5 do Youtube no Ubuntu / Linux faz a CPU passar pelo cobertura? Desde que encontrei perguntas semelhantes , sei que não sou apenas eu.

Eu tenho uma Nvidia GeForce 660M e Intel Graphics em um Core i7 (com 8 núcleos).

Assistindo a um vídeo em 1080p no Ubuntu 16.04 (com Firefox e Chromium), a carga da CPU aumenta em até 100% em alguns minutos, transformando o vídeo em uma apresentação de slides e tornando o computador inutilizável. Mas transmitir esses vídeos com VLC ou Totem não é problema (é por isso que a maioria das soluções que encontrei até agora sugerem essa solução).

Assistir os mesmos vídeos no Windows (no mesmo laptop) não parece muito diferente de editar um arquivo do Word em termos de carga da CPU.

Portanto, isso significa que o problema deve estar especificamente relacionado ao navegador em combinação com Linux / Ubuntu.

Sim, o HTML5 é suportado:

html5-support


Sim, tenho drivers Nvidia instalados:

insira a descrição da imagem aqui


Aqui está o que chrome://gpume dá:

insira a descrição da imagem aqui


Portanto, parece que a aceleração de hardware para decodificação de vídeo não está disponível. Como posso disponibilizá-lo? Isso é possível? Se não: por que não e como será? Há outra opção de configuração que estou faltando?

É 2017 e poder assistir a vídeos engraçados de gatos em alta qualidade em um computador decente deve ser uma coisa bastante básica!

Quasdunk
fonte
a aceleração de hardware não está ativada desde 2012 e não será tão cedo quanto li. No entanto, você não deve ter problemas ao usar a decodificação de software para seus vídeos, sua CPU não deve aumentar muito. Você experimenta o mesmo ao usar o Firefox? Se assim for, pode estar relacionado ao fato de que você tem 2 placas gráficas
Felipe
@ Felipe Isso realmente não parece muito promissor. Sim, eu também me deparei com um artigo de 2014 afirmando algo semelhante, mas como é muito antigo, não levei muito a sério. E sim, eu também li sobre o problema da placa gráfica 2, é por isso que instalei a nvidia-prime e disse-lhe explicitamente para usar a GPU Nvidia, conforme sugerido aqui . Realmente não acredito que a aceleração de hardware não seja possível em um dos sistemas operacionais mais populares ... E sim, é o mesmo no Firefox (e no Vivaldi).
Quasdunk
o mesmo acontece ao usar o Firefox? como eu disse, se houver, pode ser mais difícil de resolver, mas se o Firefox funcionar bem, pode ser uma instalação defeituosa do Chrome. Além disso, tente fazer com que a nvidia-prime use apenas a GPU Intel. Eu testaria todas as possibilidades para ver o que acontece e diminuir o problema.
Felipe
@ Felipe, desculpe, editei meu comentário mais tarde sobre outros navegadores. Então, sim, é o mesmo no Firefox, Chromium e Vivaldi. Agora mudei para a GPU Intel, apesar de ter tentado isso também, mas isso foi há um tempo atrás e algumas coisas mudaram desde então. Ele parece para executar mais estável (a média de carga não foi acima de 2,0 até mesmo depois de 5 minutos). Se essa é realmente a solução, o problema pode estar nos drivers da Nvidia (mesmo que eu já tenha tentado todos eles). Vou dar uma olhada em como a GPU Intel lida com isso agora a longo prazo e reportar :) :) Obrigado!
Quasdunk
Você já tentou usar os drivers da Nvidia a partir deste ppa, experimentá-lo que tem os drivers mais recentes estáveis: launchpad.net/~graphics-drivers/+archive/ubuntu/ppa
Felipe

Respostas:

2

Como o seu sistema possui Nvidia e Intel GPU, o problema é encontrado em todos os navegadores que você está usando. Definitivamente, é um problema com os drivers e não com os navegadores. Mesmo que o Chrome não esteja ajudando, não fornece decodificação de hardware de vídeo. Você deve tentar usar apenas a GPU Intel que possui drivers mais estáveis ​​no Linux.

A @Quasdunk relatou que a mudança para a GPU Intel reduziu significativamente a carga na máquina e agora é utilizável.

Se você realmente deseja usar a GPU Nvidia, tente atualizar seus drivers usando este ppa .

Felipe
fonte
1
Muito obrigado! Apesar de se tratar de um problema de driver, agradeço especificamente ao navegador / sistema operacional, apenas mais uma vez: a aceleração de vídeo por hardware não funciona no Linux e não funcionará tão cedo! Mudar para a GPU Intel agora o suporta, mas usar 30% de uma CPU i7 apenas para assistir a um vídeo no navegador ainda é bastante insano.
Quasdunk 8/17/17
Eu tenho um T460p com uma Nvidia GeForce 940MX no Ubuntu 18.04. Mudei a configuração para "economia de bateria" (usando a CPU em vez da GPU). Isso deixou meu computador super quente algumas vezes ao assistir ao YouTube. Curiosamente, apenas recentemente (alguns dias atrás, eu acho). Não tenho certeza se mudei alguma coisa. Eu tenho o chrome 79.0.3945.79 no momento e alterar a configuração da Nvidia para desempenho (usando a gpu) parece ter corrigido o problema.
Martin Thoma
Não importa, isso NÃO resolveu meu problema. Eu tinha o wg-gesucht.de/wg-zimmer-in-Muenchen-Berg-am-Laim.3570695.html aberto por um tempo e ele começou a aquecer minha CPU novamente.
Martin Thoma
4

Eu tive um problema semelhante. Minha CPU usou mais de 100% htopenquanto assistia a vídeos do YouTube 1080p.

Especificações:

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

Eu tive que instalar estes plugins:

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

Em seguida, foi para a página de sinalizadores do Google Chrome chrome://flags/e a opção ativada:

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

Tela: insira a descrição da imagem aqui

Após reiniciar o navegador, meu uso da CPU caiu para cerca de 30%.

Como último recurso, você sempre pode desativar Video Hardware Decodeusando a linha de comando:

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

Aqui está uma lista de todas as opções de linha de comando possíveis para o Google Chrome: https://peter.sh/experiments/chromium-command-line-switches/

Solução alternativa:

Há outra coisa que, para mim, fez minha CPU ficar alta. Era um script js no YouTube. Eu tive que bloqueá-lo no uBlockaddon:

insira a descrição da imagem aqui

O retângulo vermelho mostra muitos pedidos de um mss_4.jsscript - isso causou picos de CPU. O retângulo verde mostra que o script está bloqueado dentro do uBlockcomplemento, portanto, não mss_4.jsé feita nenhuma solicitação dentro do .

Michal Przybylowicz
fonte
Um atalho para a bandeira do WebRTCchrome://flags/#enable-webrtc-h264-with-openh264-ffmpeg
Md. Abu Taher