Welcome to our Community
Wanting to join the rest of our members? Feel free to sign up today.
Sign up

Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

elkeZ

Ex-Mitarbeiter
Otaku König
8 Okt. 2013
285
188
93
oder auch: "Warum wir 10Bit doch ganz gut gebrauchen können" :D

Um beim neuen Videocodec HEVC die produzierten Ergebnise sachlich zu beurteilen, habe ich einen Versuch aufgebaut, in dem x264, HEVC(x265), 8bit, 10 bit und je 4 verschieden CRF-Stufen verglichen werden.
CRF steht für constant rate factor und ist eigentlich bei jedem Encoder zu finden. Es fixiert sich nicht auf eine bestimmte Bitrate, sondern analysiert das Bild und gibt je nach Wert des Faktors eine gewisse Bildqualität aus. Dabei gilt: Je kleiner der Wert, umso besser das Bild/höher die Bitrate.
In diesem Test werde ich mich speziell auf Anime beziehen. Da man subjektiv oft kaum etwas merkt, werden wir diesmal einen exakten Bildvergleicher heranziehen, der Pixelgenaue unterschiede offenbart - Perceptualdiff. Dieses Tool schaut, ob Pixel sich an einer Stelle verändert haben. Dabei reicht schon ein einzelner Pixelwert (Rot von 225 auf 224) als komplette Veränderung.
Da dieser Post jedoch mit guten 150 full hd Bildern den Rahmen sprengen würde und unlesbar wäre, stelle ich ein Paket zur Verfügung, in dem jeder Übersichtlich sich selbst einen Eindruck machen kann.

DOWNLOAD:
https://www.hidrive.strato.com/wget/BjATLSgF

Testvideos waren:
Little Busters - 10 Sek. vom Opening - BluRay Raw (mt2s mit 40 mbps AVC, 8 bit) - simples Material
Fate Stay Night - 20 Sek. von Archer Szene - BluRay Raw (mt2s mit 40 mbps AVC, 8 bit) - komplexes material

Zum Bildvergleich wurde aus jedem Video an 3 identischen Stellen ein losless PNG extrahiert.

Encodet wurde in:

8 bit, hevc, CRF 20-14
8 bit, x264, CRF 20-14
10 bit, hevc, CRF 20-14
10 bit, x264, CRF 20-14

Es wurden keine Filter, Tunes oder sonstige Parameterveränderungen vorgenommen.

Die genauen Zeilen:
echo crf & bit test
echo 8 bit
mkdir "C:\Users\joschapc\Desktop\experiment\8bit\x264"
"C:\ffmpeg8bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx264 -preset fast -crf 20 "C:\Users\joschapc\Desktop\experiment\8bit\x264\%~n1_crf20_8bit.mkv"
"C:\ffmpeg8bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx264 -preset fast -crf 18 "C:\Users\joschapc\Desktop\experiment\8bit\x264\%~n1_crf18_8bit.mkv"
"C:\ffmpeg8bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx264 -preset fast -crf 16 "C:\Users\joschapc\Desktop\experiment\8bit\x264\%~n1_crf16_8bit.mkv"
"C:\ffmpeg8bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx264 -preset fast -crf 14 "C:\Users\joschapc\Desktop\experiment\8bit\x264\%~n1_crf14_8bit.mkv"

echo 10 bit
mkdir "C:\Users\joschapc\Desktop\experiment\10bit\x264"
"C:\ffmpeg10bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx264 -preset fast -crf 20 "C:\Users\joschapc\Desktop\experiment\10bit\x264\%~n1_crf20_10bit.mkv"
"C:\ffmpeg10bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx264 -preset fast -crf 18 "C:\Users\joschapc\Desktop\experiment\10bit\x264\%~n1_crf18_10bit.mkv"
"C:\ffmpeg10bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx264 -preset fast -crf 16 "C:\Users\joschapc\Desktop\experiment\10bit\x264\%~n1_crf16_10bit.mkv"
"C:\ffmpeg10bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx264 -preset fast -crf 14 "C:\Users\joschapc\Desktop\experiment\10bit\x264\%~n1_crf14_10bit.mkv"


