Eu estou jogando um vídeo de alta qualidade (1080p) usando o VLC dentro de uma máquina virtual qemu-kvm. O sistema operacional na minha máquina virtual é o gentoo e o sistema operacional host é o Ubuntu.
A experiência de vídeo é muito brusca: o vídeo pára muito, o log de modo detalhado tem um monte de mensagens "PTS está fora de alcance, soltando buffer" e "última foto ignorada".
A utilização da CPU do processo do qemu não chega nem perto de 100%. Nem é a utilização do disco. (usando inspeção visual de top
e iotop
).
O que mais poderia causar esse problema? Quais opções eu poderia tentar na vlc para descobrir o problema?
video
vlc-media-player
qemu
AnkurVj
fonte
fonte
Respostas:
Se possível, eu alocaria mais recursos para a máquina virtual. Especificamente, alocando mais Núcleos e verificando se você pode aumentar a RAM de Vídeo. Máquinas virtuais não têm acesso a 100% dos recursos em seu computador, apenas até o valor máximo que o Hypervisor (qemu-kvm no seu caso) permite. Lembre-se de que seu sistema também está usando uma placa gráfica virtualizada, de modo que ela não é tão poderosa quanto a placa gráfica à qual o seu host tem acesso - mesmo que um Hypervisor permita recursos avançados de vídeo, existe uma penalidade de desempenho para o virtual emulação de dispositivos.
fonte
O qemu-kvm não usa o vnc para sua exibição? Eu acho que o vídeo é decodificado em software e, em seguida, os bitmaps são enviados para o processo vnc-viewer e, em seguida, para o servidor X e, em seguida, para a placa de vídeo.
Além disso, a utilização da CPU. Eu acho que o Linux não separa% idle (esperando pelo usuário) e % wio (esperando pelo io). Se um processo aguardar o cartão grapics, isso é registrado como ocioso.
Se você realmente quiser ver o vídeo de uma máquina virtual, provavelmente precisará procurar algo que possa gravar diretamente na sua placa gráfica. Essa é a vlc em execução no seu vm precisa usar algo como DRI para mapear sua placa gráfica no próprio espaço de memória virtual da vlc.
fonte