Korrekter Farbraum von Videos in AVISynth + Reperaturvorgang Lagarith für AVISource

  • Das Problem dazu wurde im Thread [ Video-Tutorial ] MeGUI -- x264 - bester Encoder, beste Videoqualität auf Youtube ausgebig diskutiert und es scheint ein kurioses Problem zu sein das momentan meinen Erkenntnisstand nur [lexicon]DXTory[/lexicon] betrifft und den [lexicon]Camtasia[/lexicon] Recorder unter der Verwendung von [lexicon]Lagarith[/lexicon].


    Und zwars geht es um die Farbräume. Ein Fehler der mir vor die Augen gekommen war, als ich meine Aufnahmen in AVISynth bearbeitet habe. Mit [lexicon]Lagarith[/lexicon] eingestellt auf Mode: YV12 und "Use Multithreading" gab mir AVISynth korioser Weise ein RGB32 Signal raus für das Video. Passiert bis jetzt wie gesagt wie ich es gehört habe bei [lexicon]DXTory[/lexicon] und dem [lexicon]Camtasia[/lexicon] Recorder.


    Der Fehler wird mittels AVISource verursacht. Sprich das Video wird falsch geladen.


    Korrektur bei [lexicon]Lagarith[/lexicon] Aufnahmen unter der Verwendung von AVISource in AVISynth
    Der [lexicon]MSI Afterburner[/lexicon] scheint aber damit richtig umgehen zu können, wobei ich dann auch ein Reperaturablauf erstellen konnte.


    Noch mal als Hinweis bezüglich des [lexicon]Lagarith[/lexicon] Codecs:


    Offset D4 - D7


    RGB32 = 0000 0000
    YUY2 = 0100 0000
    YV12 = 0200 0000


    Diese sollten dann auch in AVISynth so geladen werden dann.


    Fehlerhafte Werte schwanken im Offset D4 - D7 zurzeit bei Aufnahmen mit [lexicon]DXTory[/lexicon] und mit dem [lexicon]Camtasia[/lexicon] Recorder unter Verwendung des [lexicon]Lagarith[/lexicon] Mode: YV12 + "Use Multithreading" werden die Aufnahmen falsch in AVISynth geladen als RGB32 anstatt YV12 wie eingestellt.


    Das sollte noch mal als Übersicht dienen.


    Reperatur mit nem Hexeditor an jeweiligen Offset wie oben genannt.


    Korrektes Laden der Videos mittels FFVideoSource


    Statt mit AVISource das ganz zu laden, nehmt am besten FFVideoShow. Dort wird auch der Farbkanal richtig erkannt.
    Anwenden tut ihr FFVideoShow wie folgt im Skript bei MeGUI:


    Code
    LoadPlugin("D:\MeGUI\tools\ffms\ffms2.dll")
    FFVideoSource("clip.avi")


    Der FFShow Plugin sollte bei [lexicon]MeGUI[/lexicon] mit dabei sein ^^

  • Also das heißt, man muss immer jedes Script Editieren o0
    da ich es irgendwie nicht in mein Default Script zum Laufen bekomme, zumindest wenn ich mit

    Code
    <input>


    arbeite da man ja nur 3 Optionen hat beim erstellen eines Script wo dann autoamtisch avisource genommen wird

  • Alternative ist eben, das betroffene Video vor dem [lexicon]Encodieren[/lexicon] in [lexicon]MeGUI[/lexicon] nochmals in [lexicon]VirtualDub[/lexicon] mit [lexicon]Lagarith[/lexicon] @YV12 zu encodieren; dann erkennt Avisynth den Farbraum ebenfalls korrekt.
    Oder eben nicht mit Lagarith/dem [lexicon]DXTory[/lexicon] [lexicon]Codec[/lexicon] aufnehmen, sondern mit [lexicon]ffdshow[/lexicon] YV12 Uncompressed.

  • Also das heißt, man muss immer jedes Script Editieren o0
    da ich es irgendwie nicht in mein Default Script zum Laufen bekomme, zumindest wenn ich mit

    Code
    <input>


    arbeite da man ja nur 3 Optionen hat beim erstellen eines Script wo dann autoamtisch avisource genommen wird


    Statt AVISource den File Indexer Button benutzen, queue drücken, den idx job machen lassen. Dann ganz normal fortfahren.


    AVISource sollte nicht automatisch genommen werden. Die Auswahl mit den 3 Buttons solltest du per Tools -> [lexicon]AVS Script Creator[/lexicon] -> Video Input immer bekommen. Wäre arg seltsam wenn nicht.

  • AVISource sollte nicht automatisch genommen werden. Die Auswahl mit den 3 Buttons solltest du per Tools -> [lexicon]AVS Script Creator[/lexicon] -> Video Input immer bekommen. Wäre arg seltsam wenn nicht.


    ja mit dem Automatisch genommen, habe ich mich wohl etwas falsch ausgedrückt, was ich damit sagen wollte das ich es automatisch nehme, aufgrund von den vorhandenen optionen,
    und es macht nichts, dass die Dateiendung so komisch aus aussieht? - *.avi.ffindex -


  • ja mit dem Automatisch genommen, habe ich mich wohl etwas falsch ausgedrückt, was ich damit sagen wollte das ich es automatisch nehme, aufgrund von den vorhandenen optionen,
    und es macht nichts, dass die Dateiendung so komisch aus aussieht? - *.avi.ffindex -


    Die .ffindex ist das Resultat des indexing (idx) jobs.


    Diese Datei enthält die Infos wo in der zu decodierenden Videodatei die Keyframes liegen und evtl noch paar andere Infos.

  • da ich damit noch nicht gearbeitet habe, wird die endung, am fertigen Video die selbe sein, oder eine Stink normale Avi,


    wenn es eine Avi ist, ist das nicht das selbe die [lexicon]x264vfw[/lexicon], also ein [lexicon]x264[/lexicon] in einer avi?


    wie ihr merkt finde ich sind da ein wenig Ungereimtheiten für mich =/

  • Da wird nix geändert weiter, außer die Laderoutine mit was deine Rohaufnahme in AVISynth geladen wird korrekt. Der Rest bleibt gleich wieder und du bekommst ganz normal nach dem [lexicon]Encodieren[/lexicon] deine [lexicon]MP4[/lexicon] Datei mit [lexicon]x264[/lexicon] encodiert. Sprich [lexicon]MKV[/lexicon] ^^

  • hmm okay, ich werde wohl mal einen kleinen Test machen, mal schauen ob ich für mich einen unterschied feststellen kann ^^

  • hmm dem kann ich zur Zeit erst einmal nicht zustimmen, vielleicht bin ich auch gerade etwas unbeholfen xD


    nach dem Encode der *.avi.ffindex bekomme ich eine avs und eine *.avi.ffindex
    in der avs steht dann nun Folgendes


    mein Script sieht derweil so aus (default)


    leider keine mkv und es "ploppte" 1-2 mal das Fenster auf, welches erscheint, wenn man das Video ladet, und dann die Preview und das script speichern kann..

  • Warum lädst du FFMPEGSource2 doppelt?


    In die Presets gehört nichts was Bestandteil fürs Laden von Inputs ist.


    Ergo kein AVISource, ergo kein FFVideoSource, ergo kein FFMS2 laden.


    Dafür ist <input> zuständig.


    Zitat

    leider keine mkv und es "ploppte" 1-2 mal das Fenster auf, welches erscheint, wenn man das Video ladet, und dann die Preview und das script speichern kann..


    Nach dem idx job landest zurück im Script Creator und kannst das script speichern. ja.


    Und dann kannste queuen und normal encoden wie auch bei avisource.

  • hmm da du gerade editiert hattest ^^ (hatte es nicht gesehen)
    also ich habe einen ganzen Arbeitsschritt mehr bevor ich zum eigentlichen ergebniss komme, mal sehen ob es lohnt ^^

  • Ist deine [lexicon]HDD[/lexicon] nicht eh leistungsfähig genug?


    Sonst nimm doch FFDShow: Uncompressed @ YV12.


    Dieses wird auch von DirectShow (AVISource) korrekt in YV12 ausgegeben und nicht auf RGB32 gewandelt.

  • hmm gute frage, zur Zeit drüfte sie bei ungefair ~100mb/s liegen bei 1,3TB freiem Speicher,
    nur habe ich gesehen, dass eine Kurze Aufnahme 2-3 Minuten doch schon gut an Speicher "Gefressen" hat

  • Eben eine [lexicon]Dxtory[/lexicon] Datei geöffnet: Die Offsets waren bereits auf 0200 0000 somit ist es für [lexicon]Dxtory[/lexicon] nun unnötig. Bei [lexicon]FRAPS[/lexicon] Aufnahmen funktioniert das ganze leider nicht, da muss man halt mit ConvertToYV12() oder dem ResampleHQ YV12 ran, aber eins steht fest: Einen richtigen Farbraum wird man bei einer [lexicon]FRAPS[/lexicon] Datei nach dem Encoding nicht mehr haben, außer evtl. mit FFVideoSource, da eine 20 Minuten Datei einzulesen dauert lt. Sagaras ja aber ne halbe Stunde..

Jetzt mitmachen!

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