echo crf & bit test HEVC
echo 8 bit
mkdir "C:\Users\joschapc\Desktop\experiment\8bit\hevc"
"C:\ffmpeg8bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx265 -preset fast -x265-params crf=20 "C:\Users\joschapc\Desktop\experiment\8bit\hevc\%~n1_crf20_8bit.mkv"
"C:\ffmpeg8bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx265 -preset fast -x265-params crf=18 "C:\Users\joschapc\Desktop\experiment\8bit\hevc\%~n1_crf18_8bit.mkv"
"C:\ffmpeg8bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx265 -preset fast -x265-params crf=16 "C:\Users\joschapc\Desktop\experiment\8bit\hevc\%~n1_crf16_8bit.mkv"
"C:\ffmpeg8bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx265 -preset fast -x265-params crf=14 "C:\Users\joschapc\Desktop\experiment\8bit\hevc\%~n1_crf14_8bit.mkv"

echo 10 bit
mkdir "C:\Users\joschapc\Desktop\experiment\10bit\hevc"
"C:\ffmpeg10bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx265 -preset fast -x265-params crf=20 "C:\Users\joschapc\Desktop\experiment\10bit\hevc\%~n1_crf20_10bit.mkv"
"C:\ffmpeg10bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx265 -preset fast -x265-params crf=18 "C:\Users\joschapc\Desktop\experiment\10bit\hevc\%~n1_crf18_10bit.mkv"
"C:\ffmpeg10bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx265 -preset fast -x265-params crf=16 "C:\Users\joschapc\Desktop\experiment\10bit\hevc\%~n1_crf16_10bit.mkv"
"C:\ffmpeg10bit\ffmpeg.exe" -n -i "%~1" -map 0:0 -c:v libx265 -preset fast -x265-params crf=14 "C:\Users\joschapc\Desktop\experiment\10bit\hevc\%~n1_crf14_10bit.mkv"



Und mein Fazit:
Vergesst nicht, das ganze ist sehr Animebezogen. Echtfilme könnten anders ausfallen.

10 Bit bietet gegenüber 8 Bit in allen fällen einen Qualitätsschub und sogar eine geringfügige Platzersparnis. 10 Bit wirkt auf allen Differenzbildern "schärfer", was daher kommt, dass die Farben genauer berechnet werden und so Kanten und Farbverläufe sauberer dargestellt werden können. Besonders gut sieht man das bei den Bildern von Little Busters.
Jedoch muss man sagen, dass x264 bei beiden Bittiefen oft ein wenig "sauberer" und schärfer als HEVC ist, was aber auch durch die nicht selten doppelt so hohe Bitrate entstehen kann. Besonders bei 8Bit macht x264 einen dezent besseren Eindruck (gut zu sehen bei 2Fate Stay Night). Subjektiv betrachtet kann man, ohne es direkt zu vergleichen, bei KEINEM der Kandidaten einen sofort ins Auge springenden Unterschied erkennen, oder gar einen Fehler, der den Filmgenuss beeinträchtigen würde.
Wenn man die CRF-Werte miteinander vergleicht, sieht man, dass es der Qualitätszuwachs pro CRF Wert sehr linear ist. Man kann also ziemlich genau seine resultate bestimmten. Vom optischen her sieht man zum Beispiel im Himmel bei den 3Little Busters Bildern, dass auf jeder Einstellung einige Farbtupfer im Himmel verloren gehen. Und das war auch das Einzige dort, was ich beim genauen hingucken erkennten konnte. Bei dem Bild von Komari (2LittleBusters) sieht man auf jeder Einstellung kaum einen Unterschied.
So gesehen kann man das mit einer Qualitätserhöhung von ein paar CRF wieder ausgleichen und dabei trotzdem noch IMMENS Speicherplatz sparen, vielleicht kann man auch so dreißt sein und irgendwann, wenn vorhanden, einen sharpen-filter darüberlaufen lassen.. Nach wie vor bleibt also das einzige Problem die Kompatibilität, die meines Erachtens im nächsten Jahr gegeben sein wird.
Darum meine Empfehlung, wenn ihr Eure Filme/Animes nicht über einen alten Fernseher (per USB) abspielt und das meiste mit Software macht:
HEVC, 10Bit, CRF16
Jedoch sollte alles ab CRF 18 schon akzeptabel sein. CRF 20 ist, gemessen an den Differenzbild, außerhalb der Schmerzgrenze.
In der beiliegenden Exceltabelle sieht man, dass dort noch sehr viel Platz eingespart wird (ab 14 wird es langsam böse) und trotzdem eine sehr gute Qualität übertragen wird, die man als "99,9% optisch losless" bezeichnen kann.

Edit: Vllt. mach ich nachher noch einen Test, wie es aussieht, wenn man schon encodiertes/komprimiertes x264 in HEVC "umwandelt".

