MEGUI: Nach YT-Upload Bewegungen verpixelt (DayZ)

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

  • MEGUI: Nach YT-Upload Bewegungen verpixelt (DayZ)

    Anzeige
    Hallo,

    ich habe schon sehr sehr lange ein Problem mit meiner DayZ-Grafik auf YT in Verbindung mit dem Rendern in meGUI.


    Reihenfolge: Dxtory (Lagarith Loseless Codec / 25 FPS) -> Sony Vegas(Schneiden) -> Debug Frameserver -> Sagaras Scriptmaker -> meGUI(encodieren)

    Ergebnis nach Encodierung immer super nach Upload auf YT schlecht


    Zum Problem:

    DayZ-Videos vorallem bei Bewegung verpixelt trotz encodieren mit meGUI in 18.


    So soll und kann es aussehen (gerendert mit Adobe Premiere irgendwas vom Youtuber Wesker)
    youtube.com/watch?v=EY_CtaVhxC…=UU2w1BVhZz0N2Bx2xwkPq6pw

    Mein Versuch mit Adobe Premiere Elements 12 mit den selben Einstellungen wie Wesker (.mp4):
    youtu.be/NBMDCqvE7dE

    Mein Versuch "Test 1" in meGUi mit den Einstellungen wie in der Beschreibung (mkv):
    youtu.be/sa0K2TNAn4w

    Mein Versuch "Test 2" in meGUi mit den Einstellungen wie in der Beschreibung (mkv):
    youtu.be/7-RNz1whN6g



    Einstellungen in Sagaras Scriptmaker:

    suckmypic.net/d6husjk4.jpg

    Script:

    -------------------------------------------------
    ### Lade Plugins und setze die globalen Variablen ###
    LoadPlugin("C:\Program Files (x86)\SagaraS Scriptmaker\Plugins\resamplehq.dll")
    LoadPlugin("C:\Program Files (x86)\SagaraS Scriptmaker\Plugins\blockbuster.dll")
    Global breite = 1920
    Global hoehe = 1080
    Global AR = 0

    ### Lade Videoquellen ###
    SetMemoryMax(512)
    SetMTMode(3,2)

    ### Filter Verarbeitungszone ###
    SetMTMode(2)
    Blockbuster("Blur", Block_size=4, Detail_min=75, Detail_max=100, Luma_offset=0, Luma_threshold=25, Strength=100)

    ### Funktion für Video-Laderoutine ###
    Function AVIload (String file, int loading, int cl, int co, int cr, int cu) {
    (loading == 1) ? FFIndex(file) : nop()
    clip0 = (loading == 3) ? LWLibavVideoSource(file) : (loading == 2) ? Import(file).KillAudio() : (loading == 1) ? FFVideoSource(file, threads=1) : AVISource(file, false)
    rate1 = (Round(Float(clip0.framerate * 1000)) / 1000) / 2
    rate2 = Round(clip0.framerate) / 2
    rate = (rate1 == rate2) ? 1 : 1001
    ratefaktor = (rate == 1001) ? 1000 : 1
    clip1 = (rate == 1001) ? clip0.AssumeFPS(Round(clip0.Framerate) * 1000, rate) : clip0.AssumeFPS(round(clip0.framerate), rate)
    clip1 = clip1.ChangeFPS(25, 1).Crop(cl, co, cr, cu)
    clip1 = (clip1.width == breite && clip1.height == hoehe) ? clip1 : (AR == 1) ? ((float(Clip1.height * breite) / clip1.width) / 2 == round((float(Clip1.height * breite) / clip1.width) / 2)) ? ((float(Clip1.width * hoehe) / clip1.height) / 2 == round((float(Clip1.width * hoehe) / clip1.height) / 2)) ? clip1 : clip1.ConvertToRGB24(matrix = "Rec601") : clip1.ConvertToRGB24(matrix = "Rec601") : clip1
    clip1 = (clip1.width == breite && clip1.height == hoehe) ? clip1 : (AR == 1) ? (((clip1.width * hoehe) / clip1.height > breite) ? Clip1.ResampleHQ(breite, ceil(float(Clip1.height * breite) / clip1.width), Kernel = "Spline16", dstcolorspace="RGB24", srcmatrix = "TV.601", dstmatrix = "TV.601", Chroma_Kernel = "Spline16") : Clip1.ResampleHQ(ceil(float(clip1.width * hoehe) / clip1.height), hoehe, Kernel = "Spline16", dstcolorspace="RGB24", srcmatrix = "TV.601", dstmatrix = "TV.601", Chroma_Kernel = "Spline16")) : clip1.ResampleHQ(breite, hoehe, Kernel = "Spline16", dstcolorspace="YV12", srcmatrix = "TV.601", dstmatrix = "TV.601", Chroma_Kernel = "Spline16")
    back = (clip1.width == breite && clip1.height == hoehe) ? clip1 : (AR == 1) ? (0 == 1) ? ImageReader("", 0, clip1.framecount, clip1.framerate).ResampleHQ(breite, hoehe, Kernel = "Spline16", dstcolorspace="YV12", srcmatrix = "TV.601", dstmatrix = "TV.601", Chroma_Kernel = "Spline16") : BlankClip(clip1.framecount, breite, hoehe, "YV12", Clip1.framerate).KillAudio() : clip1
    Return (clip1.width == breite && clip1.height == hoehe) ? clip1.ConvertToYV12(matrix = "Rec601", ChromaResample = "Spline16") : (AR == 1) ? Overlay(back, clip1, (back.width - clip1.width) / 2, (back.height - clip1.height) / 2) : clip1
    }
    -------------------------------------------------

    Einstellung in meGUI:

    suckmypic.net/b9QtzChv.jpg



    Ich habe mich zu Beginn des Hochladens von DayZ-Videos hier inttensiv im Forum schlau gelesen, konnte aber nie die Grafik erreichen die andere mit weniger Aufwand erreicht haben. Ich hoffe ihr könnt mir sagen was ich falsch mache.

    Wie bekomme ich die Verpixelung bei der Bewegung auf YT weg? Wo mache ich beim Rendern Fehler?


    Vielen Dank und Gruß
    Toaster
  • Mehr Auflösung (3200x1800), Blockbuster weglassen

    ingame Motion blur auf niedrig setzen

    avisynth motion blur auf 5.0 setzen

    nich immens ruckartige bewegung im spiel machen wenn es sich vermeiden lässt. Im Spiel aktiv mit draufhin arbeiten das es komprimierbarer wird, zb wenn du kurz was erklärst, kannste ne wand angucken oder zumindest nich mit der maus hin und her wackeln, wenn du eh gerade stehst und was erklärst

    Ach und den Frameserver weglassen, direkt mit megui arbeiten.

    ach und bei x264 auch den 10 bit Encoder nutzen !
    Aktuelle Projekte/Videos


    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von De-M-oN ()

  • Es sollte nicht der Sinn sein mich dementsprechend vorsichtig zu bewegen, sondern endlich mal die Rendereinstellungen nehmen die das Bild so schar fm achen wie bei meinem Kollegen^^

    Es gibt immer mal stellen wo man durchaus für bessere Komprimierbarkeit sorgen kann. Bei Erklärungen ja sogar sehr simpel zu machen, wie gesagt, innem menü gehen oder die wand angucken etc.

    Terrortoaster schrieb:

    wie kann ich denn den frameserver übergehen?


    Na indem du halt Vegas weglässt? :D

    Und was wird durch den 10 bit Encoder verbessert?


    Kleinere Dateigröße auf bessere Qualität und vor allem kein Banding.

    Guck den post

    Videoqualität und Encodierverfahren - Sammelthread [Startpost beachten!]

    Ach und scharf ist das Bild bei deinem Kollegen nicht wirklich. Absolut nicht. Auch total blockig. Bloß das deine blöcke noch stärker sichtbar sind. Bei ihm kanns an schlechteren Grafiksettings des Spiel liegen, oder auch das er schon Unschärfe einbaut.

    Nutze das vom Spiel gegebene Motion Blur, stells auf niedrig und das von SSM hinterher. Bzw eben all das machen was ich dir schrieb. Und vor allem die auflösung höher.
    Aktuelle Projekte/Videos


  • Wir brauchen ja nicht darüber reden, dass das Einstellen fürs Encodieren bei DayZ prinzipiell eine ziemliche Tortur ist. ;) Ich kann bei Deinem Video nicht merklich erkennen, dass Du Motion Blur aktiviert hast; hier mal eine Aufnahme von mir, ich habe mir auch die obigen Videos zum Vergleich je in 1080p angesehen: youtu.be/ASktrpJQJqA?t=1m20s (Bei 1:20 Min. bewege ich mich durch ein Waldstück.)

    Wenn es Dich interessiert, kann ich Dir mal meine Einstellungen durchgeben. :)
  • ​So hier das veränderte Ergebnis - besser geht nicht nehme ich an oder? Alles soweit umgesetzt schonmal besser als meine bisherigen Versuche.


    Ist auch nicht wirklich besser.
    Ich encodiere meine Dateien immer mit Constant-Quality, Preset Medium und Quality auf 21. Debei resize ich es auf 2560x1440 mit den Spline16 Resize-Filter.
    Mir ist aufgefallen, dass wenn man versucht das Bild richtig scharf zu bekommen, das Material einfach zu komplex wird. Youtube fängt dann an Artefakte zu bauen. Mit den Resize auf 2560x1440 bekommt man den besseren Encoder seitens Youtube, mit dem Spline Resize-Filter wird das Bild etwas weichgewaschen und mit der runtergesetzten Qualitätsstufe auf 21 wird das Bild auch weniger komplex. Momentan letsplaye ich Avatar und die Qualität ist nicht wie im Original, aber besser bekommt man es auf Youtube nicht wirklich hin. Es auf 4K zu encodieren bringt meiner Erfahrung nach nichts. Die unteren Encoderstufen schauen dann sogar teils schlechter aus, zumindest kommt es mir so vor. Die breite Masse will ja ein sauberes 720p oder 1080p haben.

    Mein Tipp, probiere mal ein Resize auf 1440p mit Spline 16/32 und schalte die Quality etwas runter, damit Youtube sich nicht so verkrampfen muss beim encodieren...:)

    LG

    Daibo
  • Daibola schrieb:

    Es auf 4K zu encodieren bringt meiner Erfahrung nach nichts

    Oh doch das bringt einiges.

    Daibola schrieb:

    Die unteren Encoderstufen schauen dann sogar teils schlechter aus, zumindest kommt es mir so vor


    Ganz im Gegenteil.

    Du hast aber 3200x1800 verwendet? Wenn du 3840x2160 genommen hast - kein Wunder.

    Spline100 ist da noch weicher.

    CRF sollte eher niedrig sein. CRF10 funktioniert bei mir sehr gut, aber ist für 08/15 Uploadspeed schlecht machbar ;D

    Und sein 1080 bei dem neuen versuch sieht doch sehr wohl schon deutlich besser aus als vorher. Und auf 4k natürlich sehr deutlich besser^^

    Fools Quest schrieb:

    Öhem wie stellt man denn was auf 10 bit? Lese ich das erste mal D:


    Was es bringt hab ich doch schon verlinkt.
    x264 bietet das an.
    Aktuelle Projekte/Videos


  • @letheia

    Jo das wäre sehr nett von dir, sofern du auch mit meGUI renderst. Kannst mir ja hier im Forum ne PM schicken und mir mal TS daten oder so geben. Dann kann man mal zusammen alles durchgehen, weil deine Videoqualität - auch wenn ich die Texturen als unscharf warnehme - finde ich wesentlich besser. Kann es sein, dass du dieses Occlusion ingame anhast...diese Hitzeeffekte?





    @Daibola

    Ähnlich wie De-M-oN schon sagt...Ich kann mir nicht vorstellen, dass wenn ich mit slow, 18 und 1800p hochlade das schlechter seien soll wie dein "Constant-Quality, Preset Medium und Quality auf 21". Je besser die Datei die man YT gibt desto besser das YT-Video find ich logisch nur genau das lässt mich ja auch verzweifeln. Ich denke ich sollte bezüglich der DayZ-Grafik nach jedem Strohhalm greifen, der sich bietet. Wenn YT nen schlechteres Video bekommt und dann selbst weniger drin rumpfuscht könnte ja die Qualität steigen...ich probiers mal schlechter als bisher kanns bestimmt nicht werden =)
  • Fools Quest schrieb:

    Also der neuste shit ist jetzt, Spline 100 und 10bit Encode? xD

    Vallah, das der neueste Shit. Betrifft aber nur die Deppen, die sich kein Premiere leisten können. Also egal

    Spline100 ist weniger scharf als 16, daher besser komprimierbar, daher möglicherweise auf YT klarer und weniger breiig.
    #1 (Shinigami) -- Let's Play Bound By Flame #53 Irrwege und starke Gegner
    --
    (Dieses Video ist Teil einer Community-Aktion:
    Komm in meine Signatur)
  • Die Zeit kannste dir sparen. Das hat a) schon vor dir jemand arg durchgetestet und b) isn kleiner CRF das sinnvollere.

    Ist doch lokal das selbe: Da wird ja auch für den re-encode empfohlen so verlustfrei wie möglich zu arbeiten, am besten lossless. Ist mit einem youtube re-encode ja nicht anders, im Gegenteil - umso wichtiger, da hier knapp bemessene bitraten herrschen und es um sichtbare verhältnisse geht.

    Wichtig ist: Weiche Skalierung, motion blur, so das die DCT Blöcke etwas gröber sein dürfen, ohne das sie direkt vom Auge erfasst werden.
    Je schärfer und detailreicher das Bild ist, desto feiner müssen die Blockübergänge sein, damit sie nicht vom Auge erfasst werden. Daher mit weichen Skalierern arbeiten und motion blur einsetzen.

    ingame motion blur auf niedrig hab ich glaub ich bei deinem video eben nich gesehen. Warum haste das weggelassen?

    Betrifft aber nur die Deppen, die sich kein Premiere leisten können. Also egal

    what xD
    Aktuelle Projekte/Videos


  • Terrortoaster schrieb:

    So hier das veränderte Ergebnis - besser geht nicht nehme ich an oder? Alles soweit umgesetzt schonmal besser als meine bisherigen Versuche.

    youtu.be/AMX1j8AuPcU


    Ich kanns Dir nur empfehlen, es mal auszutesten. Wunder erwarten darf man sowieso nicht, aber je komplexer das Video nach dem Encode ist, was es nunmal ist, wenn es sauber encodiert wurde, desto mehr Probleme bereitet Youtube. Das De-M-oN richtig gute Qualität hat kann ich nicht abstreiten, besonders sein Bulletstorm sieht zum Anbeissen aus. Er wird dafür wahrscheinlich aber auch entsprechend getestet haben und alle Register gezogen haben, die man nur ziehen kann für Youtube. Und zeitlich wirds auch denke eher in die wenigsten Workflows passen.
    De-M-oN,verrate mal bitte,wie lange brauchtest Du für einen Encode und welchen Prozzi hast Du?

    LG

    Daibo
  • Also ich codiere auf Const. Quality und auf CRF 16 , hab es auch auf 3200x1800 hochskaliert und mit 60fps aufgenommen und dann change fps auf 25.
    Trotzdem bin ich der Meinung das Lets player wie Pietsmiet oder Gronkh mehr Ressourcen von youtube zur verfügung gestellt bekommen.
    Die laden es meistens nur auf 1080p bzw 1440p und keiner von uns hat die gleiche Qualität. Siehe bei mir youtube.com/watch?v=Oma-2tvgTE8

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von GarfonUR ()

  • GarfonUR schrieb:

    60fps aufgenommen und dann change fps auf 25

    Warum nicht gleich in 25 FPS aufnehmen? Verstehe deine Logik nicht ganz dabei ^^
    Oder machst du Slowmotions noch rein? ^^

    GarfonUR schrieb:

    Also ich codiere auf Const. Quality und auf CRF 16 , hab es auch auf 3200x1800 hochskaliert


    So kann man natürlich auch schlechte Aufnahmen immer hochskalieren und encodieren ^^

    Die Quelle ist das A und O. Ist die Quelle Mist, hilft dir kein Skalierer der Welt noch mehr aus dem Bild zu machen.

    Wenn jemand mit 1080p aufnimmt und auf 1800p skaliert, dann sieht das Bild im Endeffekt besser aus als wenn jemand ein 720p Material auf 1800p hochskaliert ^^

    Ist einfach so. Die Spiele selbst stellen wenn man ihre Auflösung höher stellt doch mehr dar als wenn man eine niedriege Auflösung wählt. Man kann nur mit den Pixeln arbeiten die später auch vorhanden sind.

    Die FPS sagt doch nix über die Bildqualität aus. Die ist nur zur Steuerung der einzelnen Frames zuständig.

    Der Farbraum ist auch noch wichtig. Will man bessere Ergebnisse, dann sind YUY2 oder RGB24 die beste Wahl. Weil dadurch sind die Aufnahmen gestochen scharf und zerfließen nicht so stark oder gar nicht im Chromabereich wie YV12 es tut.

    Spiele mit Pixel_Shader Unterstützung und Bluring verbessern Komprimierbarkeit.

    Alles zusammen + ein guter Encode ergeben eine Top Qualität.

    Wer bereits mit schlechten Aufnahmeprogrammen aufnimmt oder gar in kleineren Auflösungen, darf sich nicht soviel versprechen dabei.

    Auch sollte nur ein einziges mal Encodiert werden. Nicht mehrmals.

    Noch viel besser ist es wenn man die Leitung dazu hat das ganze Lossless hochzuladen.

    Dann kodiert nämlich nur noch YT das Video.

    Wer es richtig macht, kann schon mit 1080p gleiche bzw bessere Qualität erziehlen als Gronkh und Co.

    Höher codierte Auflösungen des Materials geben unteren Auflösungsstufen auf YT später bessere Qualität. Auch das sollte man beachten.

    Man sollte wenn man Qualität haben will, genau drauf achten was man seinen Videos antut.

    Gerade was FPS, Skalierer und Farbraum angeht. Das sind die Sachen die den meisten das Genick bricht. ;D

    User die was falsch machen kommen meist mit sowas an:
    Entweder werden FPS konvertiert und das ganze bekommt Ghosting Effekte, oder im schlimmsten Fall wird alles Asynchron.
    Falsche Skalierer. Entweder wird zu scharf skaliert weil man denkt somit ein schärferes Video zu bekommen oder es wird von einer miesen Quelle mit geringer Auflösung mit einen Feinskalierer hochskaliert und bekommt ein Unsauberes Bild.
    Nicht beachten des Farbraumes. User die mehrmals den Farbraum wechseln verschlechtern das Material immer mehr.
    YV12 -> YUY2 -> YV12 = Vertikale Zerfließung der Farben. Bei nochmaligen Vorgang wird es sogar noch schlimmer.
    YV12 -> RGB24 -> YV12 = Horizontale und Vertikale Zerfließung der Farben.

    Eine NLE geht bei sowas recht rabiat ran und daher sollte man da sehr genau aufpassen was man den Videos antut.
    Wenn Gronkh in 1080p aufnimmt und bearbeitet und in MeGUI encodiert, dann wird er das gewiss auch mit 1080p machen unter Beachtung das was ich ganz oben schon erklärt hatte. Vor allem achtet er bei manchen Sachen auf Bluring. Denn gerade Bluring gibt den Frames bessere Komprimierbarkeit und somit brauchen diese Frames weniger Bitrate.

    10 Bit Encode ist ebenfalls eine feine Sache mit der das Banding umgangen wird. Dabei profitieren vor allem dunkle Farbbereiche.


    Wie du siehst, ist das nur eine Frage des korrekten Vorgehens. Kein Ding der Unmöglichkeit. Hat auch nix mit zu tun das Gronkh und Co. mehr Ressourcen auf YT bekommen. Das ist sehr unwahrscheinlich.

    Ich kenne auch LPer die nehmen via Afterburner die Spiele schon in der Auflösung auf die ihr Monitor schafft anzuzeigen. Dann entstehen halt mal bei dem ein oder anderen eine Natlose Aufnahme in 1080p oder höher. Und als Quellmaterial ist das dann Top ;D
  • YV12 ist der sparsamste Farbraum. Der belastet eure Festplatten nicht so extrem.

    De-M-oN nimmt sogar in YUY2 auf und das merkt man dann auch auf YT schon.

    RGB24 ist das beste was man machen kann.

    In MeGUI kann man dann mittels x264 Encoder auch in YUY2 oder gar YV24 encodieren.

    Die Datei ist dann extrem groß hinterher, aber YT hingegen freut sich darüber. Es profitieren dann wieder die unteren Auflösungsstufen, weil dann folgendes Prinzip herrscht:
    Auf YT:
    Quelle -> Skalierung -> Farbraum -> neue Auflösung
    1080p YV24 -> 720p -> YV12 -> 1080p YV12
    oder
    1440p YUY2 -> 1080p -> YV12 -> 1080p YV12

    Da die Quelle viel sauberer ist kann unter Umständen nach der Skalierung besser komprimiert werden, als der das YV12 Salat.

    RGB32/24 sind alle Farbstufen gestochen scharf. Im YV24 ist Luma und Chroma gestochen scharf. Farbunterabtastung: 4:4:4
    -> Für Skalierer ein Segen ^^
    -> Entspricht der Spieldarstellung und würde 1:1 aussehen in allen Bereichen.
    -> Hoher Speicherverbrauch auf HDD (Oftmals nicht machbar.)

    YUY2 wäre mittlere Qualität. Hier würden die Farben sich horizontal verschmieren. Durch Skalierer skaliert man dieses Geschmiere mit. Ergebnis wäre halt etwas unsauber. In Vertikaler Ausrichtung wäre aber alles wieder gestochen scharf. Farbunterabtastung: 4:2:2
    -> Für Skalierer sehr gut.
    -> Geringfügige Erhöhung des Speicherverbrauches gegenüber YV12. (Muss abgeschätzt werden ob die HDD Zuhause das abkönnen)

    YV12 ist die geringe Qualität. Hier verlaufen die Farben in alles Richtungen. Es ist der Meistgenutzte Farbraum, da er schnell zu verarbeiten ist und wenig Speichernutzung braucht.
    Farbunterabtastung: 4:2:0
    -> Für Skalierer nicht sonderlich gut.
    -> HDD Speichernutzung ist sehr gering und Sparsam.
    -> Kann am schnellsten verarbeitet werden von CPU und GPU Encodern.


    Zu beachten sei aber das ich hier wirklich von Lossless Codecs rede wie Lagarith, UT-Video, Fraps Codec, DXTory Codec, etc.
    Also keine Lossy Codecs.

    Bei Lossy Aufnahmen geht die Qualität schon durchs encodierte Aufnehmen verloren. Spürbar dann im Farbbereich sowieso und oft durch Makroblöcke im Video zu sehen.
    Daher sind Lossy Quellen keine gute Referenz um sehr sehr hochwertige Aufnahmen zu erziehlen, denn diese werden immer im Schatten eines Lossless Codec stehen.

    Und bedenkt das die Umstellung des Farbraumes nicht das einzige ist was ihr beachten müsst dann.

    Immer drauf achten das man zuerst skaliert, und wirklich zum Schluss... kurz vorm Encodieren es in YV12 umwandelt. Denn die Skalierung profitiert von höheren Farbräumen.

    Denkt aber nebenbei auch an das andere was ich sagte: Bluring nutzen in Spielen um es später komprimierbarer zu machen.