KVM/Qemu VM - Handbrake niedrige FPS

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

KVM/Qemu VM - Handbrake niedrige FPS

Beitrag von irgendwas » 27.07.2019 08:46:06

Hallo zusammen,

ich möchte gerne mithilfe von Handbrake ein paar Videos von h264 nach h265 konvertieren - alles innerhalb einer VM, da der Homeserver sowieso 24/7 läuft. Leider erreiche ich durchschnittlich nur ~13fps. Ich versuche daher das ganze etwas zu erhöhen, wobei ich nicht weiß, wo der Flaschenhals ist. Als Host dient ein aktuelles Debian 9 mit einer Ryzen 7 2700 CPU, 32 GB DDR4-RAM und als Grafikkarte eine MSI GT710 2GB. Zur VM selbst (Xubuntu 16.04):

Code: Alles auswählen

<domain type='kvm'>
  <name>EXAMPLE</name>
  <uuid>XXXX</uuid>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <vcpu placement='static'>8</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.8'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <vmport state='off'/>
  </features>
  <cpu mode='host-model'>
    <model fallback='allow'/>
    <topology sockets='1' cores='4' threads='2'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source file='/XXXX.raw'/>
      <target dev='sda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='scsi' index='0' model='virtio-scsi'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='XXXX'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <sound model='ich6'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='131072' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </memballoon>
  </devices>
</domain>

wanne
Moderator
Beiträge: 7465
Registriert: 24.05.2010 12:39:42

Re: KVM/Qemu VM - Handbrake niedrige FPS

Beitrag von wanne » 27.07.2019 09:10:04

wobei ich nicht weiß, wo der Flaschenhals
Ich würde mal sagen da:
nobody2311 hat geschrieben: ↑ zum Beitrag ↑
27.07.2019 08:46:06
nach h265 konvertieren
Der ist halt rechenaufwändig. Wenn du schneller willst würde ich mal ein h264 reencode ausprobieren. Der x264 mit den richtigen Optionen komprimiert dir auch schon deutlich besser als die meisten anderen h.264 encoder.
als Grafikkarte eine MSI GT710 2GB
Das ist glaube ich eine GeForce GT 710 die ist noch Kepler. Da hast du wenig Chancen vernünftig drauf zu encodieren. Nichtmal in h.264. Daneben ist das eine Dekstop CPUGPU, die lassen sich nicht so ganz einfach in ne VM durchreichen. Daneben verbieten sie dir das glaube ich auch in den AGB vom NVIDIA-Treiber. (Und ohne den Kannst du eh nicht encodieren.)
Musst du dich auf die CPU verlassen. Und da sind die 13fps, je nach auflösung, durchaus realistisch. Geht es auf dem Host schneller?
Du kannst mal die Flags in der VM und auf dem Host aus /proc/cpuinfo posten. Aber host-model wird das vermutlich ganz gut hinbekommen haben. Außerdem wird da wenig drin sein ohne die libx265 neu zu kompilieren.
rot: Moderator wanne spricht, default: User wanne spricht.

irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

Re: KVM/Qemu VM - Handbrake niedrige FPS

Beitrag von irgendwas » 27.07.2019 09:39:37

Danke für deine schnelle Antwort :D
wanne hat geschrieben: ↑ zum Beitrag ↑
27.07.2019 09:10:04
Daneben ist das eine Dekstop CPU, die lassen sich nicht so ganz einfach in ne VM durchreichen.
Naja Preis-/Leistung war verlockend: 8 Kerne und 16 Threads im Vergleich zum vorherigen Celeron G3900 :D
wanne hat geschrieben: ↑ zum Beitrag ↑
27.07.2019 09:10:04
Geht es auf dem Host schneller?
Hab ich noch nicht getestet. Auf dem Host ist keine Desktop-Umgebung installiert, wird dann mit HandBrakeCLI die FPS überhaupt angezeigt?

Code: Alles auswählen

Host
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca

Code: Alles auswählen

Gast
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb lm rep_good nopl extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat

MaGe
Beiträge: 1717
Registriert: 01.06.2014 17:12:16

Re: KVM/Qemu VM - Handbrake niedrige FPS

Beitrag von MaGe » 27.07.2019 10:23:21

@ nobody2311
wird dann mit HandBrakeCLI die FPS überhaupt angezeigt?

encoded 646 frames in 10.39s (62.18 fps), 379.04 kb/s, Avg QP:24.97


gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.

wanne
Moderator
Beiträge: 7465
Registriert: 24.05.2010 12:39:42

