Videowiedergabe 4K mit Hardwarebeschleunigung
Videowiedergabe 4K mit Hardwarebeschleunigung
Hallo,
ich habe mir einen 4K-Montior gekauft und möchte diesen an meinem Laptop mit Intel i5-8250U, integrierter UHD620-Grafik und Debian Buster betreiben.
Leider waren die ersten Tests mit Video-Playback eher ernüchternd. Sowohl in Chromium als auch in Firefox ist es mir nicht möglich, flüssig 4K-Videos von Youtube abzuspielen. Leider ist das Verhalten etwas merkwürdig: Wenn ich z.B. dieses Video (im Youtube-Player fest eingestellt auf 4K @24Hz, VP9) auf dem integrierten Display (FHD) schaue, läuft es flüssig. Wenn ich das Browserfenster auf den 4K-Mointor ziehe (ohne die Größe zu verändern), läuft es auch noch. Sobald ich aber das Browserfenster maximiere, bricht die Wiedergabe alle 1-2 Sekunden ab und es "lädt" immer ca. 1 Sekunde. Vollbild ändert nichts, CPU-Auslastung ist dauernd über 90%.
Ich vermute, dass das daran liegt, dass das Video ohne Hardwarebeschleunigung decodiert wird. Soweit ich das gesehen habe, gibt es für Chromium einen Patch für Hardwarebeschleunigung, der aber wohl nicht in den offiziellen Builds enthalten ist, jedoch wohl in den Ubuntu Snap-Builds. Jetzt meine erste Frage; gibt es eine "schönere" Variante, an einen Build mit diesen Patches zu kommen, als über Snap?
Danach habe ich etwas weiter getestet und Videos mit youtube-dl heruntergeladen (als webm mit VP9-Codec). Mit Totem ruckelt es extrem, aber mit VLC läuft es bei 4K@24Hz flüssig auch im Vollbild, CPU-Auslastung bei etwa 20%. Ich gehe davon aus, dass VLC die Hardwarebeschleunigung für VP9 nutzt (laut vainfo wird VP9 von meiner Grafik unterstützt und in den VLC-Einstellungen steht die Beschleunigung auf "automatisch"). Nächster Versuch war dann dieses Video mit 4K@60Hz, ebenfalls mit youtube-dl runtergeladen (webm, VP9). Hier habe ich wieder ein ähnliches Problem: mit VLC läuft es auf dem integrierten Monitor flüssig, auch auf dem externen solange das VLC-Fenster klein ist. Sobald ich allerdings das VLC-Fenster über eine gewisse Schwelle vergrößere (oder Vollbild auf dem 4K-Display), beginnt es zu ruckeln und laut den VLC-Statistiken werden ca. die Hälfte der Frames gedroppt.
Jetzt hier die zweite Frage: Gibt es noch Optimierungen, um das zu beheben oder ist meine Hardware einfach zu schwach?
Viele Grüße!
Max
ich habe mir einen 4K-Montior gekauft und möchte diesen an meinem Laptop mit Intel i5-8250U, integrierter UHD620-Grafik und Debian Buster betreiben.
Leider waren die ersten Tests mit Video-Playback eher ernüchternd. Sowohl in Chromium als auch in Firefox ist es mir nicht möglich, flüssig 4K-Videos von Youtube abzuspielen. Leider ist das Verhalten etwas merkwürdig: Wenn ich z.B. dieses Video (im Youtube-Player fest eingestellt auf 4K @24Hz, VP9) auf dem integrierten Display (FHD) schaue, läuft es flüssig. Wenn ich das Browserfenster auf den 4K-Mointor ziehe (ohne die Größe zu verändern), läuft es auch noch. Sobald ich aber das Browserfenster maximiere, bricht die Wiedergabe alle 1-2 Sekunden ab und es "lädt" immer ca. 1 Sekunde. Vollbild ändert nichts, CPU-Auslastung ist dauernd über 90%.
Ich vermute, dass das daran liegt, dass das Video ohne Hardwarebeschleunigung decodiert wird. Soweit ich das gesehen habe, gibt es für Chromium einen Patch für Hardwarebeschleunigung, der aber wohl nicht in den offiziellen Builds enthalten ist, jedoch wohl in den Ubuntu Snap-Builds. Jetzt meine erste Frage; gibt es eine "schönere" Variante, an einen Build mit diesen Patches zu kommen, als über Snap?
Danach habe ich etwas weiter getestet und Videos mit youtube-dl heruntergeladen (als webm mit VP9-Codec). Mit Totem ruckelt es extrem, aber mit VLC läuft es bei 4K@24Hz flüssig auch im Vollbild, CPU-Auslastung bei etwa 20%. Ich gehe davon aus, dass VLC die Hardwarebeschleunigung für VP9 nutzt (laut vainfo wird VP9 von meiner Grafik unterstützt und in den VLC-Einstellungen steht die Beschleunigung auf "automatisch"). Nächster Versuch war dann dieses Video mit 4K@60Hz, ebenfalls mit youtube-dl runtergeladen (webm, VP9). Hier habe ich wieder ein ähnliches Problem: mit VLC läuft es auf dem integrierten Monitor flüssig, auch auf dem externen solange das VLC-Fenster klein ist. Sobald ich allerdings das VLC-Fenster über eine gewisse Schwelle vergrößere (oder Vollbild auf dem 4K-Display), beginnt es zu ruckeln und laut den VLC-Statistiken werden ca. die Hälfte der Frames gedroppt.
Jetzt hier die zweite Frage: Gibt es noch Optimierungen, um das zu beheben oder ist meine Hardware einfach zu schwach?
Viele Grüße!
Max
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Helfen werd ich nicht können, da kein 4K-Montior
aber bei mir lauft das Video mit mpv über die Grafikkarte
mpv '4K Video Ultra HD 60fps Epic Drone Footage-R3AKlscrjmQ.webm'
Playing: 4K Video Ultra HD 60fps Epic Drone Footage-R3AKlscrjmQ.webm
(+) Video --vid=1 (*) (vp9 3840x2160 29.970fps)
VO: [gpu] 3840x2160 yuv420p
V: 00:00:38 / 00:18:47 (3%)
gruss MaGe
aber bei mir lauft das Video mit mpv über die Grafikkarte
mpv '4K Video Ultra HD 60fps Epic Drone Footage-R3AKlscrjmQ.webm'
Playing: 4K Video Ultra HD 60fps Epic Drone Footage-R3AKlscrjmQ.webm
(+) Video --vid=1 (*) (vp9 3840x2160 29.970fps)
VO: [gpu] 3840x2160 yuv420p
V: 00:00:38 / 00:18:47 (3%)
gruss MaGe
Wir müssen uns vor der Klimaerwärmung nicht fürchten.
Uns rottet die soziale Kälte viel früher aus.
Uns rottet die soziale Kälte viel früher aus.
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Hallo und danke für die schnelle Antwort. Leider verhält sich mpv ähnlich wie VLC: Wenn ich mpv mit HW-Beschleunigung starte und das Fenster klein (also etwas Full-HD) ist, läuft das Video flüssig. Sobald ich es aber größer ziehe (auch im Vollbild), werden Frames gedroppt. Vom Gefühl sind das weniger als bei VLC, aber man sieht es noch recht deutlich dass das Video nicht flüssig läuft.
EDIT: Hab grade noch Big Buck Bunny mit 4K 60Hz in H264 getestet und hatte das gleiche Problem, es scheint also nicht ausschließlich an Youtubes VP9 zu liegen
EDIT: Hab grade noch Big Buck Bunny mit 4K 60Hz in H264 getestet und hatte das gleiche Problem, es scheint also nicht ausschließlich an Youtubes VP9 zu liegen
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Was sagt denn mpv -v --hwdec=auto <Videodatei>?max94 hat geschrieben:27.09.2019 15:35:56Hallo und danke für die schnelle Antwort. Leider verhält sich mpv ähnlich wie VLC: Wenn ich mpv mit HW-Beschleunigung starte und das Fenster klein (also etwas Full-HD) ist, läuft das Video flüssig. Sobald ich es aber größer ziehe (auch im Vollbild), werden Frames gedroppt. Vom Gefühl sind das weniger als bei VLC, aber man sieht es noch recht deutlich dass das Video nicht flüssig läuft.
EDIT: Hab grade noch Big Buck Bunny mit 4K 60Hz in H264 getestet und hatte das gleiche Problem, es scheint also nicht ausschließlich an Youtubes VP9 zu liegen
Die Browserunterstützung unter Linux für hardwarebeschelunigte Videowiedergabe ist anscheind noch etwas ausbaufähig: https://wiki.archlinux.org/index.php/Ha ... on_support
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Klingt stark nach nem Bandbreitenproblem an der nicht mehr vorhandenen North Bridge.
Zum decodieren sollte deine CPU auch ohne Hardwarebeschleunigung schnell genug sein. Aber die 12GBit/s die ein Decodiertes 4k@60Hz-Video hat musst du erst mal übertragen.
Klassischer weiße bekommt man sowas, wenn man ne PCI oder USB-GPU hat. Im Fall von einer Integrierte GPU kann das aber kein Problem sein.
Nächstes häufiges Bottleneck ist der DP oder HDMI. Die sind aber stock doof. Denen ist wurst ob du 60 mal die Sekunde das gleiche oder ein anderes Bild überträgst. In sofern dürfte sich in dem Fall das Display gar nicht mit 60Hz ansteuern lassen. => Auch das fällt flach. Auch die hängen (im Gegensatz zu analogen Ausgängen) direkt an der CPU.
Könnte mir noch den RAM vorstellen. Da haben sie beim i5-8250U gespart der kann "nur" DDR4-2400 vor allem unterstützt er auch LPDDR3-2133. Aber selbst wenn du nen Laptop mit einem einzelnen LPDDR3-2133 Riegel hast, sollte das eigentlich™ locker reichen. Trotzdem würde mich mal interessieren was MaGe im Vergleich zu dir drin stecken hat. Vor allem wie viele Riegel.
Am Ende bin ich ein bisschen Ratlos. Im Prinzip ist es eigentlich der große Vorteil von integrierten GPUs, dass sie eben keine Bandbreitenprobleme bekommen. Was ist das denn für ein Laptop?
Zum decodieren sollte deine CPU auch ohne Hardwarebeschleunigung schnell genug sein. Aber die 12GBit/s die ein Decodiertes 4k@60Hz-Video hat musst du erst mal übertragen.
Klassischer weiße bekommt man sowas, wenn man ne PCI oder USB-GPU hat. Im Fall von einer Integrierte GPU kann das aber kein Problem sein.
Nächstes häufiges Bottleneck ist der DP oder HDMI. Die sind aber stock doof. Denen ist wurst ob du 60 mal die Sekunde das gleiche oder ein anderes Bild überträgst. In sofern dürfte sich in dem Fall das Display gar nicht mit 60Hz ansteuern lassen. => Auch das fällt flach. Auch die hängen (im Gegensatz zu analogen Ausgängen) direkt an der CPU.
Könnte mir noch den RAM vorstellen. Da haben sie beim i5-8250U gespart der kann "nur" DDR4-2400 vor allem unterstützt er auch LPDDR3-2133. Aber selbst wenn du nen Laptop mit einem einzelnen LPDDR3-2133 Riegel hast, sollte das eigentlich™ locker reichen. Trotzdem würde mich mal interessieren was MaGe im Vergleich zu dir drin stecken hat. Vor allem wie viele Riegel.
Am Ende bin ich ein bisschen Ratlos. Im Prinzip ist es eigentlich der große Vorteil von integrierten GPUs, dass sie eben keine Bandbreitenprobleme bekommen. Was ist das denn für ein Laptop?
rot: Moderator wanne spricht, default: User wanne spricht.
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Hallo und danke für die Antworten! Es handelt sich um ein HP Probook x360 440 und laut dmidecode ist ein DDR4-2400-SODIMM mit 8GB von Micron verbaut. Die Vermutung, dass die CPU das Video an sich dekodieren kann, scheint zu stimmen, da das Video ja in einem kleinen Fenster flüssig läuft.
Der Laptop hat keinen eigenen Displayport sondern diesen im USB-C intergiert, der Monitor also über ein USB-C --> DP Kabel angeschlossen. Das wahr das billigste von Amazon, aber eigentlich sollte das nicht die Ursache sein könne, oder?
Die Ausgabe von mpv enthält für mich auch nichts, das mich weiterbringen würde. Fällt euch da was auf? 40874
Danke!
Der Laptop hat keinen eigenen Displayport sondern diesen im USB-C intergiert, der Monitor also über ein USB-C --> DP Kabel angeschlossen. Das wahr das billigste von Amazon, aber eigentlich sollte das nicht die Ursache sein könne, oder?
Die Ausgabe von mpv enthält für mich auch nichts, das mich weiterbringen würde. Fällt euch da was auf? 40874
Danke!
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Interessant..
[statusline] AV: 00:00:51 / 00:18:47 (4%) A-V: 0.002 Dropped: 1498
Treten die Framedrops auch auf, wenn du auf dem internen FHD-Display das Video abspielst?
EDIT: Macht keinen Sinn...
Du könntest noch schauen, ob die GPU ihre Kapazitäten voll ausschöpft. Während du das Video abspielst öffnest du eine Shell und führst das hier aus:
for i in $(ls /sys/class/graphics/fb0/device/drm/card0/gt_*); do echo $i; cat $i; done
(eiskalt kopiert von reddit)
Die GPU sollte hier auf die maximale Frequenz schalten. Über die selben Parameter kann man übrigens auch die Frequenz nach oben/unten anpassen. Aber Achtung, manuelles Anpassen der Frequenzen kann die Hardware zerstören.
Andere Methode: Paket intel-gpu-tools installieren und Auslastung anzeigen lassen.
[statusline] AV: 00:00:51 / 00:18:47 (4%) A-V: 0.002 Dropped: 1498
Treten die Framedrops auch auf, wenn du auf dem internen FHD-Display das Video abspielst?
EDIT: Macht keinen Sinn...
Du könntest noch schauen, ob die GPU ihre Kapazitäten voll ausschöpft. Während du das Video abspielst öffnest du eine Shell und führst das hier aus:
for i in $(ls /sys/class/graphics/fb0/device/drm/card0/gt_*); do echo $i; cat $i; done
(eiskalt kopiert von reddit)
Die GPU sollte hier auf die maximale Frequenz schalten. Über die selben Parameter kann man übrigens auch die Frequenz nach oben/unten anpassen. Aber Achtung, manuelles Anpassen der Frequenzen kann die Hardware zerstören.
Andere Methode: Paket intel-gpu-tools installieren und Auslastung anzeigen lassen.
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Der Adapter wird vermutlich nicht das Problem sein.max94 hat geschrieben:01.10.2019 15:43:08Der Laptop hat keinen eigenen Displayport sondern diesen im USB-C intergiert, der Monitor also über ein USB-C --> DP Kabel angeschlossen. Das wahr das billigste von Amazon, aber eigentlich sollte das nicht die Ursache sein könne, oder?
Dass das Ding über USB angeschlossen ist schon.
Damit Muss das Siganal zuerst über die Southbridge (DMI) und dann über den USB 3.1. Letzterer hat deutlich weniger Bandbreite als DP und versucht das durch Kompression wieder wett zu machen. Für dein 4k@60Hz Signal wäre das gerade so nicht nötig. Könnte mir aber gut vorstellen, dass das trotzdem ein Problem macht und bei zu viel Bewegtbild dein Chip nicht mit komprimieren hinterher kommt. (Eventuell lässt sich Kompression irgend wo explizit abschalten. Habe noch nie USB-C Bildschirme verwendet.) Eventuell auch nicht der Adapter beim dekomprimieren.
Daneben könnte das DMI nicht hinter her kommen. Da hängen an deinem Prozessor 4 DMI 3.0 mit 7.9GBit/s. Aber das teilt der sich natürlich mit ner Menge anderer Sachen.
Ich würde ja sagen hängs doch einfach an den HDMI. Aber der ist leider auch nur 1.4 und supportet damit kein 4k@60Hz.
Du kannst ja mal versuchen nen besseren Adapter anzustecken. Aber ich würde tippen, dass das halt genau so wenig funktioniert wie schnelle Festplatten an einem Raspberry PI.
Der Prozessor könnte es locker aber der Hersteller hat halt daran gespart, den passenden Ausgang auch nach draußen zu führen und alles über USB ist weder effizient noch schnell.
rot: Moderator wanne spricht, default: User wanne spricht.
- Lord_Carlos
- Beiträge: 5578
- Registriert: 30.04.2006 17:58:52
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Dänemark
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Hast du zufaelligt auf dem Rechner auch Windows installiert? Einfach nur mal um Software/Treiber weiter auszuschliessen.
Code: Alles auswählen
╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Hallo,
vielen Dank für eure Antworten.
Ich bin aktuell etwas ratlos und weiß auch nicht wirklich, ob es Sinn macht, dem Problem weiter nachzugehen, wenn es unter Windows funktioniert... Trotzdem danke euch allen!
vielen Dank für eure Antworten.
Nein, sie treten auf dem internen Monitor und auch auf dem externen im klein gezogenen Fenster nicht auf.Tintom hat geschrieben:01.10.2019 16:55:38Treten die Framedrops auch auf, wenn du auf dem internen FHD-Display das Video abspielst?
Ich weiß nicht, ob ich dich richtig verstehe. Ich nutze keinen Adapter, sondern ein einfaches, passives USB-C --> DP Kabel. Und wenn ich diesen Artikel richtig verstehe, dann ist es weniger so, als ob das DP-Signal im USB3.1-Protokoll "verpackt" transportiert wird, sondern eher so dass man die USB-C Buchse als eine andere Bauform einer DP-Buchse mit Zusatzfunktionen sehen kann. Wenn ich das richtig verstehe, findet also keine Kompression des DP-Signals statt.wanne hat geschrieben:01.10.2019 18:23:39Der Adapter wird vermutlich nicht das Problem sein.
Dass das Ding über USB angeschlossen ist schon.
Damit Muss das Siganal zuerst über die Southbridge (DMI) und dann über den USB 3.1. Letzterer hat deutlich weniger Bandbreite als DP und versucht das durch Kompression wieder wett zu machen
Unter Windows läuft die Wiedergabe bei 4K@60Hz auf dem 4k-Monitor. Die Experience ist zwar nicht gut (z.B. sehr langsame Reaktion im VLC-Menü u.ä.), aber wenn ohne EIngabe das Video abgespielt wird, dann läuft es unter Windows flüssig und ohne Framedrops.Lord_Carlos hat geschrieben:01.10.2019 19:14:14Hast du zufaelligt auf dem Rechner auch Windows installiert? Einfach nur mal um Software/Treiber weiter auszuschliessen.
Ich bin aktuell etwas ratlos und weiß auch nicht wirklich, ob es Sinn macht, dem Problem weiter nachzugehen, wenn es unter Windows funktioniert... Trotzdem danke euch allen!
Re: Videowiedergabe 4K mit Hardwarebeschleunigung
Kommt auf die auf die Auflösung an. Irgend wann geht nicht mehr. Und voll elektronisch kannst du es auch nicht durch ziehen. Am Ende hat dein USB-C Kabel deutlich schlechter Specs wie dein DP-Kabel. Deswegen sind passive Konstruktionen bis maximal 4k@60Hz möglich. Alles drüber braucht Kompression. Es ist aber auch möglich, schon drunter aktive Kosntruktionen zu nutzen, damit du nebenher noch ein USB-Signal nutzen kannst. Wenn du dir sicher bist, dass dein Adapter nur passiv kann kannst du das Problem aber natürlich ausschließen.max94 hat geschrieben:06.10.2019 17:14:07Wenn ich das richtig verstehe, findet also keine Kompression des DP-Signals statt.
Das klingt für mich jetzt noch stärker nach dem Bottleneck beim DMI und dass Windows da anders priorisiert.Die Experience ist zwar nicht gut (z.B. sehr langsame Reaktion im VLC-Menü u.ä.), aber wenn ohne EIngabe das Video abgespielt wird, dann läuft es unter Windows flüssig und ohne Framedrops.
rot: Moderator wanne spricht, default: User wanne spricht.