Nun seid ihr dran - gebt euren Senf dazu. Was haltet ihr davon? Hab ihr eventuell erweiterende Methoden für diesen Versuch? Anderen Ansichten? Meinungen? Haut raus :)!
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Sevion

Windwusel

Invisible
Otaku König
25 Jan. 2015
243
48
28
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

Ich bin sowieso immer für Fortschritt und Verbesserungen. Auch wenn die Datei nun 10 GB anstatt 1 GB hätte, wäre mir dies zu Gunsten der Qualität sowas von egal. Ich bin ein Qualitätsjunkie und habe grundsätzlich aktuelle Standards in jeglicher Hinsicht.

Ich sage [JA] zu 10 Bit, 4K, h.265 und 100 GB pro Video Datei :D
 

elkeZ

Ex-Mitarbeiter
Otaku König
8 Okt. 2013
285
188
93
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

Ich weiß nicht, ob dus falsch verstanden hast, aber x265 wird sehr viel kleiner als x264 ^^. Oft gut um 50%, wenn nicht sogar mehr.
 

XRA9

Assrape America!
Nolife
Uploader
2 Aug. 2013
670
5.644
93
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

Was hier nicht mit angegeben wurde, ist die benötigte Zeit. Wie lange hat x265 denn gebraucht?

Nach dem, was ich so mitbekommen habe, ist die Encodingzeit bisher die größte Hürde beim Einsatz jetziger Encoder. Das und die Tatsache, dass noch sehr viel Optimierungsarbeit nötig ist. Ich persönlich würde es deshalb noch vermeiden, in HEVC zu encoden, mindestens solange, bis dieses Format auf den Markt kommt. Wenn, dann bietet es sich eher an, (UHD-) HEVC als Quellmaterial zu nutzen, das sehe ich im Moment als interessanter an.

Und von 8-bit-HEVC würde ich mich gleich verabschieden. Ein 10-bit-Profil ist schon in der ersten Ausgabe des Standards enthalten, d.h. die Gerätehersteller werden das so oder so ähnlich übernehmen müssen.
 
  • Like
Reaktionen: 00Ryuji00

elkeZ

Ex-Mitarbeiter
Otaku König
8 Okt. 2013
285
188
93
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

@XRA9

Was genau meinst du mit "Optimierung"? Die API der Encoder? Der Codec selbst? Das Tempo? Der Codec selbst ist Final, von daher denke ich, dass du die API meinst. Das Einzige, was mir da noch sinnvoll erscheinen würde, wären ein paar weitere -tune Funktionen, wie es sie bei x264 gibt. Ansonsten sehe ich da nichts, was jetzt noch einer umfassenden Implementierung/Verbesserung bedarf. Wozu auch - die Resultate sprechen für sich. Zeig mir was Handfestes und Objektives, und ich lass mich umstimmen.

Und hier dein kleiner Speedvergleich:
Fate Stay Night Raw (Selbe wie aus Experiment)
HEVC 10Bit, 5 Minuten Video auf CRF 16: 8:55 Min. - 109mb
x264 10 Bit, 5 Mionuten Video auf CRF 16: 4:56 Min. - 308mb

Ja, der Unterschied ist beträchtlich, aber nicht so sehr, dass es extrem etwas ausmachen würde. 24/7 encoden nur, wenn überhaupt, Renderfarmen. Und bei dem Kompressionseffekt ist das auch sehr tolerabel.
9753 schrieb:

Encode via ffmpeg und Kommandozeile
 
Zuletzt bearbeitet:

Darth Affe

Otaku Novize
4 Juni 2013
41
9
8
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

