Zwei Fragen - Aufnahmen ruckeln und SMS mit Frameserver und Audio

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

  • Zwei Fragen - Aufnahmen ruckeln und SMS mit Frameserver und Audio

    Anzeige
    Hi,

    um gleich auf den Punkt zu kommen:

    1.) Egal ob ich OBS oder Afterburner nehme mit QuickSync, die aufgenommen Videos ruckeln. Dabei ist es scheinbar egal welche Bitrate ich einstelle. Habe schon diverse Tutorials gelesen/angesehen wo es um die "besten OBS mit QuickSync Einstellungen" geht. (abgesehen davon das ich "die besten" nicht ausstehen kann), aber nichts davon hat gefruchtet. Es ruckelt zwar nicht durchgehend aber man sieht visuell, dass die Bildrate nicht ganz stabil zu sein scheint.

    Das Spiel selbst läuft eigentlich flüssig mit 60 FPS+. Vsync ist in diesem Fall an, da ohne das Bild zu "krass" abreisst. Habe keinen Freesync Monitor.

    Auch bei Afterburner sieht man bei der Intel GPU, dass sie kaum ausgelastet wird. Meist so 10% bzw. wenige ms.

    Weiß jemand woran das liegt? Ist die Intel GPU zum Encoden doch zu langsam? Vorweg: Temps sind alle defintiv OK, d.h. weder die CPU noch die GPU takten runter. Habe allerdings nur eine RX 480 mit 8GB - die reicht mir... noch...

    Wenn ich AMD VCE nutze, wird es auch nicht viel besser und die Videos ruckeln dann immer noch. Auch wenn ich vermutlich irgenwann eine Capturekarte zulegen werde, möchte ich zumindest wissen warum das so ist und wie man es behebt.

    Als "Aufnahmeplatte" (eigentlich unsinnig, weil zu klein) habe ich eine WD 1TB EZEX (Blue). Die aber in naher Zukunft später ausgetauscht wird.

    Für ruhige Sachen würde mir die Aufnahme via QuickSync mit 50mbit qualitativ ausreichen. Für die etwas aufwändigeren Sachen bin ich zwischen MagicYuv (kostenlose Version) und UtVideo hin und hergerissen. MagicYuv scheint etwas weniger Speicherplatz zu brauchen, Qualitativ sehe ich keinen Unterschied. Benutze momentan für die beiden Codecs (noch) Afterburner.

    Farblich gefällt mir Fraps allerdings am besten, da sieht man den Unterschied meiner Meinung nach sehr stark... wenn es nur die CPU nicht so krass belasten würde... laut Totalbiscuit soll das wohl auch ab und zu mal auf 30 FPS absinken und das auch so aufnehmen... was natürlich schlecht ist.

    Afterburner wäre mir wegen dem Overlay (Aufnahmezeit und wegen CPU/GPU Temps) lieber als OBS.

    2.) Ich benutze Movie Studio und Frameserver. Wie kriege ich es hin, dass mir der Frameserver die Samplerate der Audiospur nicht von 48khz auf 44.1 runtersampelt? Möchte ungern die Audiospur manuell dazu muxxen müssen, vor allem, weil man das Audio exportieren nicht stapelverarbeiten kann. Mit Video wäre es kein Problem, aber nur Audio ?(

    Habe zwar bei MeGUI temporär eingestellt, dass die Samplerate wieder hochgerechnet werden muss und bei meinen Testaufnahmen hat das funktioniert, kein knacksen oder ähnliches, auch ist alles synchron, trotzdem habe ich da Bauchschmerzen. Die Audiospur hat bei der Aufnahme bereits 48khz.

    Danke im voraus!
  • Knackfrisch schrieb:

    Farblich gefällt mir Fraps allerdings am besten, da sieht man den Unterschied meiner Meinung nach sehr stark...
    Das ist bei YUV nur wegen 0-255 Farbrange, statt das übliche 16-235. YUV mit Full Range Farbe ist eig. sehr unüblich, wird dir auch nach x264 oder jedem anderen Encoder wieder auf 16-235 gebracht, sofern nicht anders erzwungen. Auch youtube benutzt kein Full Range.
    Full Range kannste bei MagicYUV auch machen, aber es bringt nichts, weil du es eh nicht bis zum Ende der Kette haben wirst.
    Aktuelle Projekte/Videos


  • So, mal ein Update.

    Inzwischen ist mir aufgefallen, dass die Videos, aufgenommen via Afterburner und MagicYuv bzw. UtVideo (BT709/402) ebenfalls ruckeln...

    Wie ich inzwischen gelesen habe benutz AB VFR, dass wird wohl das Ruckeln zusätzlich begünstigen.

    Nehme ich OBS mit ffmpeg oder x264 wird CFR benutzt, die Videos ruckeln aber trotzdem, aber wie schon geschrieben, nicht durchgängig.

    AB und QuickSync resultiert natürlich ebenfalls in VFR und wenn ich den Container von MKV nach MP4 ändere (via ffmpeg, Batch, Spoiler), wird es richtig deutlich wegen der Framerate.

    Batch:
    Spoiler anzeigen
    for %%a in ("*.mkv") do (
    _ffmpeg -r 1 -i ^"%%a^" -format mp4 -vcodec copy -an -r 60 "%%~na.mp4"
    _ffmpeg -i ^"%%a^" -vn -f wav "%%~na.wav"

    rem _ffmpeg -r 60 -i ^"%%a^" -vsync cfr -format mp4 -vcodec copy -an -r 60 "%%~na.mp4"
    rem _ffmpeg -i ^"%%a^" -vn -f wav "%%~na.wav"

    rem del ^"%%a^"
    )


    Bringen tut es in diesem Fall so natürlich nichts. Die Batch ist eigentlich dafür da, die MKV Container von OBS nach MP4 zu bringen da MovieStudio mit MKV nichts anfangen kann.

    Ein VFR Video weiterzuverarbeiten ist so natürlich nicht wirklich möglich, ohne das Video neu zu encoden und das bedeutet: Qualitätsverlust.

    Dazu habe ich eine Frage: Macht es so Sinn, ein VFR Video so zu nehmen wie es ist, es normal zu schneiden und es dann durch den Frameserver zu jagen und mit MeGUI via AviSynth zu korrigieren? Also um mir das erste encoden zu sparen. Das Problem das ich hier sehe ist, dass MovieStudio das Video wohl mit der vermurksten Framerate über den Frameserver schickt.

    Ich würde das gerne mal ausprobieren, aber ich weiß nicht wie das funktioniert und das VFRtoCFR Plugin kriege ich nicht zum laufen, auch wenn wohl (die meisten?) die anderen beiden LWLibavVideoSource/DirectShowSource benutzen.

    Update:

    So, ich habe jetzt mal mit SSM das AVS generiert und direkt in MeGUI geladen (ohne MovieStudio) und es wird gerade encoded. Das scheint schon mal zu funktionieren. Bin mal auf das Resultat gespannt.

    Update:

    Ruckelt immer noch...

    Ich habe mal das aufgenommene Testvideo (AB mit QuickSync, Beste Qualität, 50mbit) hochgeladen: (Link wird reineditiert, Upload dauert noch, habe aktuell nur 1mbit...)

    Mega.nz (493mb)

    Es hilft auch nicht, wenn ich die Qualität oder die Bitrate auf kleinere Werte einstelle. Ruckeln bleibt und ich drehe langsam durch.

    Meine CPU sowie die Grafikkarte sollte für das Spiel eigentlich schnell genug sein. (i7 6700k, 32gb, für die Testaufnahme hält momentan "The Touring Test" her)


    Das Ursprpungsproblem bleibt allerdings bestehen: Das ruckeln der Videos.

    Benutze ich OBS mit QuickSync / x264 oder auch ffmpeg mit UtVideo ruckelt es schon in der Vorschau bzw. diesem Kontrollfenster.

    OBS Konfiguration ist Standard. (Verzeichnis im Windows Profil vollständig gelöscht, bis auf meine OBS Backups)

    Nur die Encoder habe ich eingestellt, den Hotkey und natürlich die Framerate sowie die Auflösung. Audio ist auf 44.1khz.

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

  • Anzeige
    Weiß ich nicht mehr. Ich habe vorgestern und gestern zu viele Threads gelesen. Irgendwo kam es dann auf wegen VFR.

    Auf jeden Fall scheint es so zu sein, wenn man Afterburner oder OBS benutzt mit QuickSync, das VFR benutzt wird. Was da jetzt genau verantwortlich ist, kann ich nicht sagen.

    Ich kriege es nicht hin, dass das Video mit CFR aufgenommen wird. Mittels mpc-hc habe ich gesehen, dass es wohl öfter Framedrops gibt. Die machen sich aber nur im Video bemerkbar, im Spiel merke ich sie nicht wirklich. Das Ruckeln dürfte wohl, da bin ich inzwischen überzeugt, an VFR liegen.

    Daher die Frage: Wie kriege ich es hin, dass CFR anstatt VFR genutzt wird? Ich kann nicht alles Lossless aufnehmen, auch wenn mir das lieber wäre.

    Habe gestern Abend mal probehalber mal Action! ausprobiert. Das speichert mit QuickSync mit Constanter Framerate. Ruckeln tun die Videos deutlich weniger bis kaum noch.

    Es wundert mich eben woran das liegt. Egal ob OBS mit QuickSync, OBS mit ffmpeg, OBS mit x264 (entsprechend konfiguriert, siehe Tutorial).

    Werde später nochmal eine Aufnahne mit MagicYuv und utVideo machen, weil die auch geruckelt haben. Wobei die scheinbar inzwischen (warum auch immer) auf CPU gehen und beim aufnehmen merke ich, dass die FPS nicht gehalten werden können.... zuvor war das nicht.
  • Afterburner nimmt im Zusammenhang mit Intel Quick Sync immer in VFR auf, weil das auch die wirtschaftlichste Methode ist ^^
    Bei AMD VCE macht er das nicht. Und das ist ebenfalls ein GPU H264 Encoder der in MKV gespeichert werden muss.
    Also wenn, würde ich dir ohnehin vom IntelQuick Sync abraten. Der Encoder ist egal wo er eingebaut ist totaler Mist. Wenn dann nehme entweder AMD VCE, wenn du eine Radeon Karte Verbaut hast oder bei NVIDIA halt NVenc.

    Oder nimm ein performanten VFW Encoder.
    Die werden bei Afterburner alle in CFR gespeichert.

    Einzig und allein bei IntelQuick Sync kann ich bei AB eine VFR Speicherung feststellen.

    Vor allem solltest du dich mal fragen warum MKV und MP4 Container besonders für Aufnahmen an sich nicht sonderlich viel taugen ;D
    Weil diese Container mit Zeitstempeln arbeiten. Bedeutet das der H264 Stream nicht nur über diesen Zeitstempel verfügt, sondern auch der Container. Passt der nicht oder weicht ab, wird das Video als VFR interpretiert., obwohl es CFR sein müsste.

    Und warum ist das so? Weil gerade Verlustcodecs wie VCE, NVenc und auch Intel Quick Sync und auch viele andere Arten der Verlustcodecs in der Lage sind VFR aufzuzeichnen.
    Du hast bei MSI AB nicht gerade die Auswahl an Einstellungen für diese Codecs, sondern lediglich zwei Regler für max. Bitrate und Qualität. Viel Option hast du also nicht wirklich. Und ein in MKV befindlichen Stream wieder zu reparieren grenzt auch schon oft in Kategorie 'Unmöglich'


    Bei OBS wird mit IntelQuick Sync immer Konstant aufgenommen. Weil OBS einen internen VFR->CFR Wandler verbaut hat. Der gilt nicht nur x264, sondern auch für andere Sachen.
    Zusätlich kannst du dort diesen Codec schon ein wenig besser konfigurieren. Die Async Einstellung sollte dir die Frage schon an sich aufbringen, warum IntelQuick Sync dazu neigt in VFR aufzunehmen. Die Einstellung ist nicht nur da um den Speicher zu entlasten, sondern macht nebenbei auch noch nette andere Sachen mit dem Video ;D

    Wie gesagt, OBS nimmt mit IntelQuick Sync in VFR auf. Kann leider nix anderes reproduzieren. Aber bei OBS weiß ich halt auch das die einen Wandler intern verbaut haben für VFR->CFR.

    OBS erlaubt lediglich bei x264 in VFR zu schalten, bei IntelQuickSync macht OBS diese Einstellung automatisch auf CFR.


    Trotzdem noch mal zum mitschreiben: IntelQuick Sync ist nicht das was man nutzen sollte. Für Streaming vllt. noch zu gebrauchen, obwohl da x264 oder VCE bzw. auch NVenc mehr bietet.
    Für lokale Aufnahmen ist IntelQuick Sync nur Mist. Würde ich auch niemandem empfehlen. Ich glaube da ist derjenige bald mit MJPG besser dran xD
    Nein, Spaß beiseite.
    Also wenn man schon lossy aufnimmt, dann entweder über x264, NVenc oder VCE. Alles andere ist Murks. Weil dann kann man auch gleich ein anständigen VFW Codec nutzen. Die laufen zu 100% performanter als diese auf MP4/MKV/TS basierenden Sachen. Zumal man diese auch besser reparieren kann, falls mal was schief geht.
    Ist bei MP4 oder MKV mal was beschädigt, kann man zu 95% schon sagen das die gesamte Aufnahme hinüber ist. ^^
    Ist halt so.

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

  • Danke.

    Habe inzwischen die Entscheidung getroffen, QuickSync für Gameplay Aufnahmen nicht zu nutzen.

    Momentan habe ich jetzt das Problem, dass über eine Aufnahme mit AB es ab und zu vorkommt, dass MovieStudio 13 (Trial läuft in 3 Tagen ab und wollte mir dann in Kürze die 14er holen da ich mit SMS inzwischen (halbwegs) zufrieden bin und mir die Kombi mit MeGUI und FS zusagt), die Audiospur aus dem AVI nicht erkennt. Man kann das Video in die Bibliothek importieren, aber es gibt kein Audio angezeigt. Immer nur die Videoinfo. Ziehe ich das Video dann in die Timeline bleibt auch da die Audiospur weg. Schaue ich das Video mit VLC/SMPlayer/MPC an, gibt es Ton.

    Den gleichen Effekt habe ich bei QuickSync und MP4 auch gehabt, allerdings mit OBS. Da bin ich dann dazu übergegangen, MKV zu benutzen und das dann via Batch (siehe oben) nach MP4 zu bringen und da wurde das ursprüngliche MKV mit Constant Framerate zu Variable geändert - das sah man auch bei ffmpeg.

    Habe gestern mit den Aufnahmetools (DXTory, Action, OBS, Afterburner) rumgespielt weil ich schauen wollte wegen CFR/VFR.

    Da kam ich zum Fazit:

    Variable Bitrate

    - OBS mit AMD VCE / QuickSync
    - AB mit AMD VCE / QuickSync


    Konstante Bitrate


    - Action ist das einzige Programm im Test, dass mit Quickync/AMD VCE CFR benutzt hat. Wobei die Bitrate nicht 60.000 war sondern 60.xxx
    - AB mit MagicYuv
    - AB mit UtVideo (402 / 601 / 402 / 709)
    - DXTory mit MagicYuv
    - DXTory mit UtVideo ((402 / 601 / 402 / 709))

    Aber: Sobald ich beim Spiel die Aufnahme starte, habe ich teilweise Framedrops. Dabei ist es egal ob ich OBS, AB, DXTory oder Action benutze, dabei ist auch der Encoder bzw. Codec egal. Beim Overlay von Action bleibt die Framerate bei "DX11" (58 FPS) noch relativ stabil, dass resultierende Video ruckelt immer noch, aber nicht mehr so stark wie bei AB oder OBS.

    Mit AB (egal welcher Codec) sieht man es recht teilweise "deutlich", geht bis zu 54 FPS runter. Details im Spiel zu reduzieren hat nicht geholfen, nur die Reduzierung der Auflösung hat was gebracht - aber das will ich natürlich vermeiden, vor allem weil ich das Video eigentlich beim encoden resizen will. (2048x1152, wie hier im Forum empfohlen und je niedriger die Ursprungsauflösung ist, desto eher gibt es dann Artefakte)

    Resize natürlich nur, wenn das Video Lossless ist.

    Mache ich die Aufnahme wieder aus: Stabile 60 FPS.

    Was mir noch aufgefallen ist bei "The Touring Test". Die Engine scheint einen Framelock zu haben, es ist egal ob VSync an oder aus ist.Bei mir geht es nicht über 60 FPS... was an sich ja nicht schlimm wäre, wenn sie beim Aufnehmen stabil wären. Meine Hardware scheint wohl zu langsam zu sein. Am Wochenende werde ich wohl mal sehen, ob ich die CPU ein kleines bisschen übertakten kann, zumindest so weit, um den "relativ" geringen Framedrop zu kompensieren.

    @Saragas: Auf jeden Fall ein dickes "Dankeschön" für dein recht ausführliches Post.
  • Knackfrisch schrieb:

    - Action ist das einzige Programm im Test, dass mit Quickync/AMD VCE CFR benutzt hat. Wobei die Bitrate nicht 60.000 war sondern 60.xxx
    Macht OBS auch. Solltest mal OBS Studio verwenden, und nicht OBS Classic. Bei der Studio Version bekomme ich immer eine CFR mit IntelQuickSync. Und auch bei AMD VCE
    Entweder ich bin zu Blöd das in VFR umzustellen, oder es ist einfach so das es nur CFR kann.


    Außerdem ersehe ich deine Aufnahmeeinstellung nicht gerade. Du redest zwars von Ingame 60 FPS, aber nicht mit der du aufnehmen möchtest.

    Nicht das du dir erzwingst in 60 FPS aufzunehmen, obwohl das deine Festplatte in Zusammenhang mit deiner hohen Auflösung nicht schafft.
    Du kannst auch in 50 FPS aufnehmen. Minimum wäre 41 FPS um von YT später den besseren Encode zu bekommen. Es muss also nicht zwangsläufig auf Teufel komm raus 60 FPS sein.

    Knackfrisch schrieb:

    (2048x1152, wie hier im Forum empfohlen und je niedriger die Ursprungsauflösung ist, desto eher gibt es dann Artefakte)
    WTF? xD Wieso sollte es dann Artefakte geben?
    Je mehr Details drin sind im Bild, desto mehr Artefakte ergibt es später auf YT. Das erreichst du schon wenn du mit 1152p aufnehmen würdest von einer gleichen Basis. Ich glaube das bringen die meisten immer durcheinander ^^

    Wenn du 720p bis 1080p als Aufnahmebasis nutzt, spricht nix dagegen es in 1152p hoch zu skalieren mit dem passenden Skalierer. Obwohl ich bei 720p schon eine Form von Point Skalierung empfehlen würde und dann die Auflösung auf 1440p hochdrehen. Da gibt es dann meiner Meinung nach kein ersichtlichen Qualitätsverlust.

    Und bei jeder anderen Skalierung würde ich dir dann Spline36 empfehlen. Da kommt das Video auch noch gut bei weg.


    Knackfrisch schrieb:

    Mache ich die Aufnahme wieder aus: Stabile 60 FPS.
    Sämtliche Aufnahmeprogramme müssen sich in das Spiel hocken um den Bildspeicher abgreifen zu können. Ob der nun von DirectX kommt oder OpenGL oder Glide. Auf jedenfall vergeht Zeit bei dem Auslesen des Bildspeichers.
    Wenn das nicht schnell genug arbeitet, dann drückt das auf die FPS, weil das Spiel bzw. Anwendung beschreibt diesen Speicher, während das Aufnahmeprogramm davon zu langsam ließt. Resultat ist dann das die FPS während der Aufnahme sinkt.

    Faktoren können sein:
    - Zu wenig CPU Speicher
    - Zu langsame Festplatte bei der Aufnahme
    - Falsch eingestellte Aufnahme Encoder
    - Falsch eingestellte Aufnahme Programme
    - Überschätzung der Wunschaufnahme im Zusammenhang der verbauten Hardware (z.B. Aufnahme in zu hoher FPS und Auflösung, obwohl das vllt. die Festplatte nicht schafft und die Aufnahme somit ausbremsen tut.


    VSync am besten immer aus, sofern man mehr FPS haben will. Das ist oft ein Grund warum Spiele bei Aufnahmen arg in Framedrops enden. Beißt sich halt mit dem Hooking des Aufnahmeprogrammes oft.



    Ich würde jetzt einfach mal darum bitten eine genauere Angabe zu machen wie du deine Programme eingestellt hast zwecks MSI AB oder OBS.
    Einmal zwecks Codecs und einmal die Programmeinstellung im Allgemeinen.
    Dazu zählen Sachen wie Farbraum, Farbmatirx, Kern Nutzung der Codecs (Threads), Mögliche Konvertierungseinstellungen, FPS Angaben, Ob Voll oder Begrenzter Bereich, Kompressions Methode, usw.

    Das ist alles wichtig.
    Auch interessant wäre wie schnell deine Aufnahmefestplatte ist beim Schreiben.

    Die Aufnahmefestplatte sollte am besten nur mit Schreiben beschäftigt sein.
    Das heißt es sollte eine separate Festplatte sein die nur damit beschäftigt ist und wo nix anderes drauf läuft. Weder Spiele, noch dein Windows. Damit die Festplatte nicht ausgebremst wird bei der Aufnahme durch mögliche Lese Cyclen.



    Klingt erst mal alles viel. Aber da sollten wir mal anfangen. Hilft nix wenn du sagst das es so und so nicht geht und dabei irgendwo woanders die Schlinge hast die gelöst werden müsste. ^^ Kann schließlich keiner Hellsehen. ^^