H265

Tenchi Muyo schrieb:
Sicher mag x265 kleiner sein, aber eine bessere Qualität konnte ich bisher noch nicht feststellen.

x265 schafft es deutlich besser bei niedrigen bis sehr niedrigen Bitraten Qualität zu erhalten. Ab mittleren Bitraten hat atm. x264 noch gleiche bis bessere Qualität, einfach weil es ausgereifter ist. Sicherlich wird x265 in diesem Bereich mit der Zeit aufholen und schließlich etwas bessere Qualität liefern können.
Auf Grund dieser Charakteristik überrascht es sicherlich nicht, dass HEVC als erstes für Streaming und bei UHD-Videos zum Einsatz kommen sollen.

Tenchi Muyo schrieb:
Dazu die Problematik das x265 auf Mobilen Geräten richtig Last beim decodieren erzeugt = weniger Akkuleistung.

Das dürfte sich im kommenden Jahr ändern. Es sieht so aus, dass die meisten 64-Bit ARM-Chips HEVC in Hardware unterstützen, manche sogar bei UHD-Auflösungen.

Tom Keller schrieb:
Meines Wissens unterstützt momentan noch keine GPU Hardware-Decodierung für HEVC-Video. Es ist ja schließlich auch nicht so, dass die GPU an sich die Video-Decodierung übernimmt

nVidias Maxwell-GPUs unterstützen afaik HEVC. Intel hat die VA-API (Linux Schnittstelle für HW-beschleunigtes Video-(de/en)coding) gerade erste um HEVC-Unterstützung erweitert. Daraus schließe ich, dass es bald entsprechende Hardware geben wird, die diese auch nutzt. Bei AMD fährt man wohl zweigleisig. Für ältere GPUs soll es eine Implementierung geben, die die Shader benutzt. Die nächste GPU-Generation sollte es dann auch in Hardware können.
 
Zuletzt bearbeitet:
Hallo zusammen!

Wieder ein paar kleine Quellen. :)

Tom Keller schrieb:
Meines Wissens unterstützt momentan noch keine GPU Hardware-Decodierung
Limit schrieb:
nVidias Maxwell-GPUs unterstützen afaik HEVC.
Anscheinend hapert es hauptsächlich an der Software, zumindest bei NVidia:
The third generation, introduced with second-generation Maxwell GPUs (GM204) [...]. And it also adds support for HEVC, although the HEVC encoder has not yet been exposed through the public SDK.

Bei AMD und Intel scheint das ('noch kein Hardwaredecoder') aber zu stimmen.

