Ein paar Fragen zu x264...

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Ein paar Fragen zu x264...

    Anzeige
    Hi,
    ich habe ein paar kurze knappen fragen, dessen antworten im Internet ich nicht so recht verstehe, vielleicht kann mich ein Experte aufklären.

    Mir geht es um bessere Qualität.

    Frame Re-Ordering:ja oder nein?

    QP für I-Frame P-Frame und B-Frame alle gleich?

    Keyframe Intervall? auto oder 1 (standard 2) (jeweils Sekunden)

    Consecutive B-Frame Count (standard 2 ich habs nun auf 1)
    Minimum QP und Maximum QP (steht auf 1/51)

    Was bedeutet das alles und wie beeinflusst das die Qualität?

    Danke im Voraus :)
  • Schauerland schrieb:

    Frame Re-Ordering:ja oder nein?

    Wo hast du sowas? Welches Programm?

    Schauerland schrieb:

    QP für I-Frame P-Frame und B-Frame alle gleich?


    I:P 1,4
    P:B 1,3

    Quasi die Standardratios.

    Keyframes auf 10-fache der FPS Rate. Bei 60fps also 600 Frames.

    B-Frames mindestens auf 3. Nur bei CRF Encoding kannst du es weglassen ohne Qualität zu verlieren, büßt aber natürlich dann kompressionseffizienz ein

    min 0, max 69, delta 4 (sprich standard)


    Aber welches Programm? Außerdem fehlen ja noch etliche Settings.
    Aktuelle Projekte/Videos


    1. Dein Titel und dann was du tatsächlich nutzt anhand deines Bildes und deinen Beiträgen hier:
      NVENC ist nicht gleich [lexicon]x264[/lexicon]

      Es sind zwei völlig unterschiedliche [lexicon]Encoder[/lexicon] für [lexicon]H.264[/lexicon]. Daher wirst du bei NVENC ganz andere Einstellungsettings haben für den [lexicon]Encoder[/lexicon] als bei [lexicon]x264[/lexicon].
    2. [lexicon]OBS[/lexicon] ist fürs Streamen gut und auch dafür konzipiert. Qualitativ wirst du damit auf Youtube z.B. nicht glücklich werden und anderen Usern weit hinterherhängen.
      Wenn dir das aber reicht, ist das ok.
    3. [lexicon]GPU[/lexicon] [lexicon]Encoder[/lexicon] sind weitaus weniger effizent als [lexicon]CPU[/lexicon] [lexicon]Encoder[/lexicon]. [lexicon]GPU[/lexicon] [lexicon]Encoder[/lexicon] erschleichen sich ihren Geschwindigkeitsboost durch schlechte Standardeinstellungen.
      Ein [lexicon]CPU[/lexicon] [lexicon]Encoder[/lexicon] der gleichermaßen moderat eingestellt ist wie [lexicon]x264[/lexicon] z.B. kann dein [lexicon]GPU[/lexicon] NVENC [lexicon]Encoder[/lexicon] locker schlagen an Geschwindigkeit
    Mit anderen Worten: Du erhoffst dir mit einem GPU Encoder mehr Performance wärend der Aufnahme. Vergisst aber das die Qualität darunter sehr leiden wird.

    Warum meinst du wohl warum viele LPer Lossless Codecs zur Aufnahme nutzen? Richtig, damit die CPU nicht viel tun muss, sondern alles auf die Schreibgeschwindigkeit der Festplatte geht.

    Und zudem wirst du vermutlich noch keinen Schimmer von Hooking Prozessen haben. Jede Aufnahmesoftware geht beim Hooking etwas anders vor. Jedoch ist gerade dieses Hooking Verfahren des jeweiligen Aufnahmeprogrammes verantwortlich für die Performance des Spieles.
    Die Frage ob ein DirectX9, 10, 11, OpenGL oder was weiß ich abgegriffen werden muss oder wie Shadowplay es tut noch hinter diesen APIs die Bilder zu holen, verdeutlicht sich in der Performance der Aufnahme.

    Das Hooking beschreibt eigentlich nur wie sich in die Software eingeklingt werden soll (Einhaken - Hooking) und wie sie die Frames aus den Buffern lesen soll. Dazu spielen dann auch noch Sachen wie VSync und FPS Limitierungen bzw. Unbegrenzte FPS.

    Das zu Performancen.

    Je nach Game, kann es sein das man unterschiedliche Aufnahmeprogramme verwenden muss. Es gibt kein Aufnahmeprogramm was perfekt ist. Daher sollte jeder LPer zumindest 2 - 3 Alternative Aufnahmeprogramme haben.

    Ich z.B. habe 3 für Games. Fraps, MSI AB (Standard bei mir) und DxTory

    Wobei ich Fraps nur noch verwende wenn MSI AB und DxTory versagt.



    So und nun zu deinen eigentlichen Fragen:

    Schauerland schrieb:

    Frame Re-Ordering:ja oder nein?


    Frame Re-Ordering ist eine Angabe zur Decompressionsreihenfolge der Frames. Ist es aktiviert, so können einige Abspielprogramme die Frames unterschiedlich an Position x dekodieren. Ist es aus, so wird von Anfang Frame für Frame der richtigen Reihenfolge dekodiert.

    Ist es an, ist das Video effizienter für Videoplayer. Für YT allerdings uninteressant, da YT neu kodiert und keinen Frame Re-Ordering folgt.

    Für Live-Streams (OBS lässt grüßen was es ist) interessant, da dann Frames schon mal vordekodiert werden können.

    Schauerland schrieb:

    QP für I-Frame P-Frame und B-Frame alle gleich?

    Hat dir De-M-oN schon beantwortet an sich.

    QP I-Frame: 1,4
    QP P-Frame: 1,4
    QP B-Frame: 1,3

    QP ist der Quantization Parameter (deu.: Quantisierungsparameter oder Signalverarbeitungsparameter)

    Schauerland schrieb:

    Keyframe Intervall? auto oder 1 (standard 2) (jeweils Sekunden)

    Der Keyframe Intervall sollte immer dem 10-fachen der Video FPS entsprechen.
    Kann sein, wenn du es auf Auto stellst, das er sich selbst darauf einrichtet und nach der FPS geht.
    Dann nimmste halt in 60 FPS auf und den Intervall stellt er dir automatisch auf 600.

    Schauerland schrieb:

    Consecutive B-Frame Count (standard 2 ich habs nun auf 1)

    Consecutive B-Frame Count (deu.: Aufeinanderfolgende B-Frames)
    Um die Kompressionseffizienz zu erhöhen um somit die Videos klein zu halten gibt man oft einen Wert an der zwischen 3 und 5 ist. 3 wäre Standart.
    Der Wert 0 würde ein Encodingboost bewirken, auf Kosten von mehr Dateigröße des Videos.

    Dann schreibt er halt anstatt B-Frames einfach P oder I Frames und die sind natürlich größer ;D

    Schauerland schrieb:

    Minimum QP und Maximum QP (steht auf 1/51)


    Hat De-M-oN dir auch schon genannt.

    Die Signalverarbeitungsparameter (QP) brauchen Tiefen- und Spitzenwerte indem sie operieren können.
    Qualitativ wäre es halt gut ihn mit min:0 und max:69 zu versehen.
  • @Sagaras

    Okay danke für die ausführliche beschreibung :)

    Ob mir die Qualität letztendlich reicht, kann ich ja erst sagen, was die Parameter bedeuten, bevor ich überhaupt beurteilen kann was gut ist.
    Bisher war es NICHT der fall.

    Und ja, ich nehme schon länger auf (auch wenn ich die Videos noch nicht lange auf yt lade) und habe deswegen eine Menge (auch gekaufter) Programme und viele ausprobiert
    u.a. FRAPS, Dxtory (ist Standard bei mir), Bandicam, Afterburner, OBS classic, OBS Multiplatform.

    Nach Dxtory finde ich Afterburner am Besten, allerdings stört mich hier das Fehlen des Cursors - meiner Meinung nach unverständlich, warum die Enwickler das nicht integrieren - naja, ist ja schon länger keine neue Version gekommen, vielleicht kommt das.
    Performancetechnisch kam mit der Afterburner jedenfalls am schnellsten vor.

    OBS Multiplatform hat halt den Vorteil, man hätte eins für alle (streaming, aufnahme) und selbst gronkh nimmt mittlerweile mit OBS auf (hat er im Periscope Stream gezeigt - er hatte zwei OBS am laufen, er sagte "eins für streaming, eins fürs parallele recording") - und seine Videos sind immer top; Also so schlecht kann das nicht sein.

    x264 via CPU hat bei mir nicht funktioniert, trotz XEON E3 CPU ist die FR dramatisch eingebrochen - zumindest bei dxtory + x264vfw
    Vielleicht musst ich das nochmal mit OBS oder Afterburner versuchen.
  • Schauerland schrieb:

    Also so schlecht kann das nicht sein.
    Ist es auch nicht. Zumindest dann nicht, wenn man es entsprechend einstellt.

    Sagaras schrieb:

    OBS ist fürs Streamen gut und auch dafür konzipiert. Qualitativ wirst du damit auf Youtube z.B. nicht glücklich werden und anderen Usern weit hinterherhängen.
    Nicht zwangsweise - mit OBS gibt's ja auch mehrere Möglichkeiten, um verlustfrei aufzunehmen. x264 hätte mit qp0 einen Lossless-Modus, NVEnc ebenfalls teilweise (s.u.) und in der Multiplattform-Variante steht dir auch noch die geballte Macht von FFMPEG zur Verfügung. Selbst wenn man das aus irgendwelchen Gründen nicht nutzen will/kann, lässt sich der Verlust zumindest sehr im Rahmen halten - ich denke deshalb nicht, dass man da von "weit hinterherhängen" reden kann.

    Sagaras schrieb:

    Mit anderen Worten: Du erhoffst dir mit einem GPU Encoder mehr Performance wärend der Aufnahme. Vergisst aber das die Qualität darunter sehr leiden wird.
    Nicht zwangsweise. NVEnc selbst kann zumindest mit einer Maxwell-Grafikkarte verlustfrei kodieren, allerdings spricht das nicht jede Anwendung so an. Ich hab mal im Forum gelesen, dass OBS Classic es unterstützt und dafür auch ein entsprechendes Profil dabei hat, bei OBS Multiplattform weiß ich dazu allerdings nichts.

    Schauerland schrieb:

    x264 via CPU hat bei mir nicht funktioniert, trotz XEON E3 CPU ist die FR dramatisch eingebrochen - zumindest bei dxtory + x264vfw
    Ach, da liegt der Hund begraben ... nun, ich hätte da 2 Anmerkungen.
    1. [lexicon]x264[/lexicon] ist ein [lexicon]Codec[/lexicon], der sich relativ umfangreich einstellen lässt. Mit scharfen Einstellungen kann der dir jeden Rechner enorm stark auslasten und dann ist's wirklich Essig mit der Framerate, mit einem schnelleren Preset gibt er sich aber genügsamer - meist genügsam genug, um damit vernünftig aufnehmen zu können.
    2. [lexicon]x264vfw[/lexicon] ist so ne Sache, weil es im Endeffekt ein recht dreckiger Workaround ist, den über die VFW-Schnittstelle anzusprechen. Ich weiß nicht ob da Leistung auf der Strecke bleibt. Aber was ich weiß ist, dass er relativ eigen ist was die Einstellungen angeht, damit er zuverlässig läuft. [lexicon]OBS[/lexicon] spricht den aber anders ohne den VFW-Workaround an.
    Ich denke, dass es sich durchaus lohnt, x264 nicht ganz zu verwerfen und dir da mal ein Tutorial aus dem Forum anzuschauen. Im Tutorial zu OBS (classic) sind ein paar brauchbare Einstellungen genannt.

    Schauerland schrieb:

    Nach Dxtory finde ich Afterburner am Besten, allerdings stört mich hier das Fehlen des Cursors - meiner Meinung nach unverständlich, warum die Enwickler das nicht integrieren - naja, ist ja schon länger keine neue Version gekommen, vielleicht kommt das.
    Soweit ich aufgeschnappt habe frisst er nur Hardware-Mauszeiger nicht. Bei manchen Spielen zeichnet er also den Mauszeiger auf, und bei manchen Spielen, in denen er es nicht tut, lässt sich ggf. auch manchmal was umstellen. Aber da verweise ich mal auf @De-M-oN , mich selber nervt das aber ebenfalls.
    Videoempfehlungen:
    ShimmyMC
    NuRap
    ShimmyMC
    Napoleon Bonaparte
  • @RealLiVe Okay danke, das muntert mich etwas auf.

    Wie gesagt selbst @Gronkh nimmt scheinbar mit OBS auf.

    Denke man muss nur die richtigen Einstellungen finden. Klar ist Lossless optimal,
    die frage ist wie nah an optimal kann man rankommen und ist man mit dem Ergebnis zufrieden.

    Ich werde weiter forschen, wenn ich ein Ergebnis finde, mit dem ich zufrieden bin werde ich ein splitscreen video machen (eine seite lossless, die andere lossy) und das man auf yt laden.
  • @Schauerland solltest du dir ein Spiel aussuchen was recht schnell ist damit man den Unterschied sehen kann. Ich Probiere zur Zeit selbst viel aus. Und ich finde das bei OBS sehr gute aufnahmen raus kommen. Ich bin jedoch nicht so der es muss alles immer total Nobel sein sondern mehr der es muss seinen Zweck erfüllen.

    Trotzdem würde mich mal ein solches Video Interessieren. Jedoch solltest du es vielleicht nicht bei YT hochladen die Rendern das ja nochmals verfälscht am Ende das Ergebnis.
  • @Schauerland
    Für Außenstehende vergleichst du in dem Video nicht wirklich die Qualität, sondern eher Qualität in Bezug auf die Dateigröße.
    Keiner wird die Rohdatei von Dxtory direkt auf YouTube schmeißen, von daher sind die Dateigrößenangaben aus meiner Sicht fehl am Platz.
    Oder anders ausgedrückt, wenn du schon Wert auf die Dateigröße legst, hättest du einen Encode von MeGUI als Vergleichsmaterial heranziehen sollen und der wird zu großer Sicherheit kleiner ausfallen als die Datei von OBS. Das wiederum wäre aber kein sinnvoller Vergleich gewesen, von daher hätte man die Dateigröße einfach weglassen sollen.
    Für jemanden wie mich der alle seine kodierten Folgen lokal speichert, ist es wichtiger die geringste Dateigröße zu erhalten neben der bestmöglichen Qualität. Zeit und Speicheraufwand um diese zu bekommen ist da zweitrangig.
  • Zumal ein Splitscreen Vergleich. WTF. Was will man denn da bitte vergleichen? Die bereits encodierte OBS Aufnahme noch mal mit dem MagicYUV Video encodieren und dann noch mal von Youtube. Das ist nicht nur Dumm, sondern auch ineffizient. Die MagicYUV Aufnahme wird dadurch massiv mit in Leidenschaft gezogen, weil die OBS Aufnahme die im Bild zu sehen ist mehr Bitrate benötigt und somit die MagicYUV Aufnahme Qualitativ schon in den Keller zieht.

    Man kann definitiv mehr rausholen. Aber ne OBS Aufnahme nochmals zu codieren ist nicht gerade Qualitätsfördernd. Man sollte die goldene Regel für Videos anwenden und nur EINEN vernünfitigen Encode machen. Und nicht 2 - 3. Je mehr Encodes auf das Material wirken, desto schlechter wird das Bild. Und die OBS Aufnahme ist halt schon vorbelastet.

    PS: Ein Splitscreen Vergleich sollte man niemals machen und grade bei einem Vergleich eines CRF Encodes von x264.

    Zumal in deinem Splitscreen Videos deutlich zu erkennen ist das die OBS Aufnahme enorm mehr Banding und Blöcke enthält als die MagicYUV Aufnahme. Erkennt man Wunderbar wenn mal Pause drückt. Eigentlich sollte man es auch beim laufenden Video erkennen das die OBS Aufnahme am ehesten verschwimmt. Leider wird anhand der Bitraten Vergabe für die OBS Hälfte die MagicYUV Qualität im Video ziemlich runtergerissen.
    Man kann mehr rausholen. Aber wem das reicht...
    Oder sagen wir es mal so: Wer solche kuriosen Vergleiche macht und dann noch glaubt das das bessere gar nicht besser ist, der hat leider noch nix verstanden. Leider.
  • Also ich sehe auf beiden Seiten Blöcke und kann nicht sagen dass es bei einer Seite schlimmer oder besser ist.

    @Sagaras warum so Aggro? Außerdem habe ich gar nicht gesagt, dass das bessere nicht besser ist. Du legst mir Worte in den Mund, die ich nie ausgesprochen habe!
    Was soll der Quatsch? Aufs Maul? ;)

    Mir ist durchaus bewusst, dass ein mehrfaches Encoding die Qualität verschlechtert, das steht auch in der Videobeschreibung, die du nicht gelesen hast.
    Was glaubst du warum ich bisher nur Lossless aufnehme?

    Ich habe ein Splitscreen gemacht um zu sehen, ob die Seite des bereits komprimierte Materials dadruch merklich mehr schlechter aussieht, als das Lossles.
    DASS es schlechter ist ist keine Frage, die Frage ist, wo sieht man es? Sehen es die meisten Leute?

    Qualitätsempfinden ist letztendlich Sache des Betrachters. Ist wie bei Musikaufnahmen
    Dem einen reicht MP3 mit 192 kbits, ich selber höre bei 320 kbits immer noch den Unterschied zu CD, der ist aber sehr gering und hauptsächlich in den Bässen und Höhen.
    Ganz andere sagen CD ist schlecht und hören nur Vinyl auf ihrer 20.000 Euro vergoldeten Bose Anlage...

    @Kayten
    Also der Grund worum es mir geht, was mein Ziel ist bei der Sache.
    Ich möchte herausfinden/sehe ob ich mir den Schritt der Kodierung Lossless->x264 zu Archivierungszwecken sparen kann.
    Bin ICH mit einem Ergebnis zufriedn, wäre das ein Grund umzustellen.
    Finde ich heraus, dass mir es nicht reicht, werde ich es nicht machen.
    Ich suche einen Kompromiss aus Qualität, Zeitaufwand und Speicherplatz. Alles kann man nicht haben.


    So und jetzt kommen alle mal wieder runter und atmen mal wieder locker durch die Hose :)
  • @Schauerland
    Du hast meinen Punkt scheinbar nicht ganz verstanden, ich hätte wohl meine Ansicht bezüglich der Qualität auslassen sollen, dann wäre es wahrscheinlich klar gewesen.
    Ich formuliere es mal etwas drastischer. Du hast ein Splitscreen Video was die Qualität von OBS und Dxtory mit MagicYUV vergleicht, richtig?
    Nein. Du hast ein Splitscreen Video, welches für unerfahrene Augen besagt, dass OBS deutlich kleinere Dateien als Dxtory erzeugt und demnach OBS als das bessere Programm darstellt.
    Zumindest kann es so verstanden werden. Abgesehen davon war es nicht meine Absicht etwas zu beanstanden.

    Schauerland schrieb:

    Ich möchte herausfinden/sehe ob ich mir den Schritt der Kodierung Lossless->x264 zu Archivierungszwecken sparen kann.

    Wäre es dafür nicht sinnvoll zu schauen, wie viel Speicherplatz das kodierte Material von Dxtory beansprucht?
    Ich weiß nicht wie du es siehst, aber Speicherplatz der von archivierten Folgen belegt wird, ist und bleibt belegt.
    Von daher ist es erstrebenswert, dass diese so wenig brauchen wie möglich. Kodieren lassen kann man den PC auch, wenn er nicht gebraucht wird (nachts?).
    Speicherplatz dagegen wird über Nacht aber nicht wieder frei. ^^
  • Ne also die Größenangabe in dem Video (neben dem Rechtschreibfehler) ist nicht Kern des Videos, dient eher als nebeninfo.
    Man soll einfach nur einen optischen Eindruck bekommen.
    Ist vielleicht sinnvoll für Leute die aufnehmen wollen, aber nicht so viel Plattenplatz haben.

    Klar ist das Ergebnis kleiner wenn ich von lossless kodiere, aber 10h für 20 min sind einfach zu viel, da reicht auch die längste Nacht nicht ^^