Grüne Ausgabe bei Arbeit mit Fields

  • Wenn ich in AviSynth auf einen Testclip (YUV12 direkt von DVD - PAL Interlaced 4:3) irgend einen Filter anwende, der mit Fields arbeitet hab ich nachher nur noch ein grünes Bild.

    2 ganz simple Beispiele:

    1.
    AviSource("clip.avi")
    AssumeFieldbased()
    AssumeTFF()
    SeparateFields()

    2.
    AviSource("clip.avi")
    Bob()

    Die Filter in VirtualDubMod funktionieren dagegen ohne Probleme, allerdings lässt sich damit nicht besonders gut deinterlancen, nach field bob ist dort etwa schluss.

    Ich bin ein Teil von jener Kraft, die stets das böse will und stets das gute schafft. :D

  • Nachdem du das Interlaced-Video gefiltert hast, fürgst du die Fields vor der Ausgabe doch sicher noch wieder zu einem Frame zusammen? Sollte aber dennoch keine Ursache sein - dann läuft halt ein halb so hohes Video mit doppelt so vielen fps... Hauptsache, auch das halb so hohe Video hat eine gerade Höhe, was für YV12 notwendig ist (das Original muss also eine durch 4 teilbare Höhe gehabt haben).

    Übrigens sollte man Interlaced-Video möglicherweise am Ende nicht als YV12 ausgeben (weil ja bei YV12 die Farbigkeitsinformationen in einem 2x2-Quadrat gemittelt werden, das würde bei Interlaced-Video zu häßlichen Mischfarben zwischen den beiden Fields führen); statt dessen könnte es empfehlenswert sein, ganz am Ende noch ein "ConvertToYUY2(interlaced=true)" zu verwenden.

    Soweit zumindest meine Erfahrung; vielleicht haben Interlaced-Profis dazu noch andere Meinungen.

  • Ich beabsichtige so oder so ein 50 fps Video Stream zu erstellen, da mir SmoothDeinterlacer die beste Methode zu sein scheint, nachdem ich mehrmals bis der Kopf rauchte im Video Basics Guide und auf 100fps.com alles mögliche durchstudiert hab. Ist eine Art hybrider Filter aus Bob und "blend".

    Aber das war ja nicht das Hauptthema.

    An die Farbräume hab ich mal wieder nicht gedacht, aber ich hab grad bemerkt dass ich für smoothdeinterlacer sowieso in YUV2 konvertieren muss.

    Allerdings mein AviSynth dann folgendes: "ConvertToYUV2 does not have a named argument called interlanced"

    Es funktioniert aber auch ohne den interlanced Parameter, allerdings ist so laut Guide das upsamplen buggy.

    ----------------------------------------------------
    LoadPlugin("D:\GORDIA~1\mpeg2dec3.dll")
    #mpeg2source("G:\Plastic Little\Plastic Little.d2v", CPU=6, iPP=true)
    mpeg2source("G:\Plastic Little\Plastic Little.d2v")
    ConvertToYUY2()
    SmoothDeinterlace()
    crop(12,2,696,572)
    ----------------------------------------------------

    So bekomm ich ein Movie in angenehmer Qualität.
    Das Problem mit den grünen Frames wär nun wenigstens behoben - danke!

    Interlaced Videomaterial ist mühsam zu handhaben :-|

    EDIT:
    Zu früh gefreut :(, SeperateFields etc. funktioniert nur wenn ich mit mpeg2source arbeite wie in meinem script da oben. verwende ich AVISource zusammen mit einem 2000 Frames clip den ich per directstream copy erstellt hab, bleibt das bild grün, egal ob in YUV12 oder YUV2.

    Dabei wollte ich mit dem Ausschnitt eigentlich unterschiedliche Codec Settings testen, ohne immer den ganzen Film encoden zu müssen. Werd das wohl besser über Trim() machen, dann brauch ich keine spezielle Datei dafür.

    ABER WARUM SIND DIE DIE FRAMES DANN GRÜN?

    Ich bin ein Teil von jener Kraft, die stets das böse will und stets das gute schafft. :D

  • Es wäre nett von dir, wenn du mit den Abkürzungen der Farbräume (den FourCCs) etwas exakter umgehen würdest; es sind doch nur je vier Zeichen, so weit sollte die Aufmerksamkeit doch reichen! Man verwechselt sie ja vielelicht schon, wenn sie richtig geschrieben sind - aber wenn sie falsch geschrieben werden, dann sieht man überhaupt nicht mehr durch...
    __

    Wenn du gleich beim Laden der AVI-Datei einenbestimmten Farbraum festlegen willst, kannst du den gleich beim Laden festlegen, um diesen Farbraum sicherzustellen.

    AviSource("clip.avi", true/false, "YV12") | AviSource("clip.avi", true/false, "YUY2")
    __

    Und die Behauptung "ConvertToYUY2 does not have a named argument called interlanced" finde ich sehr sonderbar: Seit AviSynth 2.51 oder 2.52 existiert dieser Parameter. Arbeitest du etwa noch mit AviSynth 2.0x? Dann kannst du überhaupt nicht YV12 als Farbraum verwenden!

    Quelle: http://www.avisynth.org/index.php?page=Convert+Deutsch

  • Zitat von LigH

    Es wäre nett von dir, wenn du mit den Abkürzungen der Farbräume (den FourCCs) etwas exakter umgehen würdest; es sind doch nur je vier Zeichen, so weit sollte die Aufmerksamkeit doch reichen! Man verwechselt sie ja vielelicht schon, wenn sie richtig geschrieben sind - aber wenn sie falsch geschrieben werden, dann sieht man überhaupt nicht mehr durch...

    Sorry, das war reine Schlampigkeit meinerseits, jedenfalls werd ich vermehrt drauf achten.

    Das gilt ebenfalls für mein zweites Problem, ist wirklich peinlich dass ich das nicht früher gesehen habe.. interlaNced kennt avisynth wohl kaum. An dem Tag hatt ich es irgendwie mit der Rechtschreibung.

    Danke für den Tipp mit dgbob. Werd mir mal anschauen wie das Plugin arbeitet (welche der vielen Methoden) und wie das resultat aussieht.

    Ich bin ein Teil von jener Kraft, die stets das böse will und stets das gute schafft. :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!