Mit OBS aufgenommene flv super, nach Bearbeitung und Export in Shotcut Ruckler beim scrollen

  • Hallo zusammen und vielen Dank schonmal für eure Hilfe!


    Ich fange gerade an mit dem Let's Plays machen und habe auch schon einige Probeaufnahmen gemacht. Bisher habe ich auch alles hinbekommen doch nun das Problem, dass nach der Bearbeitung in Shotcut das mp4-Video (wenn ich es per VLC ansehe) an den Stellen, wo der Bildschirm scrollt, merklich leicht ruckelt.
    Bei der zuvor mit OBS aufgenommenen flv war dagegen beim Ansehen alles total geschmeidig. Ich habe sowohl über die GraKa (h264_nvenc) als auch über CPU mit verschiedenen Encodern, Bitraten B-Frames etc. alles ausprobiert, doch es ändert sich leider nichts. Aufgenommen in OBS habe ich über NVIDIA NVENC H.264 (new) mit CQP, Max. Qualität, Look-ahead, Psycho-visueller Optimierung und Max. 2 B-Frames.
    Beim Spiel handelt es sich um MicroTown (PixelArt-Aufbau).


    Ich wäre sehr dankbar für Tips!


    Liebe Grüße,
    Tümsch

  • Hatte ich zwar in der Tat zuerst, aber 60 oder 30 fps hat keinen merklichen Unterschied gemacht...
    Könnte es vll sein, dass es an dieser CQP-Sache liegt? In Shotcut gibt's das nämlich nicht... Vielleicht in Zukunft lieber beides mit konstanter Bitrate oder was würdest du / würdet ihr empfehlen?

  • normalerweise müsste man auch in Shotcut via CQP codieren können, da es ja auf ffmpeg aufbaut.
    Aber nein daran liegt es auf keinen Fall.


    Ist es denn auf Youtube immer noch so? Nicht das es bloß an deinem Player liegt
    Die Aufnahme ist aber normal?
    OBS Log wäre ansonsten noch cool gewesen.
    oder es liegt eben an Shotcut selbst (oder deinen weiteren Codiereinstellungen, wie z.B. die GOP Größe etc)

  • Also es liegt wohl wirklich an Shotcut, denn seltsamerweise tritt das Problem nicht auf, wenn ich die flv importiere und dann direkt wieder exportiere. Sobald ich aber irgendetwas bearbeite ist das Ruckeln wieder da. Werde wohl eine andere Software nutzen müssen...

  • Danke für den Tip! Aber auch wenn GOP auf die Hälfte der FPS gestellt ist ändert sich nichts. Unter der CQP-Einstellung in OBS ist "CQ-Wert" auf 15 eingestellt.
    Das Ruckeln ist in der gerenderten Datei, wenn ich sie mit VLC anschaue aber auch nach dem hochladen auf YouTube noch.


    Shotcut gefällt mir von der ganzen Freeware auch echt am allerbesten, würde das schon sehr gerne nutzen :(


    Edit: Habe gerade nochmal rumprobiert und es scheint, dass das Problem nicht besteht, wenn ich sowohl in OBS mit konstanter Bitrate aufnehme, als auch so exportiere, yay!

  • Probiers vllt mal mit NVENC.264 nicht mit NVENC.264 (new).


    Hatte auch immer mal wieder Probleme mit NVENC.264 (new). Mit dem "normalen" Läuft alles gut.


    Benutze derzeit auch noch ShotCut. WIe sind denn da deine Einstellungen zum exportieren?


    Meine bei 1920x1080 60fps:


    Abtastmodus: Vollbildverfahren (progressiv)
    Zeilenentflechter: YADIF - zeitlich & räumlich
    Interpolation: Hyper/Lanczos

    Parallelverabeitung: Ja


    Codec: libx264
    Bitratenmodus: VBR
    Qualität: 90%
    GOP: 30
    B-Frames: 2

  • Wenn du in 60fps renderst solltest du den GoP auf 30 einstellen. GoP sollte die Hälfte der Fps entsprechen.

    Das ist nur für Livestreaming richtig. Aber auch da wäre eher 120 Frames (2sek bei 60fps) bei weitem sinnvoller.
    Das hat was damit zu tun das du eine gute Spulbarkeit hast (so das wenn ein Zuschauer einen Livestream aufruft er schnell zu einem Keyframe (den Beginn einer neuen GOP) gelangt und Bild hat, als auch wenn es mal nachbuffern sollte, das eben schnell wieder ein Bild da ist.


    Für lokale Dateien ist es jedoch absolut kontraproduktiv. Eine derart kurze GOP Länge zwingt dem Encoder zu einer unnötig häufigen Nutzung von Vollframe Bildern, die er sehr oft noch gar nicht gebraucht hätte. Ganz besonders wenn z.B. kaum was am Bild passiert (Menüs, Desktop oder solche Dinge). Bei nur ner halben Sek GOP Länge müsste der dann trotzdem ständig einen vollständigen Frame speichern, auch wenn sich weiterhin nur z.B. die Position des Mauszeigers geändert hat.
    In der Regel braucht der Encoder erst ein neues Vollbild, wenn die Frameveränderung größer als 40% ist.
    Bei einer GOP Länge von nur 'ner halben Sekunde würde der selbst bei komplexem ingame furchtbar limitiert werden


    Ideal wäre natürlich eine infinite GOP Länge. Aber (und das gilt nur für lokal, youtube codiert ja eh neu) dann lassen sich natürlich auch die Videos bei großen GOP Längen nur langsam spulen, weil der Videoplayer ja dann all die ganzen b-frames ref-frames usw zu einem Bild zusammenrechnen muss, wenn du mitten rein spulst (oder man stellt den Videoplayer ein das er nur zu keyframes spulen soll, nur ist die Spulposition dann ne andere als wo man hingeklickt hat je nach GOP Länge.) So kann dann aber ein pures Desktopvideo oder ein Standbildvideo dann durchaus nur 1 MB + Audio sein, wenn der Encoder nur den ersten Frame vollständig speichern brauchte ^^ Wenn man also z.B. bloß ein Standbildvideo hochladen möchte, würde sich das sehr anbieten.


    Wer die Spulbarkeit jedoch auch lokal wahren möchte:
    Als Faustregel gitl: Max GOP Länge = 10fache der FPS Rate.
    10 Sekunden lassen sich noch ziemlich gut spulen, auch wenn man den Player erlaubt auch außerhalb von keyframes reinzuspulen.


    Naja bitraten encode würd ich nicht empfehlen. Fixe Framequalität halte ich für wertvoller als bauchgerate wieviel der encoder brauchen könnte und somit variable Qualität haben, oder sich so abzusichern das man ne sehr hohe Bitrate nimmt, aber mehr Uploadaufwand hat.
    Da ist CQP (noch besser wäre CRF, aber das geht nur bei x264 vernünftig)

  • Bei mir war es übrigens andersrum. OBS hatte sich von HVEnc (new) auf den alten HVEnc umgestellt und das hat dann bei mir zu Mikrorucklern in der Livestream-Aufnahme geführt. Als ich das wieder auf HVEnc (new) umgestellt hatte, ging es auch wieder flüssig mit der Aufnahme.


    Meine Export-Einstellungen von Shotcut sind übrigens:


    Mit denen fahre ich soweit ganz gut und bin mit dem Ergebnis von Dateigröße und Qualität auch zufrieden. Sieht auch auf Youtube dank der 2K Auflösung noch gut aus.

  • Ich nutze zum Upload auch 600er GOP, aber wenn ich meine 1800p60 Videos mit 3facher Geschwindigkeit abspiele und noch hin und herspringe merke ich das deutlich, dass die Spulbarkeit nicht mehr so gut ist. =) Höher als 3fach ist generell schwierig ich vermute da kommt die HDD nicht mehr ganz mit...

  • Das ist nur für Livestreaming richtig. Aber auch da wäre eher 120 Frames (2sek bei 60fps) bei weitem sinnvoller.
    Das hat was damit zu tun das du eine gute Spulbarkeit hast (so das wenn ein Zuschauer einen Livestream aufruft er schnell zu einem Keyframe (den Beginn einer neuen GOP) gelangt und Bild hat, als auch wenn es mal nachbuffern sollte, das eben schnell wieder ein Bild da ist.

    Ich beziehe mich da auf die Angaben von Youtube selbst zur Einstellung. Und für den Videoupload gibt Youtube eben an GoP = Framerate/2.


    Was es damit tatsächlich auf sich hat hab ich keine Ahnung. Kann nur sagen das ich nach mehreren Sichtproben eine positive Aussage zum Bild bekommen habe im Vergleich zu den Videos die ich mit GoP 15 renderte.


    Mehr habe ich auch nicht geändert in ShotCut. Die Einstellungen in OBS Studio hatte ich auch nicht geändert. Wenn die "Qualitätsboost" wo anders her kommt dann scheint vorher beim Upload was Schief gegangen zu sein^^


    /Edit.: Da es dabei ja auch um das enstehen von Ruckler geht nach dem rendern, dachte ich das dort ShotCut vllt bei Queerschießt :/

  • Danke für eure Ausführungen!


    Naja bitraten encode würd ich nicht empfehlen. Fixe Framequalität halte ich für wertvoller als bauchgerate wieviel der encoder brauchen könnte und somit variable Qualität haben, oder sich so abzusichern das man ne sehr hohe Bitrate nimmt, aber mehr Uploadaufwand hat.Da ist CQP (noch besser wäre CRF, aber das geht nur bei x264 vernünftig)

    Versteh ich das richtig, dass du generell nicht mit konstanter Bitrate arbeiten würdest? Oder jetzt nur beim encoden der Datei, die man hochladen möchte wegen der Größe? Was wäre denn deiner Meinung nach eine Bitrate die hoch genug ist um gute Qualität zu garantieren? Standard in OBS wäre ja 2500 Kbps.

  • 2500 Kbps ist nen Witz. ;) Zumindest zum Aufnehmen. Konstante Bitrate ist einfach die unsinnigste Einstellung, entweder die ist zu niedrig und Szenen die mehr Bitrate benötigen würden sehen kacke aus oder sie ist sehr hoch und Szenen die weniger Bitrate brauchen würden verschwenden Speicher.

  • Versteh ich das richtig, dass du generell nicht mit konstanter Bitrate arbeiten würdest?

    Richtig.
    Bei NVEnc CQP
    Bei x264 CRF
    Dann sieht jeder Frame identisch aus
    Bei Livestreams VBR.
    Viele behaupten Livestreams brauchen CBR. Mit VBR erzielt man aber bessere Qualität und das Internet muss nicht dauerhaft auf Anschlag hochladen wenn gerad ma eh nur Standbild ist oder Menü oder so.

    Standard in OBS wäre ja 2500 Kbps.

    Naja das ist natürlich unterirdisch. Selbst bei Livestreams ist das unterirdisch.

  • Ja, hab jetzt auch bemerkt, dass es schnell unscharf wird mit CBR - auch bei deutlich höheren Bitraten. Streamen will ich erstmal eh nicht, aber guter Hinweis, danke!


    Aber es ist doch trotzdem seltsam, dass dieses Ruckeln beim Scrollen nur nach dem Export mit Shotcut ein Problem ist... Liegt's vielleicht einfach daran, dass zwangläufig Qualität verloren geht, wenn man ein bereits encodiertes Video nochmal encodiert?


    Außerdem frage ich mich echt, warum ich in Shotcut nicht CQP auswählen kann - das ist einfach nicht da im Dropdown-Menü o_O

Jetzt mitmachen!

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