MagicYUV - Ein neuer Lossless Codec!

  • Guten Abend :)


    ich hätte 2 Fragen auf die ich gerne eine Antwort hätte.


    1. Welchen [lexicon]Codec[/lexicon] würdet ihr momentan mehr empfehlen? UT oder Magic?
    2. Was ist besser zum aufnehmen YUV 4:2:0 oder YUV 4:2:2?

    Gruß
    Vepler

  • UT Video = geringer Kompression = höhere Belastung der [lexicon]Festplatte[/lexicon], dafür mehr [lexicon]Fps[/lexicon] Ingame


    Je besser der Farbraum umso besser wird das Ergebnis.
    Dafür steigt die Belastung der [lexicon]Festplatte[/lexicon].
    4:2:0 = 1
    4:2:2 =1,5
    4:4:4 = 2


    Zusätzlich hat man durch einen höheren Farbraum bei der Aufnahme auch noch mal mehr [lexicon]Fps[/lexicon] Inagme.

  • 2. Was ist besser zum aufnehmen YUV 4:2:0 oder YUV 4:2:2?


    Wenn du Spiele mit sehr viel Rotanteil spielst (rote Schrift, viel Blut usw) dann solltest du 4:2:2 bevorzugen da dort mehr Bits für Rot verwendet werden, sonst "blutet" zB. dünne Schrift aus, bei "kühleren" Spielen die viel Blau und Grün verwenden reicht 4:2:0 weil man dort kaum merkt das das Rot ein wenig vernachlässigt wird vom [lexicon]Codec[/lexicon]...

  • Wenn du Spiele mit sehr viel Rotanteil spielst (rote Schrift, viel Blut usw) dann solltest du 4:2:2 bevorzugen da dort mehr Bits für Rot verwendet werden, sonst "blutet" zB. dünne Schrift aus, bei "kühleren" Spielen die viel Blau und Grün verwenden reicht 4:2:0 weil man dort kaum merkt das das Rot ein wenig vernachlässigt wird vom [lexicon]Codec[/lexicon]...


    Dieses "Ausbluten" der Farben im Farbraumniedriegeren Bereich wie 4:2:0 liegt mit dem Subsampling/Farbunterabtastung und der verwendeten Interpolation zusammen. Am auffälligsten ist dies nur bei den Grundfarben zu bemerken (Rot, Grün, Blau). Mischfarben die mehr zu Schwarz oder Weiß tendieren haben nicht diesen "krassen" Effekt. Wesshalb Gras oder ein Himmel mit viel Grün und Blau nicht so stark ausbluten. Zum einen weil sie Flächenbezogen sind und zum anderen weil sie niemals die absolute Grundfarbe erreichen.


    Eine Verhinderung des Ausblutens ist nur mit Farbraumhöheren Mitteln möglich wie RGB oder YUV444.


    Ein Video was mit RGB oder YUV444 aufgenommen wurde in z.B. 320x240 und mit einen PointResizer auf die doppelte [lexicon]Auflösung[/lexicon] gebracht wird, kann gerne dann wieder in YUV420 umgeändert werden. Das Ausbluten der Farben ist dann damit minimiert, das Pixel die eigentlich in den Zwischenräumen des Subsamplings liegen gefüllt sind aufgrund das der PointResizer diese ja wärend der verdopplung ausgefüllt hat. Damit bemerkt man dieses "Ausbluten" so gut wie gar nicht.


    Was ist besser zum aufnehmen YUV 4:2:0 oder YUV 4:2:2?


    Farbtiefe -> Farb Streifenbildung (Color [lexicon]Banding[/lexicon])


    Die Farbtiefe gibt an wieviel Speicher pro Punktfarbeinheit (Pixel) benötigt wird. Die Angabe wird in Bpp (Bit per pixel) angegeben. Je größer die Farbtiefe, desto mehr Farben lassen sich darstellen und desto weniger Streifenbildung gibt es. Videoüblich auf Youtube wird YUV 4:2:0 genutzt wo die Videos in 12Bpp vorliegen dann. Standardmäßige Farbdarstellung eines PCs ist der RGB Farbraum mit 4:4:4 der eine Farbtiefe von 24Bpp nutzt. Zusätzlich wird der [lexicon]Alphakanal[/lexicon] genutzt der mit weiteren 8Bpp die dann insgesamt 32Bpp ergeben.


    Der [lexicon]x264[/lexicon] 10-bit [lexicon]Encoder[/lexicon] kann eine Speicherung der Videos in 10Bit machen. Das heißt für alle 4:4:4 Farbräume eine Gesamtfarbtiefe von 30Bpp ohne [lexicon]Alphakanal[/lexicon].


    Die höste Farbtiefe würden Scanner und Fotoaparate erzeugen können mit vollen 48Bpp. Dies ist bis jetzt nur bei Bildern möglich wie bei dem TIFF Dateiformat (16Bit × 3 additiven Grundfarben = 48Bit).


    Ein YUV 4:2:0 in 10-Bit enkodiert nutzt im Endeffekt nur die Hälfte. Das heißt das dieser Farbraum nur 15Bpp nutzen würde insgesamt.


    Die Farbtiefe hat für die Farbunterabtastung folgende Verhältnisse und Farbqualitätswerte:
    4:4:4 = 1:1 = 100% (Keine Verschmierung der Farben)
    4:2:2 = 2:3 = ~66% (Leichte horizontale Verschmierung der Farben)
    4:2:0 = 1:2 = 50% (Leichte horizon- und vertikale Verschmierungen der Farben)
    4:1:1 = 1:3 = ~33% (Große horizon- und leichte vertikale Verschmierungen der Farben)
    4:0:0 = 0:1 = 0% (Keine Farben)


    Folgende Farbräume finden sich ständig wieder und werden oft genutzt. Dazu auch mal die Farbtiefenangaben und ihre Zusammensetzungen:
    RGB = 4:4:4 = 24Bpp + 8bpp = 32bpp (RGB32, RGBA)
    RGB = 4:4:4 = 24Bpp (RGB24)
    YUV = 4:4:4 = 24Bpp + 8bpp = 32bpp (AYUV)
    YUV = 4:4:4 = 24Bpp (YV24)
    YUV = 4:2:2 = 16Bpp (YUY2, UYUY)
    YUV = 4:2:0 = 16Bpp (IMC1, IMC3)
    YUV = 4:2:0 = 12Bpp (IMC2, IMC4, YV12, NV12)
    YUV = 4:1:1 = 12Bpp


    Es folgt eine Tabelle mit allen üblichen Farbtiefen von 1Bit bis 48Bit mit samt ihrer korrekten Bezeichnung:


    Farbtiefe

    Bezeichnung

    Farbanzahl

    48Bit(16Bit pro Farbkanal)

    Deep Color

    2^48 = 281.474.976.710.656

    36Bit(12Bit pro Farbkanal)

    Deep Color

    2^36 = 68.719.476.736

    30Bit(10Bit pro Farbkanal)

    Deep Color

    2^30 = 1.073.741.824

    32Bit(8Bit pro Farb- & [lexicon]Alphakanal[/lexicon])

    True Color

    2^24 = 16.777.216 + 256 Alpha

    24Bit(8Bit pro Farbkanal)

    True Color

    2^24 = 16.777.216

    16Bit(5Bit = R; B & 6Bit = G)

    High Color

    2^16 = 65.536

    8Bit *

    VGA

    2^8 = 256

    6Bit *

    AMIGA (HAM)

    2^6 = 64

    4Bit *

    EGA

    2^4 = 16

    2Bit *

    CGA

    2^2 = 4

    1Bit

    Monochrome

    2^1 = 2


    * Wird via einer vordefinierten Palette erzeugt


    Das Color [lexicon]Banding[/lexicon] oder auch Farb Streifenbildung genannt resultiert wenn man höhere Farbtiefen in niedriegere Farbtiefen absenken tut.


    Bei Fotografien mit einer Kamera/Fotoaperat kann z.B. nicht das gesammte Spektrum der Farbtiefe erfasst werden, da die Farbtiefe fest vordefiniert ist. So würde man auf solchen Fotografien bei näheren Betrachten Farb Streifenbildungen sehen können.


    Um Farb Streifenbildungen etwas vorzubeugen gibt es das sogenannte Dithering (deu. Zittern/Schwanken). Durch die sogenannte Fehlerdiffusion beim Dithering soll damit die Illusion eines höheren Farbraumes erzeugt werden, obwohl das eigentliche Bild in einem niedriegeren Farbtiefe vorliegt. Ditheralgorithmen sind z.B. Floyd-Steinberg Algorithmus, Jarvis-Algorithmus, Stucki Algorithmus, Noise Algorithmus, Pattern Algorithmus, Diffusions Algorithmus, etc.



    Farbräume


    Die Farbräume unterscheidet man Hauptsächlich in RGB und YUV. Es gibt zwars noch andere, aber die sind dann oft auch Sonderfälle. Standardmäßig wird mit RGB und YUV verfahren.


    Der RGB Farbraum ist der klarste und der reinste Farbraum den es gibt. Er wird bei vielen Konsolen und auch jede Form von PCs genutzt.


    Der RGB Farbraum besteht aus den 3 additiven Grundfarben Rot, Grün, Blau. Es sind keine reinen Grundfarben, denn die würde sonst aus Rot, Gelb und Blau bestehen.
    Man nutzt daher die addative Farbmischungen aus Gelb, Magenta (Violett) und Cyan (Blauton) die dann Rot, Grün und Blau ergeben.
    Gelb, Magenta und Cyan finden sich daher auch in Druckerpatronen wieder.


    Dieser Farbraum bestehend aus Rot, Grün und Blau wird für üblich bei der Technik wie PC, Konsolen und andere Ausgaben genuzt.


    Der YUV Farbraum ist hingegen zum RGB Farbraum komplett anders aufgebaut und besteht daher aus einem Licht-/Helligkeitsanteil (Luma/Y) und einem Farbanteil (Chroma/UV)


    Die Farbe ist somit immer Einheitlich auf einem gleichen Helligkeitspegel der dann durch Luma kontrolliert wird um im Endeffekt auf alle Farben zu kommen.


    Der Chromabereich wird unterteilt in U und V, wobei diese aus Farbgemischen der Grundfarben und einer eigenen Reduktion bestehen.


    Jeder YUV Farbraum besitzt für seinen Farbspektrum die sogenannte Farbmatrix. Die Farbmatritzen haben min 2 fest vordefinierte Koeffizienten mit denen sich der Farbraum YUV errechnen lässt aus einem reinen RGB Signal.


    Als Beispiel für BT.601 Koeffizenten:
    KB = 0,114 <- Koeffizient für Blau
    KR = 0,299 <- Koeffizient für Rot


    Die Formeln zur Umrechnung lauten:
    Y = KR × R + (1 - KR - KB) × G + KB × B
    U = (B - Y) / 2 × (1 - KB)
    V = (R - Y) / 2 × (1 - KR)


    Die daraus resultierende Skala wird Analog gemessen und wird daher mit YPbPr bezeichnet.


    U und V können sowohl positive als auch Negative Werte zwischen -128 und + 128 annehmen. Darum rechnet man zusätzlich zu U und zu V 128 mehr um auf eine Skala von 0 bis 255 zu kommen um dann eine Gegenüberstellung zu RGB zu haben, dessen Angaben ebenfalls Digital so vorliegen. Diese Skala wird dann YCbCr genannt.


    Ein kleines Tool das dieses Umrechnungsverfahren demonstriert und auch Farblich anzeigt gibt es hier zum downloaden: RGB-YUV Calc


    Oder man schaut sich dies via einer HTML Seite an: RGB2YUV.htm



    Abschlussworte:
    Der Farbraum spielt bei der Aufnahme eine große Rolle wie damit dann schlussendlich auch weiterverfahren werden kann. Demnach sollte wenn möglich versucht werden immer einen höheren Farbraum anzustreben bei der jeweiligen Aufnahme.


    Folgende schnon angesprochene Werte sind dabei ausschlaggebend die man mit bedenken sollte:
    4:4:4 = 1:1 = 100% - Höste Qualität
    4:2:2 = 2:3 = ~66% - Hohe Qualität
    4:2:0 = 1:2 = 50% - Mittlere Qualität
    4:1:1 = 1:3 = ~33% - Niedriege Qualität
    4:0:0 = 0:1 = 0% - Niedrigste Qualität (reines Graubild, da nur Y vom YUV angesprochen wird)

  • Ich nutze MagicYUV mit Dxtory, aber ich habe festgestellt, dass in meinen Videos immer wieder (alle paar Sekunden) Sprünge vorkommen. Sehr schön hier zu sehen:


    Ich vermute mal, dass meine HDD zu langsam ist. Sollte das der Fall sein, wie kann ich den Codec so einstellen, dass er auch mit meiner scheinbar zu langsamen Platte klarkommt?


    Oder ist UTvideo genügsamer, was die Festplatten-Performance betrifft?

  • Moin Moin


    Ich probiere gerade ein bisschen herum und bin auf diesen Thread gestoßen. Bisher habe ich einfach mit NVIDIA Shadowplay aufgenommen und die Audiospur gleichzeitig mit meinem MacBook mitgeschnitten, in Final Cut die Dateien zusammengefügt (mit einem zusätzlichen Export der WAV der Videodatei, da ich immer Audioknackser hatte ohne).
    Wunderbar 30 Minuten Video circa 5GB, perfekt.


    Wenn ich jetzt mit diesem codec hier (MSI afterburner) aufnehme (1080p, 60FPS) ist aber schon eine einzige Minute 3GB groß. Ja, ich möchte eine gute Qualität haben, aber das finde ich dann doch ein bisschen arg zumal das NVIDIA-Video bei benutzerdefinierten Einstellungen eine sehr gute Qualität hat.


    Gibt es noch Einstellungen mit denen man das drosseln kann? Also die Größe? Sonst werde ich wohl erst mal mit dem NVIDIA NVENC H.264 aufnehmen. Wobei ich da das Problem habe, dass der Ingame Sound nicht mit aufgenommen wird, warum auch immer.... Jemand ne Idee?

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!