[Tutorial] Beinahe verlustfreie Komprimierung mit HandBrake

  • Hey,


    heute stelle ich euch einmal das Programm "HandBrake" vor und zeige euch, wie ihr es für die meisten Videos perfekt einstellt.


    Wer kennt es nicht, noch schnell ein Video hochladen und es dauert einfach Ewig.
    Die Stromkosten steigen, der Router schmort durch, man bekommt einen riesen Shitstorm weil sich das 15 Uhr Video verzögert.


    Darum zeige ich euch jetzt einmal, wie man das ganze anhand von Optimierung und Komprimierung beschleunigen kann und dabei die bestmögliche Qualität beibehält. Dazu sei gesagt, dass sich die Qualität und Dateigröße stark vom Ausgangsmaterial abhängig macht.
    Ein Video welches schon in einem mp4 Container mit einem Codec wie z.B h.264 liegt, ist schon komprimiert und verliert durch ein erneutes komprimieren mit HandBrake deutlich mehr Qualität als wenn es ein Codecloses unkomprimiertes AVI-File ist.


    Was ist HandBrake eigentlich ?
    HandBrake ist ein Konvertierungs- & Komprimierungstool für Videodateien aller Art.
    Die Output Formate von HandBrake sind mp4 und mkv als Codec stehen h.264 und h.265 zur verfügung.


    Wo bekomme ich HandBrake her und wie viel kostet es ?
    HandBrake ist kostenlos und du kannst es hier herunterladen.



    Das im Tutorial genutzte Ausgansmaterial ist eine Uncompressed AVI Videodatei ohne Codec, da es sich um eine After Effects Animation handelt.


    Details zum Material:



    Dateigröße: 18,7 GB | Bitrate: 2986018 kbit/s | Auflösung: 1920x1080 | Bildrate: 60 fps





    Beginnen wir damit, unser Video in HandBrake zu importieren. Dazu öffnen wir HandBrake und klicken auf File.




    Wurde das Video erfolgreich nach einer kurzen Ladezeit importiert können wir auch schon mit den Einstellungen beginnen.


    Auf der rechten Seite befindet sich die Preset-Liste. Ich persönlich benutze die Presets zumindest für YouTube nicht, da die Qualität nicht ausreichend ist nach der Komprimierung. Für Videos die auf einem Smartphone gespeichert werden oder per E-Mail versendet werden sind die Presets allerdings sehr gut.


    Unter "Source" finden wir den Dateinamen unserer importierten Videodatei.
    Die weiteren Informationen wie "Title", "Angle", "Trough" & "Duration" müssen uns nicht Interessieren.


    Bei "Destination" wird mit einem Klick auf "Browse" festgelegt wo das Video gespeichert werden soll.


    Interessant wird für uns nur die untere Box mit den Output Settings.


    Hier wählen wir unseren Wunschcontainer. Die Auswahl beschränkt sich hier auf das Wesentliche somit haben wir die Wahl zwischen MP4 und MKV. Des weiteren können und sollten wir ein Häkchen bei "Web Optimized" setzen, denn damit ist es möglich Videos die noch nicht vollständig auf einem Server liegen bereits anzuschauen. Das führt auch dazu (wie ich festgestellt habe), dass Videos bei YouTube deutlich schneller verarbeitet sind. Falls man das Video auf einem iPod speichern möchte (warum auch immer man das tun sollte) wählt man stattdessen "iPod 5G Support" aus.


    Picture:
    Wenn die Einstellungen stimmen, brauch hier nichts verändert werden.
    In meinem Fall wurde das Video automatisch beschnitten, daher musste ich in der "Size"-Einstellung mein Material wieder auf 1920x1080 statt 1920x880 stellen.





    Im "Filters" Tab können wir alles bei den Standardwerten belassen, die braucht man meiner Erfahrung nach nicht wirklich.
    Was die einzelnen Filter tun, kann man in Erfahrung bringen, wenn man mit dem Mauspfeil länger auf den jeweiligen Filter zeigt.



    Nun kommen wir zu den für uns wichtigsten Einstellungen.
    Im "Video" Tab können wir unseren Codec auswählen die Framerate bestimmen die Videooptimierungseinstellungen festlegen und bestimmen welche Qualität wir haben möchten oder was unsere Ziel Bitrate sein sollte.


    Beginnen wir mit dem Codec:
    Wie sicherlich jeder von euch weiß, ist h.264 der aktuelle Standard in der Online-Video-Welt. Da die Qualität gut und die Dateigröße recht klein gehalten wird. Daher werden wir für unser Video diesen Codec verwenden. Es besteht zwar die Möglichkeit den h.265 Codec zu nutzen, der eine deutlich bessere Qualität aufweist mit einer noch bessere Komprimierung, doch haben wir dann das Problem, dass dieser (meines Wissens nach) momentan nur vom VLC Media Player unterstützt wird.



    Framerate (FPS):
    Stellen wir "Same as source" ein übernimmt HandBrake die im Original Video eingestellte Framerate.
    Hat euer Video eine konstante Framerate stellt Ihr "Constant Framerate" ein, sollte euer Video Frameeinbrüche haben oder statt 30fps mit 29,97fps laufen wird "Variable Framerate" eingestellt. Dies stellt sicher, dass das Video lag- und ruckelfrei ist und bleibt.



    Optimise Video:
    Hier setzen wir das Häkchen bei "Use Advanced Tab instead", da man dort gezielter einstellen kann was genau optimiert werden sollte und vor allem wie.


    Quality:
    Hier haben wir die Wahl zwischen "Constant Quality" und der "Avg Bitrate (kbps)".
    Der Unterschied kurz erklärt:
    Mit einer Constant Quality bestimmen wir eine allgemeine Qualität des Videos. Es bleibt also wie der Name vermuten lässt bei einer konstanten Qualität. Diese können wir mit dem Regler einstellen. Je geringer die Zahl desto besser die Qualität, jedoch ist meiner Erfahrung nach alles niedriger als 18 irrsinnig und vergrößert nur die Datei ohne sonderlich viel Qualität mehr rauszuholen.
    Bei der Avg Bitrate handelt es sich um eine angepasste Bitrate oder auch Wunschbitrate. Dabei kommt es darauf an was in eurem Video zu sehen ist & wofür es benötigt wird. Kennt man sich mit Bitraten aus, kann man auch diese Einstellungen vornehmen. Da es aber für jedes Video individuell ist, kann ich hier nicht weiter darauf eingehen. So bleiben wir bei der Constant Quality. Hier können wir einen Wert zwischen 20 & 18 einstellen. Bei einem Let´s Play oder Tutorial empfiehlt sich die 18, bei einem Vlog kann man ruhig 20 nehmen.



    Im "Audio" Tab stellen wir für die Bitrate der Audiodatei 192 ein. Die Tabs "Subtitles" & "Chapters" können wir außen vor lassen, da diese nur für Videos bzw. DVD´s gedacht sind die Untertitel und Kapitel besitzen.



    Kommen wir also nun zum letzten Tab, dem "Advanced" Tab.


    Encoding:


    Reference Frames: Referenz Frames bestimmen bestimmen wie hoch die Komprimierung sein wird. Mehr Frames = kleinere Datei und umgekehrt. Eine Animation z.B profitiert von einer hohen Zahl, Filmmaterial wie Dokumentationen, Vlogs etc. können darauf verzichten. Des weiteren muss ich darauf hinweisen, dass unterschiedliche Geräte unterschiedlich viele Referenz Frames erlauben. So könnte ein zu hoher Wert dafür sorgen, dass bestimmte Player oder Geräte das Video nicht abspielen können. Daher empfiehlt es sich 4 einzustellen, denn damit kommen die allermeisten Player und Geräte zurecht.


    Maximum B-Frames:
    Macht im Grunde nicht viel anders als die Referenz Frames, da es hier aber bei der richtigen Einstellung extrem auf das Video ankommt ist es unmöglich darauf einzugehen. Wir lassen es beim Default von 3 stehen. Sollte das Video auf einem iPod gespeichert werden sollte man hier übrigens 0 Einstellen, das gleiche gilt für ähnliche Geräte.


    CABAC: Sorgt dafür, dass die Komprimierung beinahe Verlustfrei von Statten gehen kann. Die Funktionsweise von CABAC ist vergleichbar mit der Funktionsweise von WinRAR. CAVLC komprimiert zwar schneller (Häkchen nicht setzen), jedoch holt CABAC eine bessere Kompressionsrate raus, was wir ja für unser Video möchten. Eine kleine Videodatei mit bestmöglichem Ergebnis. Also Häkchen setzen !


    8x8 Transform: Man erhält damit eine noch bessere Qualität bei geringem Geschwindigkeitsverlust bei der Komprimierung. Warum sollte man hier also kein Häkchen setzen ? Ganz einfach aus dem Grund, das ähnlich wie bei den Referenz Frames nicht alle Geräte und Player dafür ausgelegt sind. Da wir unser Video aber für YouTube komprimieren wollen setzen wir den Haken denn YouTube kommt damit zurecht !


    Weighted P-Frames: Ghosting und Fading wird damit gering gehalten, weil mit dieser Einstellung für jeden Frame eine eigene Analyse durchgeführt wird. Dauert etwas länger mit der Komprimierung ist dafür aber ein besseres Bild am Ende. Also Häkchen rein ! Außer wie schon so oft bei einem iPod oder ähnlichem Gerät dann bitte kein Häkchen setzen, da das nicht von solchen Geräten unterstützt wird.




    Analysis:
    Hier können wir alles bei den Standardwerten belassen. Subpixel Motion Est: zwischen 6 und 8 ist ideal für Let´s Plays, Screencaptures und Animationen. Für alles andere reicht der Standardwert aus. Da wir hier eine Animation haben, stellen wir auf 8.




    Da wir nun alle Einstellungen gesetzt haben wie wir es haben möchten, können wir nun auf "Start Encode" klicken.



    Hier mein Ergebnis:


    Vorher
    Dateigröße: 18,7 GB | Bitrate: 2986018 kbit/s | Auflösung: 1920x1080 | Bildrate: 60 fps


    Nachher
    Dateigröße: 65 MB | Bitrate: 10102 kbit/s | Auflösung: 1920x1080 | Bildrate: 60 fps







    Hier ein Vergleich aus dem Player:


    Vorher



    Nachher



    P.S
    Ich hab das "AVI uncompressed" ins Video gerendert, also nicht wundern wieso es da auch steht. Wollte es erst zwei Mal rendern für den direkt Vergleich aber das Rendering hat über 19 Std gebraucht weswegen ich es bei einmal rendern belassen habe. Nachträglich die Schrift setzen wollte ich nicht, da man dann nicht erkennen kann wie sich die Komprimierung auf Texte auswirkt.

  • WOW! 8o
    Danke für das tolle Tutorial :thumbup:
    Kannst du bitte noch zwei kleine Videos von ca. 10 Sekunden zum Vergleichen hochladen? Am besten irgendwo extern und nicht direkt auf YouTube, da YouTube auch noch komprimiert.
    Muss auch nicht sofort sein.

    Klar kann ich machen. Muss nur gucken wo ich es dann am besten hochlade.
    Mein FTP wird vermutlich zu langsam sein.

  • Ich hab das jetz versucht erstmal mit Dropbox zu regeln, allerdings reicht der Speicher vorne und hinten nicht aus. Lade es jetzt gerade in Drive. Sieht zumindest so aus als würde es funktionieren. Muss man bei der Vorschau in Drive halt auf HD stellen, weil irgendwie bleibt das immer auf 720p.


    Notfalls dann halt runterladen. Dauert aber laut Fortschrittsanzeige noch 2 Stunden bis die unkomprimierte AVI hochgeladen ist. :sleeping:

  • Ich bedanke mich für dein Kommentar ^^


    Wie schon erwähnt hängt es halt immer sehr stark vom Ausgangsmaterial ab. Kann gut möglich sein, dass man mit einem anderen Video nicht ganz so gute Ergebnisse bekommt.
    Für meine Animationen, Trailer, Privatvideos hab ich aber bislang immer gute Qualität gehabt. Außer als ich mit der BenQ GH700 gefilmt habe, weil das schon komprimiert war und das auch noch ziemlich schlecht.


    Da gilt dann halt rumprobieren mit den Informationen die ich im Tutorial zu den einzelnen Einstellungen gegeben habe bis es für einen selbst passt bei dem jeweiligen Video, das mit den oben genannten Einstellungen nicht klar kommt.
    Sollten aber für die aller meisten Projekte gute Ergebnisse liefern.



    Nachtrag um Doppelpost zu vermeiden:


    Der Upload ist endlich fertig. Link zum Drive Ordner ist hier.


    Eigentlich sollte es eine Gameaufnahme und eine Animation sein, jedoch stimmt heute irgendwas nicht mit meiner CPU Auslastung wodurch ich keine Aufnahme eines Spiels machen kann (6fps Ingame).
    Ich hoffe die Animation reicht aus um ein Vergleich ziehen zu können.


    Hab was genommen, was ich schnell rendern konnte, damit nicht wieder 20 Stunden dafür drauf gehen. ^^