Re: KVM/Qemu VM - Handbrake niedrige FPS

Beitrag von wanne » 27.07.2019 10:48:51

wanne hat geschrieben: ↑ zum Beitrag ↑
27.07.2019 09:10:04
Daneben ist das eine Dekstop CPU, die lassen sich nicht so ganz einfach in ne VM durchreichen.
Naja Preis-/Leistung war verlockend: 8 Kerne und 16 Threads im Vergleich zum vorherigen Celeron G3900 :D
Sorry, das war ein Typo. Ich wollte natürlich auf die Grafikkarte raus. Die wirst du halt aus mehrerlei Gründen nicht nutzen können.

Code: Alles auswählen

Host
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_l2 mwaitx cpb hw_pstate ssbd ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves clzero irperf arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic overflow_recov succor smca

Code: Alles auswählen

Gast
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb lm rep_good nopl extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibpb vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt xsaveopt xsavec xgetbv1 arat
[/quote]Wie schon vermutet sieht das sauerb aus. Da ist wenig zu machen. Das dürfte schon weitestgehend optimal sein. Glaub nicht, dass du da großartige Sprüge an Performance erwarten kannst. Entweder h.264 oder es bleibt halt so lahm.
Du kannst natürlich auch in der Hardbrake CLI die Preset auf fast oder so setzten. Dann hast du aber halt riesige Files, was wohl eher nicht gewünscht ist.
rot: Moderator wanne spricht, default: User wanne spricht.

irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

Re: KVM/Qemu VM - Handbrake niedrige FPS

Beitrag von irgendwas » 27.07.2019 11:15:18

MaGe hat geschrieben: ↑ zum Beitrag ↑
27.07.2019 10:23:21
Danke :THX: Hab's direkt getestet und nach 10% komm ich auf durchschnittlich ~14fps
wanne hat geschrieben: ↑ zum Beitrag ↑
27.07.2019 10:48:51
Hmm schade. Trotzdem danke für die schnelle Aufklärung. :THX:

Ich liebäugle aktuell eh nach einer anderen Hardware, weil ich mit dem AMD nicht so wirklich zufrieden bin. Die Hardware ist noch relativ neu, daher wäre ein verkauf mit relativ wenig Verlust möglich. Welche Hardware würde dafür besser eignen? Aktuell liebäugle ich mit einem Intel Core i9-9900, der hat ebenfalls 8 Kerne, 16 Threads, 65W TDP und unter "IGP-Features" wird H.265 encode/​decode genannt. Auf eine Grafikkarte würde ich eigentlich gerne verzichten.

wanne
Moderator
Beiträge: 7465
Registriert: 24.05.2010 12:39:42

Re: KVM/Qemu VM - Handbrake niedrige FPS

Beitrag von wanne » 27.07.2019 11:27:59

Aktuell liebäugle ich mit einem Intel Core i9-9900, der hat ebenfalls 8 Kerne, 16 Threads, 65W TDP und unter "IGP-Features" wird H.265 encode/​decode genannt.
Da legst du mit verkauf halt locker 300€ drauf. Wenn du dir für das Geld ne Zeitgemäße Grafikkarte kaufst, kommst du deutlich billiger weg.
Darf halt keine NVIDIA sein, weil da Virtualisierung unbzahlbares premium-Feature ist.
rot: Moderator wanne spricht, default: User wanne spricht.

irgendwas
Beiträge: 278
Registriert: 04.04.2016 18:53:19
Lizenz eigener Beiträge: MIT Lizenz

Re: KVM/Qemu VM - Handbrake niedrige FPS

Beitrag von irgendwas » 27.07.2019 12:01:46

wanne hat geschrieben: ↑ zum Beitrag ↑
27.07.2019 11:27:59
Wenn du dir für das Geld ne Zeitgemäße Grafikkarte kaufst, kommst du deutlich billiger weg.
Darf halt keine NVIDIA sein, weil da Virtualisierung unbzahlbares premium-Feature ist.
Okay, das klingt natürlich besser :D Da ich noch nie ein richtiger "Zocker" war, habe ich keinen Überblick über Grafikkarten. Wenn ich auf geizhals.de nachsehe, dann gibt es dort eine gewaltige Auswahl an Filtermöglichkeiten :? Unter "Besonderheiten" ist auch H.265 encode/decode gelistet - das wäre ja ideal, oder? Worauf sollte ich noch achten oder könntest du vielleicht etwas empfehlen? (Chipanzahl, Speichergröße, TMU, ..)

Antworten