An sich eine schöne Zusammenfassung (ich war sowieso schon immer 10bit Befürworter^^)
Was du aber ggf. noch berücksichtigen solltest ist die Tatsache, dass die CRF-Werte von 8 und 10 bit so nicht direkt vergleichbar sind. (https://trac.ffmpeg.org/wiki/Encode/H.264#crf)
Du hast hier im Prinzip einen besseren 10bit Encode zum Vergleichen genommen, was bei der Qualität natürlich unfair ist. (Wobei es insgesamt natürlich durch die geringere Größe durchaus sinnvoll sein kann da was zu machen)
 

XRA9

Assrape America!
Nolife
Uploader
2 Aug. 2013
670
5.644
93
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

Was genau meinst du mit "Optimierung"?
Der Codec selbst ist Final

Der Standard ist "final". Der muss umgesetzt werden und es bleibt dem Programmierer überlassen, wie genau er das macht. Und dann fängt die Optimierung an: Bugs werden erkannt und beseitigt, Code wird "entschlackt", neue Features werden eingeführt usw. usf., also sehr wahrscheinlich ist es die API, ja.

Die HEVC-Encoder-Entwicklung hat jetzt den Riesenvorteil, dass einiges aus dem Code von x264 übernommen werden kann, aber ich glaube nicht, dass man bei einem komplett neuen Standard Dinge einfach so übernehmen kann und darauf wollte ich hinaus.

(Ich glaube übrigens auch nicht, dass der CRF 1:1 übertragbar ist. Das ist er ja im Grunde auch schon bei 8-bit-x264 vs. 10-bit-x264 nicht.)

Verzeih mir übrigens, dass ich nicht in die Tiefe gehe, dafür bin ich weder technisch noch sprachlich bewandert und bin auch nicht in irgendeiner Weise in diesem Bereich tätig. Das "Handfeste und Objektive" muss deshalb ausbleiben.

Versteh mich nicht falsch, ich will dir HEVC nicht schlechtreden, aber im Moment hat AVC mit x264 einfach den effizienteren Encoder, effizient im Sinne von Zeitaufwand im Vergleich zur wahrgenommenen Qualität und Dateigröße.
 

Hiki

Otaku Novize
12 Nov. 2014
20
3
3
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

Ich werde jetzt mal nicht ins Datei gehen, aber HEVC lohnt sich jetzt nur bei niedrigen Bitraten, egal ob es 8Bit oder 10Bit ist. Wer unter CRF 20 geht ist mit AVC besser dran. (Und ja ich verfolge die HAVC entwicklung im doom9 forum.)
 

Feuer

Otaku Novize
22 Juni 2015
22
0
0
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

wie sieht es denn mit der encoderzeit aus, wenn ich ein video in h265 10bit sowie der einsatz von filtern encode, um so bildrauschen zu reduzieren oder schwarze umrisse schmaler zu machen?
du könntest ja mal screenshots posten zwischen h264 und h265 in 8 bit sowie 10bit und mit einsatz von filtern.
ich würde h265 wirklich nur bevorzugen, wenn die videodatei um ca 40% oder mehr geringer ist als das gleiche video als h264 mit exakt der gleichen bildqualität :)
 

qooosy

Gesperrt
Abtrünniger
Seelenverkäufer
1 Juni 2013
396
4.295
93
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

...

Ich sage [JA] zu 10 Bit, 4K, h.265 und 100 GB pro Video Datei :D


Da scheiden sich die Geister^^
Mir ist die Größe der Datei auch egal und deswegen bevorzuge ich nen Remux. Geht schneller und schont die Hardware.
Alles was durch den Encoder läuft, wird nicht besser.
 

Issamo

Otaku Amateur
1 Okt. 2015
3
0
0
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

HEVC H265 ist als die H264 AVC aufgrund ihres Alters nicht nur besser. H265 ist sehr jung muss noch viele melhorars, vor allem kodieren Zeit. Aber es ist die Zukunft, insbesondere zur Definition 4K tatsächlich in der Gesellschaft eingesetzt werden. 4K-TVs kommt mit H265. Aber codieren anime auf 4K ist keine leichte Aufgabe.
 

predator448

Otaku Novize
13 Okt. 2015
20
1
0
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

Also ich finde alles > crf 18 fällt auf.
Daher sollte das schon mal gar nicht zur Diskussion stehen :)
Mir ist die Größe eines Films/Serie ziemlich egal Hauptsache keine Artefakte.
 

Infi

Gesperrt
Abtrünniger
Otaku König
20 Okt. 2013
302
36
0
Milchstraße
AW: Der große H.264 (AVC) vs H.265 (HEVC) und 8Bit vs. 10Bit Vergleich!

Da scheiden sich die Geister^^
Mir ist die Größe der Datei auch egal und deswegen bevorzuge ich nen Remux. Geht schneller und schont die Hardware.
Alles was durch den Encoder läuft, wird nicht besser.

Der Encode ist ja nicht nur dafür da, das du Platzsparst ... sondern auch um Fehler der BD zu beseitigen ... siehe Banding, Artefakte und so weiter ... und diese gibt es in jeder BD, da eine BD aktuell meist nur ein Upscale bei 1080p ist.
Und vermutlich ist ein Encode Video sogar besser für die Hardware, da es keine 6gb pro Folge irgendwo zwischenspeichern muss, um es im Buffer wiederzugeben