Der vielerseits eingeschlagene Ansatz, per OpenCL zu unterstützen, ist sicherlich nur eine Brücke hin zur energieeffizienten Hardwareimplementierung, aber mMn. ein ganz Guter, denn fast jede halbwegs aktuelle GPU ist OpenCL-fähig (wobei's dann auch wieder auf die Version ankommt).

Bei Intel scheint das an sich ja gut zu funktionieren (wohlgemerkt: da geht's um Atom-Plattformen!):
Android media player applications. These apps not only can test the decoding speed of the video but are a good standard for ISVs to use to develop their own applications. On the latest Intel Atom platforms, the player can playback 1080P HD video at up to 90 FPS (full speed) or 24 FPS (normal speed). The player can lower its CPU occupancy rate to 25% or less.
Und auch die genannte AMD-Version des Strongene-Decoders leistet wohl passable Arbeit.
(Hängt natürlich auch immer vom Videomaterial ab...)

Es sieht also so aus, als wären wir gerade im Umbruch: Mancherorts läuft's, vielerorts nicht.
Ab der 'nächsten Gerätegeneration' (und ein paar Softwareupdates später) können wir dann hoffentlich oder wahrscheinlich von flächendeckender Einführung und damit unkomplizierter Nutzung sprechen.

Grüße,
cb-leser
 
Limit schrieb:
nVidias Maxwell-GPUs unterstützen afaik HEVC.
Die Kepler- (zumindest in Form des Tegra K1) und Maxwell-Architektur bietet soweit ich weiß nur eine HEVC-Hybrid-Decodierung - also: hardwareunterstützte Softwaredecodierung. Oder kann da Maxwell jetzt doch mehr???


cb-leser schrieb:
Anscheinend hapert es hauptsächlich an der Software, zumindest bei NVidia:
The third generation, introduced with second-generation Maxwell GPUs (GM204) [...]. And it also adds support for HEVC, although the HEVC encoder has not yet been exposed through the public SDK.
Da ist aber "nur" vom Encoding die Rede. Ob und wie gut das funktioniert, steht aber bislang (ohne passende Software) in den Sternen :( .


EDIT:
Eventuell auch ganz interessant :) :

Evaluation of HEVC decoders (SW&Hybrid)
 
Hey Tom Keller,

danke für die Korrektur, du hast offensichtlich völlig Recht.
Demnach wäre 'auch' bei Nvidia im Moment 'nur' Hybrid-Decoding möglich.
(Vgl. letzter Absatz) :)

Grüße,
cb-leser
 
Zuletzt bearbeitet:
Um mal auf die 90FPS FUllHD auf Atom quelle zurückzukommen. Muss es sich ja dabei dann um OpenCL handeln damit die Shader die CPU so weit entlasten das solche Werte möglich sind.
Also komm ich nochmal zurück zu meinem Satz. Dann muss ich also warten bis jemand ne vernünftige Hardwarebeschleunigung implimentiert.
Ob das bei aktuellen Intels nur OpenCL ist oder in späterer Hardware erweitertes Quicksync spielt ja erstmal keine Rolle. Beides ist im Sinne Hardwarebeschleunigung.
Wenn ich mein Stromtester wieder habe kann ich ja mal Unterschiede im Stromverbauch posten beim abspielen von H264 und H265 auf dem T100 Tablet. Ich tippe auf ~1,5Watt Unterschied bei max möglichen 2,5Watt Verbrauch unter CPU Vollast.
 
Zuletzt bearbeitet:
Tom Keller schrieb:
Da ist aber "nur" vom Encoding die Rede. Ob und wie gut das funktioniert, steht aber bislang (ohne passende Software) in den Sternen :( .

Die bisherigen Encoder in den GPUs waren in erster Linie auf Geschwindigkeit und geringe Latenzen getrimmt und nicht auf Qualität. Sie sind damit eher wohl für sowas wie Video-Telefonie, "kabellose" Monitore oder Spielemitschnitte gedacht und weniger für hochqualitative Konvertierung von Filmen. Ich vermute, dass sich das in Zukunft auch nicht großartig ändern wird. Man wird sich also entweder mit mittelmäßiger Qualität zufrieden geben müssen oder sich Monster-CPUs anschaffen um hochauflösende Videos schnell konvertieren zu können.
 
Gibt es inzwischen andere Programme die x265/HEVC nutzen?

Kenne jetzt:

Div X
MediaCoder Premium VOD Edition (mediacoderhq)
Internet friendly media encoder
MediaEspresso V7 (sehr beschränkt!)
 
Zuletzt bearbeitet:
Limit schrieb:
Die bisherigen Encoder in den GPUs waren in erster Linie auf Geschwindigkeit und geringe Latenzen getrimmt und nicht auf Qualität.
Ich hatte es schonmal in einem alten Thread geschrieben und betone es erneut: eine GPU (die mit ihren Shader-Prozessoren für massenhaft gleichzeitig abzuarbeitende, relativ einfach mathematische Berechnungen optimiert ist) ist NICHT für (so schlecht parallelisierbare, komplexe Berechnungen wie beim) Videoencoding ausgelegt. Hinzu kommt die Tatsache, dass die Daten ständig vom Hauptspeicher in's Grafik-RAM und zur Verifizierung nach der Berechnung wieder in den Hauptspeicher geladen werden müssen. Im Gegensatz zu CPUs, die üblicherweise eine direkte und flotte Speicheranbindung zum Hauptspeicher besitzen, ist das ein vergleichsweise gigantischer Umweg, der einiges an Zeit kostet. Aus diesem Grund lieferten die ersten Encoder, die die Shader der GPU für's Videoencoding einspannten, auch so grauenhafte Ergebnisse -> der Geschwindigkeitsvorteil wurde dort durch qualitätsverschlechternde Maßnahmen (z.B. eingeschränkte Bewegungssuche u.ä.) erkauft. Denn: dass eine GPU ein HD-Video doppelt so schnell wie eine aktuelle Hi-End-CPU encodiert, hört sich in Werbeanzeigen nunmal schöner an als die Aussage, dass das Ergebnis dafür nur ein Zehntel so gut aussieht ;) .

Bei aktuellen GPUs sieht es allerdings deutlich besser aus, da hier nicht mehr die Shader-Prozessoren für's Videoencoding zum Einsatz kommen, sondern "fixed Function" Hardware-Encoder. Sprich: in die GPU wurde eine nur für's Videoencoding dedizierte Recheneinheit integriert, die (im Gegensatz zu programmierbaren Shadern) keine andere Funktion als NUR diese eine hat. Ich glaube, Intel haben das (mit QuickSync) als erste gemacht... NVIDIA und AMD haben dann ihrerseits mit der Einführung von NVENC bzw. VCE nachgezogen. Aktuelle GPUs liefern daher beim Videoencoding sogar recht schnelle UND ordentliche Ergebnisse. Zusätzlicher Bonus: die Shader-Einheiten sind für Gaming-Sessions frei, während der Hardware-Encoder das Framebuffer-Bild encodiert = Gameplay-Videocapturing in HD, nahezu ohne merklichen Geschwindigkeitsverlust.

Ob jetzt aber der HEVC-Hardware-Encoder auch eine ähnlich brauchbare Qualität wie der H.264-Hardware-Encoder liefert, bleibt abzuwarten, da es eben noch an der entsprechenden Encoding-Software mangelt...


Tenchi Muyo schrieb:
Gibt es inzwischen andere Programme die x265/HEVC nutzen?
Handbrake und MeGUI (und bestimmt noch einige andere Tools) können den x265-Encoder zum Erstellen von HEVC-Videos benutzen.
 
Zuletzt bearbeitet:
Tom Keller schrieb:
Ich hatte es schonmal in einem alten Thread geschrieben und betone es erneut: eine GPU (die mit ihren Shader-Prozessoren für massenhaft gleichzeitig abzuarbeitende, relativ einfach mathematische Berechnungen optimiert ist) ist NICHT für (so schlecht parallelisierbare, komplexe Berechnungen wie beim) Videoencoding ausgelegt.

Es gibt durchaus ein paar Bereiche, der GPU-geeignet ist, z.B. Bewegungsvektorsuche, allerdings hast du schon recht, dass ein großer Teil nicht so geeignet für ein GPU-artige Architektur ist.

Tom Keller schrieb:
Hinzu kommt die Tatsache, dass die Daten ständig vom Hauptspeicher in's Grafik-RAM und zur Verifizierung nach der Berechnung wieder in den Hauptspeicher geladen werden müssen. Im Gegensatz zu CPUs, die üblicherweise eine direkte und flotte Speicheranbindung zum Hauptspeicher besitzen, ist das ein vergleichsweise gigantischer Umweg, der einiges an Zeit kostet.

Zumindest bei APUs ist das Argument zumindest teilweise hinfällig. Spätestens mit HSA bzw. der entsprechenden Technik von Intel sollte das keinen Unterschied mehr machen.

Tom Keller schrieb:
Bei aktuellen GPUs sieht es allerdings deutlich besser aus, da hier nicht mehr die Shader-Prozessoren für's Videoencoding zum Einsatz kommen, sondern "fixed Function" Hardware-Encoder. Sprich: in die GPU wurde eine nur für's Videoencoding dedizierte Recheneinheit integriert, die (im Gegensatz zu programmierbaren Shadern) keine andere Funktion als NUR diese eine hat. Ich glaube, Intel haben das (mit QuickSync) als erste gemacht... NVIDIA und AMD haben dann ihrerseits mit der Einführung von NVENC bzw. VCE nachgezogen. Aktuelle GPUs liefern daher beim Videoencoding sogar recht schnelle UND ordentliche Ergebnisse. Zusätzlicher Bonus: die Shader-Einheiten sind für Gaming-Sessions frei, während der Hardware-Encoder das Framebuffer-Bild encodiert = Gameplay-Videocapturing in HD, nahezu ohne merklichen Geschwindigkeitsverlust.

Um diese Einheiten ging es mir in dem von dir zitierten Abschnitt. Die Shader-basierten Encoder waren/sind Müll. Die neuen Hw-Encoder sind im Vergleich zu denen viel besser, kommen aber trotzdem nicht an gute Sw-Encoder heran. Die Hw-Encoder liefern mit den langsamsten Einstellungen eine Qualität, die vergleichbar ist mit x264 mit superfast Preset. Vielen reicht das aus und Strom spart das ganze auch.
 
Limit schrieb:
Zumindest bei APUs ist das Argument zumindest teilweise hinfällig. Spätestens mit HSA bzw. der entsprechenden Technik von Intel sollte das keinen Unterschied mehr machen.
OK... stimmt. Aber bei APUs sollte ja eigentlich klar sein, dass es quasi kaum (bis zukünftig gar k)eine Rolle mehr spielt, ob man von der Speicheranbindung der CPU oder GPU redet.


Limit schrieb:
Um diese Einheiten ging es mir in dem von dir zitierten Abschnitt. Die Shader-basierten Encoder waren/sind Müll. Die neuen Hw-Encoder sind im Vergleich zu denen viel besser, kommen aber trotzdem nicht an gute Sw-Encoder heran. Die Hw-Encoder liefern mit den langsamsten Einstellungen eine Qualität, die vergleichbar ist mit x264 mit superfast Preset. Vielen reicht das aus und Strom spart das ganze auch.
Das ist halt der grundsätzliche Vorteil von derartiger Hardware mit "fester Funktion" - sie kann zwar nur die eine Sache, wofür sie gemacht wurde... aber dafür ist auch kein Schaltkreis zuviel vorhanden, was dem Stromverbrauch extrem gut tut. Ich denke aber auch, dass das Hardware-Encoding vor allem die Gamer zu schätzen wissen. Ich meine: bei Millionen und Abermillionen von "Let's Plays" auf Youtube ist resourcenschonendes Gameplay-Capturing ohne jegliche Zusatz-Hardware ein nicht zu unterschätzendes Verkaufsargument.
 
Ich habe den MediaCoder (mediacoderhq) mit x265 getestet.

Ein ca. 3 Minuten Clip mit 530MB habe ich auf 20MB verkleinert,
und das mit einer beeindruckenden Qualität.

Jetzt Blick ich auch bei den unterschiedlichen Versionen des Programmes durch:

MediaCoder gibt es für 27€ (einmalig) als Donate/Spenden Version.
Wichtigste Beschränkung: die max. Bitrate beträgt 16.000Kbps.

Daneben gibt es eine Premium Version (HEVC + GPU) für 169$ mit 50.000Kbps und erweiterten
Einstellungen und größerer Batch Liste.

Zusätzlich gibt es eine VOB Version für die Industrie 389$.

Ich hatte den MediaCoder vor etlichen Monaten wegen x265 getestet,
die aktuelle Version ist eine deutliche Steigerung in Qualität und Geschwindigkeit - Top!
 
Zuletzt bearbeitet:
Schade das es von MediaCoder nur eine 32 Bit Version für OS X gibt.
 
Aufpassen muss man beim MediaCoder trotzdem:

der CUDA Support ist wegen neuer Nvida Treiber "broken" evtl. gibt es Pläne auf NVIDIA NVENC support auszuweichen.

Also dürfte meiner Meinung nach nur noch Intels Quicksync Geschichte in der GPU Version funktionieren.
Allen anderen die X265 wollen denen reicht die HEVC Version.

Wer Wert auf Qualität legt sollte sowieso nur CPU encoding nutzen,
GPU reicht für Mobile Geräte wenn es schnell gehen soll.
Ergänzung ()

Was auffällig ist:

bei der Wiedergabe von selbst encodierten x265 Clips,
gibt es öfters auch kleine Störungen im Bild - die es bei x264 nicht gibt.

Also 100% perfekt fehlerfrei läufts noch nicht..

Oder es gibt Tools wie der Wondershare Video Converter,
der x265 wieder nur mit 30fps unterstützt - dazu lässt sich die Vollversion nur 5 mal aktivieren,
danach muss man eine neue Lizenz kaufen - egal ob es immer der gleiche PC war :P

Teste gerade DVDFab das scheint einfach zu sein und bietet trotzdem kleine Einstellungsmöglichkeiten,
lasse gerade x265 mit two pass laufen.

Edit: der erste Clip OHNE Wiedergabefehler (mit dem DivX Player)!
 
Zuletzt bearbeitet:
Da x265 zur Zeit mehrmals täglich Updates bekommt, kann es durchaus mal vorkommen, dass immer mal wieder Regressionen gibt, aber meist sind die auch schnell wieder behoben.
Ich habe mich bereits vor Jahren von grafischen Oberflächen bei der Nutzung von x264 und x265 verabschiedet. Mit ffmpeg, Avisynth, x264/x265 und MKVtoolnix/MP4Box bekommt man alles, was man für das importieren, filtern und enkodieren von Videos braucht kostenlos. Ein paar wenige Zeilen Skript dazu und das ganze wird sogar recht komfortabel und Batch-Konvertierungen und ähnliches ist damit auch kein Problem.
 
Als Programmierer kann ich dir sagen es macht kein Unterschied ob du eine GUI nutzt oder nicht. Die GUI führt 1:1 das gleiche aus wie auf der Konsole bzw. dem Terminal.

Ansonsten stimme ich dir aber zu es kommen täglich zumindest aber Monatlich Updates ergo sollte man für den produktiven Einsatz wirklich noch warten.
 
Neue Erkenntnis:

Habe TMPGEnc Video Mastering Works 5 (x264) gegen DVDFab (x265, two pass original Bitrate) miteinander verglichen:


Das x264 (361MB) File sah deutlich(!) besser aus als das x265 File (404MB) und das, obwohl das x264 File eine um 3.000KBit geringere Bitrate hatte.

Also ist nicht alles x265 HEVC "Gold" was glänzt..
 
Zuletzt bearbeitet:
Auf dem Papier ist HEVC zwar deutlich besser als H.264... aber x264 hat immerhin einen Entwicklungsvorsprung von mehr als 10 Jahren gegenüber x265. Gerade hinsichtlich psychovisueller Optimierungen kann x265 x264 daher noch(!) nicht das Wasser reichen. Sprich: x264 ist wesentlich besser darauf optimiert zu wissen, welche Bilddetails weggelassen werden bzw. mit geringerer Genauigkeit gespeichert werden können, ohne dass es der sichtbaren Qualität merklich schadet. Da muss x265 erstmal hin kommen...
 
Genau so ist es und wenn man überlegt wie jung 265 noch ist muss man sagen ist es schon sehr gut. In einigen Jahren wird es denke ich noch besser werden. Kann ja nur besser werden.
 
Der Unterschied war wirklich schon sehr deutlich, viel unschärfer, blasser.

Ich bin mir aber sehr sicher, dass der MediaCoder (mediacoderhq.com),
daß mit seiner x265 Version sehr viel besser hinbekommt aber da happert es wieder an der Wiedergabe des Clips (grüne Störbalken an der gleichen Stelle).
 
Zurück
Oben