x264 encoding mit Handbrake: CRF / Presets

  • Im Grunde arbeitet x264 im zweiten Durchlauf ja auch mit CRF, also nicht wirklich anders in der Verteilung der Bitrate; es braucht nur die Statistik aus dem ersten Durchlauf, um genau den CRF-Wert zu berechnen, der am Ende die gewünschte Zielgröße erreicht. In der Statistik am Ende des ersten Durchlaufs müsstest du ihn ablesen können, wenn du die Kommandozeilenausgabe siehst, und im ersten Durchlauf bereits die gewünschte Bitrate vorgibst.


    Ganz so einfach geht es leider nicht, selbst nicht mit --slow-firstpass. Vielleicht trifft man damit gaanz grob die Größenordnung.

    Hm ok. Aber wie erreiche ich dann nach den Tests, wenn ich den ganzen Clip wieder mit CRF encodieren will, das diese Kombination eine hoehere Bitrate (wie im Test) nimmt?


    Teste halt etwas, bis Du einen CRF gefunden hast, der Dir gefällt.

  • Hallo.
    Das Problem mit den dunklen Szenen trat ja nur am Beamer (nicht kalibriert :( ) und nicht am TV auf. Ich habe nun laenge Zeit an den Beamer-Einstellungen (gamma, iris, blau kontrast+helligkeit) geschraubt und es tritt nun hier nur noch viel schwaecher auf. Danke nochmal fuer eure vielen Antworten!

    Eins haette ich noch.. Bringt es etwas bei 720x576 SD-Material beim x264-encodieren die Aufloesung zu erhoehen wenn man das ganze ueber XBMC abspielt oder erhoeht dies nur die Dateigroesse und man sollte die Aufloesung auf den Ursprungswert belassen?

  • Die Dateigröße wird mit Sicherheit erhöht, wenn man die Fläche vergrößert und dennoch nicht auf Qualität verzichten will.

    Ob man nun qualitativ einen Unterschied sieht, ob die Vergrößerung aufwändig mit AviSynth-Funktionen berechnet wird oder ob der Player das schnell in Echtzeit beim Abspielen skaliert (je nach Auswahl an Skalierungsfunktionen), sollte man einfach mal selber ausprobieren und dann entscheiden, ob sich das Verhältnis zwischen Schärfe und Platzbedarf wirklich rechnet. Eventuell wäre der Ansatz interessant, mit einer EDI-Funktion (z.B. NNEDI3) mit Kantenverbesserung die Auflösung zu verdoppeln/vervierfachen und davon auf die eigentliche Zielgröße herunterzuskalieren; wenn das nicht "deutlich besser" als schnelle Skalierung aussieht, dann lohnt sich wohl kein höherer Aufwand.

  • Nun habe ich doch nochmal eine Frage. Mein Ausgangsmaterial hat PAL-Aufloesung 720*576, Video wird aber in 16:9 ohne schwarze Balken angezeigt. Wird hier bei der Wiedergabe das Bild horizontal gestreckt?
    Und muss ich hier bei reencoding 1024*576 (16:9) waehlen? Ansonsten waere die Aufloesung 720*40x, ich wuerde also vertikal Pixel und somit Qualitaet verlieren? Also welche Aufloesung muss ich waehlen um ein 1:1-Verhaeltnis zu erzielen?

  • Im Grunde hast du's doch richtig verstanden. Entweder du skalierst nicht beim Recodieren, sondern erzeugst eine Kopie mit der gleichen Auflösung und DAR-16:9-Flag, so dass der Player das Video beim Abspielen bis auf ein Verhältnis von 16:9 entzerrt (wie beim Original-Material auch); oder du skalierst bei der Recodierung, was zu größeren Dateien trotz etwas geringerer Qualität führt (jede Skalierung berechnet nun mal Zwischenwerte), und dann skaliert der Player möglicherweise noch ein zweites Mal auf die natürliche Auflösung des Bildschirms.

  • Hallo,
    ich habe hier noch zwei (Verständnis)Fragen zu diesem Thema:

    Der CRF-Wert bestimmt die Abweichung zur Quelle und gibt somit die Qualität an, aber wie genau wirkt sich das Preset aus?
    Hat er auch Auswirkungen auf die Qualität? Dies sollte nicht der Fall sein da dies eben durch den CRF-Wert bestimmt wird. Auf die Dateigröße des Ziels hat er aber auch keinen allzu großen Einfluss..

    Empfielt sich der Einsatz von CUDA? Bei einem Test bei DVDFab ist mir aufgefallen das ohne CUDA die Dateigröße nur ca 60% so groß war wie mit CUDA (gleiches File, gleicher CRF, beide male "Langsam/Hohe Leistung").


    Danke im Vorraus!

  • Das Preset bestimmt, wie viel Aufwand der Encoder betreibt, um Bitrate zu sparen, indem nach Ähnlichkeiten gesucht wird, die man auch kürzer codieren kann. Je langsamer das Preset, umso mehr Zeit nimmt sich der Encoder. Die Qualität kann sich bei gleichem CRF durch langsamere Presets etwas verbessern, wenn dadurch bessere Übereinstimmungen gefunden werden, aber sicher nicht so deutlich wie bei einer Verkleinerung des CRF. Es kann bei extrem langsamen Presets sogar zu einer "Überoptimierung" kommen, dessen Ergebnis subjektiv wieder schlechter wirken kann. Kann, nicht muss ... je nach Betrachter.

    x264 unterstützt kein CUDA. Ein CUDA-AVC-Encoder ist meist deutlich schlechter als x264. Ich bezweifle, dass ein CUDA-Encoder auch den CRF-Modus anbietet (benutze aber bisher weder Handbrake noch irgend einen CUDA-Encoder).

  • Handbrake unterstützt mW kein CUDA, weder beim De- noch beim Encoding. DVDFab sollte zum Encoding möglichst nicht verwendet werden, weil die Ergebnisse bescheiden sind. Bei 3D-Formaten lässt es sich mangels Alternative nicht vermeiden, wenn Full-3D-SBS/TAB entstehen soll. Für normales SBS/TAB sollte BDtoAVCHD verwendet werden, das neuerdings sogar einen MVC-Encoder an Board hat.

  • Bei 3D-Formaten lässt es sich mangels Alternative nicht vermeiden, wenn Full-3D-SBS/TAB entstehen soll. Für normales SBS/TAB sollte BDtoAVCHD verwendet werden, das neuerdings sogar einen MVC-Encoder an Board hat.

    Hallo, ich habe mit BDtoAVCHD eine MVC-MKV sowie eine 3D-BluRay-Struktur mit Target Media AVCHD CRF sowie MKV CRF neu codiert. Leider geht jeweils MVC verloren. Muss man etwas bestimmtes beachten um in der Ausgabe MVC zu erhalten?

  • Hallo,
    gibt es Empfehlungen zu den denoise-Einstellungen bei stark körnigem Videomaterial?
    Nlmeans ist besser als hqdn3d? Und lohnt es sich mit den Custom-Einstellungen zu testen oder einfach einen der Presets verwenden?

    Grüße

  • Ich kenne die Presets in Handbrake nicht (mache alles "zu Fuß"):ani_lol:
    Hqdn3d ist nicht schlecht, aber von der Perfomance, meiner Meinung nach,
    meilenweit von NLMeansCL entfernt.
    Für noch mehr Perfomance würde ich dir KNLMeansCL
    empfehlen.
    Wird direkt von der Grafikkarte unterstützt (eine neuere Grafikkarte ist Voraussetzung)
    und rennt dadurch recht was schneller als good ol NLMeansCL.
    Ich weiss nicht ob Handbrake externe Plugins unterstützt.
    Und weniger softening ist meisst mehr.
    Keine Ahnung wie aggresiv die Filter in Handbrake eingestellt sind,
    aber es lohnt sich sicherlich mal mit den Custom Einstellungen zu experimentieren.
    Warum machst du nicht einfach ein paar Encodes mit verschiedenen Einstellungen?
    Vielleicht sind die "Werkseinstellungen" ja genau passend für dein Material.

    Einmal editiert, zuletzt von Taurus (13. November 2016 um 12:45) aus folgendem Grund: Rechtsschreibung ;-)

  • Handbrake basiert meines Wissens nach auf ffmpeg und nicht auf AviSynth. Insofern ist es nur eingeschränkt sinnvoll, über AviSynth-Plugins zu diskutieren (außer wenn Handbrake auch AviSynth-Skripte als Quelle akzeptiert, aber das weiß ich nicht; und in dem Fall wäre die Verwendung von Handbrake auch kaum eine Frage der Features, höchstens des Geschmacks bei GUIs).

    Ich stimme Taurus vor allem in diesem Punkt zu: Nichts geht über eigene Erfahrungen, und Standard-Einstellungen sind aus gutem Grund so voreingestellt, weil sie im Allgemeinen nicht völlig falsch sind.

  • Handbrake basiert meines Wissens nach auf ffmpeg und nicht auf AviSynth.

    Es kann wegen der vollen Kompatibilität zu Linux und OS X nicht anders sein.
    AviSynth ist eine absolut proprietäre Windows-Anwendung.

  • Es kann wegen der vollen Kompatibilität zu Linux und OS X nicht anders sein.
    AviSynth ist eine absolut proprietäre Windows-Anwendung.


    Aah, wieder was dazu gelernt.
    Ich habe Handbrake mal vor zig Jahren angetestet, aber durch die vielen Einschränkungen war das nichts für mich.
    Vielleicht sind die neueren Versionen ja anders, wer weiss....
    Wusste auch nicht, das Hqdn3d und NLMeansCL zu FFmpeg portiert wurden.

  • Hallo,
    gibt es Empfehlungen zu den denoise-Einstellungen bei stark körnigem Videomaterial?
    Nlmeans ist besser als hqdn3d? Und lohnt es sich mit den Custom-Einstellungen zu testen oder einfach einen der Presets verwenden?

    Grüße

    Ich versuche dir etwas zu helfen; auch, wenn ich mich selber erst hineingearbeitet habe und wenn ich dir Tips gebe ist das ein bisschen so als führte ein Blinder einen Blinden.

    Erstmal zur Anleitung. Die wird momentan umgestellt. Leider ist die neue für mich noch schwer durchschaubar (mittlerweile geht's. Die Filter haben sie leider noch nicht umgestellt). Die alte findest du über die WayBack machine, eine Suchmaschine für off gesetzte Seiten. Hier https://github.com/HandBrake/HandBrake-docs/issues/3 wird auch erklärt, dass die neue Anleitung keine Anleitung im eigentlichen Sinne mehr sein wird. Andererseits soll sie auch umfangreicher sein. Mal schauen.

    Zwar bezieht sich die alte auf eine ältere Handbrake-Version, sie ist aber trotzdem noch hilfreich für das Verständnis der Funktionen:
    bei https://web.archive.org/
    das hier https://trac.handbrake.fr/wiki/ eingeben.

    Hier noch ein Link der bei der Suche nach der alten Anleitung hilft https://web.archive.org/web/2016041415…/wiki/TracGuide

    Ach, hier, das brauchst du "Handbrake Feature Documentation and User Guides" https://web.archive.org/web/2015090510…ndbrake.fr/wikiDa ist NLMeans und die ganzen Presets und Einstellmöglichkeiten gut erklärt und was sie bewirken.

    Nun zu deiner eigentlichen Frage:
    - Es gibt ein neues Preset Namens "NLMeans Tape". Evtl. auch vorerst nur in den nightly builds und noch nicht in der neusten Version (habe noch Vers. 0.10.5 - konnte aber die Einstellungen schon testen: Decomb custom 393:2:1:1:2 und NLMeans custom 2:0.9:3:5:2:0:6:0.9:5:5:2:0).

    Zitat

    New NLMeans tunes will be in the next nightly build. Tape is for analog tape sources including VHS, and Sprite is for most 1-/4-/8-/16-bit 2D games.

    Tape is about 50% faster than Film and in addition to analog tape sources, may be useful on lower quality standard definition sources such as DVD transfers of old films. Old black and white and Technicolor-era sources look great. I've even used it successfully on old cartoons that were shot on film and later transferred to DVD. Animation is more thorough in that scenario, but Tape looks more natural to me for some film-era animation. For modern animation, definitely stick to the Animation tune.

    Sprite is useful for cleaning up the hard edges, simple colors, and repeating patterns typically found in 2D graphics. Your NES recordings will thank you. Don't use Sprite on high definition sources unless you have a lot of time on your hands.

    Quelle: https://forum.handbrake.fr/viewtopic.php?p=161787#p161787

    Zitat

    I've taken the NLMeans parameters I provided here and developed a new tune called Tape for analog sources. It will be available in the next nightly build along with a tune for 2D game sources called Sprite.

    NLMeans Light Tape is now the same as NLMeans Custom 2:0.9:3:5:2:0:6:0.9:5:5:2:0 above.

    More information: https://forum.handbrake.fr/viewtopic.ph ... 87#p161787

    Quelle: https://forum.handbrake.fr/viewtopic.php?…=163010#p163010

    - ich war mit diesen Einstellungen nicht zufrieden und hab selber rumprobiert und war dann zufrieden (kommt aber auf den Schwerpunkt an, den man legt, mit weniger Körnung nimmt man auch Detail raus).
    Ich hab mir mit dem Programm mpegstreamclip einen Schnipsel von meinem VHS-capture gemacht (idealerweise was zusammenstellen, was sowohl viel Bewegung, aber auch stille Szenen, als auch Fläche, Nahaufnahmen von Gesichtern und versch. Farbschattierungen hat). Daran habe ich dann rumprobiert, weil meine CPU auch nicht die schnellste ist und ich nicht jedesmal einen ganzen Film konvertieren wollte.

    Welche Faktoren hab ich ausprobiert?
    - es gibt ein Feld da steht "tune" bei den Hauptpresets, wo man auch die encoding-Geschwindigkeit einstellt: dort die Einstellungen "none", "film" und "grain" zusammen mit den anderen Einstellungen ausprobieren. Ich habe mich am Ende eigentlich immer für none entschieden
    - bei den Filtern "decomb" auf "default" stellen (das hilft, wenn du diese interlaced Striche "combing" drin hast und manchmal auch bei anderen Strichen). In der Regel ist es kein Nachteil es einfach immer auf default zu haben (anstatt "off") hier unter "So what's decomb do differently?" lesbar https://web.archive.org/web/2016060914….fr/wiki/Decomb
    - bei Denoise: NLMeans auf medium und dort tune "none" stellen (ob ich hier grain und film ausprobiert hatte weiß ich nicht mehr). Ausprobieren, ob das was bringt ansonsten Denoise ganz weglassen. (mehr als medium brauchte ich bei meinen Versuchen nicht, aber du kannst ja probieren).
    - falls dich meine restlichen Einstellungen interessieren: siehe Anhang (Constant Quality RF: besser als 16 macht in der Regel bei VHS keinen Sinn (Platzverschwendung und kein Qualitätszuwachs bei VHS), 18 soll meist ausreichen und es kann sein, dass selbst dabei noch Platz verschenkt ist. Ich kam sogar schon mit 21 hin (hängt vom Video ab). Kannst aber ruhig mal mit 21,5 oder gar 22 ausprobieren; fand ich auch noch vertretbar (völlig Ende ist würde ich sagen bei 24).

    Ganz nett ist auch noch diese Seite https://mattgadient.com/2013/06/29/in-…video-examples/

  • Danke euch allen für die teils sehr ausführlichen Antworten!

    Habe zusätzlich diese Anleitung gefunden die ich recht hilfreich finde und etwas rumprobiert. Laut den beschreibungen benötige ich wohl (ausschließlich) temporales denoise. Von den vorgegebenen Presetz finde ich die Ergebnisse von "Medium" am besten. Als Custom habe ich 3:3:7:7, 3:3:9:9 und testweise auch 3:3:15:15 versucht. Die Ergebnisse waren nicht besser als vom Preset "Medium", nur die encoding-Dauer hat sich bis zu Faktor ~20 verlängert.
    Weiß jemand welche Werte für das Preset Medium verwendet werden? Ist leider auch nichts in der alten Anleitung (danke Moppelkotze!) zu finden. Würde gerne diese Werte noch etwas Anpassen und Testen.

  • Hallo,

    ich encodiere nun schon seit Jahren mit Handbrake mit den Einstellungen die mir hier empfohlen wurden (slow + film + crf 18-25) und bin damit sehr zufrieden.

    Ich hätte nun 2 Fragen:

    Gibt es für x265 eine ähnliche einfache Empfehlung für die Einstellungen?

    Wie kann ich x265-Video-Material mit HDR-Daten in x264 encodieren, ohne die HDR-Daten nicht zu verlieren?

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!