einige Anfängerfragen zu AviSynth

  • Zitat

    Du musst die richtige Fieldorder fuer Dein Video ermitteln und selbige AviSynth via AssumeTFF()/AssumeBFF() mitteilen. Danach versuch das mal:


    Wie bekomm ich die richtige Fieldorder raus und was ist da jetzt anders oder besser wie vorher?

    Zitat

    Das seh ich jetzt erst: LanczosResize(656,544,0,13,720,546)
    Dieses ungerade schneiden ist nicht optimal.


    Also ich habe den Film in 720x572 gecaptured, 572 deshalb, weil im doom9 guide stand, dass man damit weniger dropped Frames bekommt. Dann habe ich oben und unten 10 Frames weggeschnitten und das ganze wie im Gleitz guide in FitCD eingegeben, müsste doch eigentlich was richtiges bei rauskommen?

    thx Tom

  • Zitat von :Tom:

    Wie bekomm ich die richtige Fieldorder raus

    Steht schon unzählige Male im Forum...:

    Code
    ##### TFF-Test #####SegmentedAVISource("e:\capture1\capture.avi")AssumeTFF()SeparateFields()Bob()##### TFF-Test ########## BFF-Test #####SegmentedAVISource("e:\capture1\capture.avi")AssumeBFF()SeparateFields()Bob()##### BFF-Test #####

    Sollte eines der beiden Scripte beim Ansehen mit VirtualDub ruckelnde Bilder erzeugen, dann weißt du, das die Field-Order falsch war.

    Wenn du dir TDeintBob u. ReinterlaceBob aguckst, dann siehts du, dass du je nach Fieldorder tff=false bzw. tff=true setzen musst. Je nach dem wird dann jeweils AssumeBFF bzw. AssumeTFF innerhalb TDeintBob u. ReinterlaceBob verwendet:


    @ Viperzahn:
    Wir hatten schon mal in einem anderen Thread diskutiert sowohl für TFF als auch für BFF SelectEvery(4,0,3) zu verwenden (s. ReinterlaceBob() oben).

    Bzw. siehe auch hier: http://forum.gleitz.info/showpost.php?p=179330&postcount=6


    Zitat

    das ganze wie im Gleitz guide in FitCD eingegeben, müsste doch eigentlich was richtiges bei rauskommen?

    habe auch schon festgestellt, dass FitCD/Fit2Disc z.T. ungerade croppt und bessere das stets auf gerade aus...

    cu, grua

  • >Fieldorder ermitteln
    Wofuer ist denn Bob() hier gut?
    Ob die Bewegung kontinuierlich vorwaerts oder vorwaerts/rueckwaerts laeuft, sieht man doch schon nach AssumeXFF().SeparateFields()


    Zitat

    Wir hatten schon mal in einem anderen Thread diskutiert sowohl für TFF als auch für BFF SelectEvery(4,0,3) zu verwenden (s. ReinterlaceBob() oben).


    Ja, wenn ich den Hintergrund richtig verstanden habe, macht das nur so Sinn.
    Nach TDeint(mode=1) wird bei BFF in Frame 0 das Top Field (Zeile 0,2,...) interpoliert, in Frame 1 das Bottom Field (Zeile 1,3…), wahrend es bei TFF umgekehrt ist. Wenn man das mit SeparateFields() zerlegt, legt AviSynth je nach Paritaet entweder das Bottom Field auf Frame 0 (BFF), oder das Top Field (TFF). So das Frame 0 nach der Separierung immer aus originalen, Frame 1 und 2 immer aus interpolierten, Frame 3 immer aus originalen Zeilen besteht.

    Gruss,
    Viperzahn

    Es ist zu einer gesellschaftsfaehigen Unsitte geworden, dass jeder etwas von sich geben muss, auch wenn er keinerlei Ahnung hat. Und wer vielleicht mal 30 Sekunden nachdenkt, bevor er etwas sagt, dem wird weniger geglaubt als jemanden, der sofort gutklingenden Muell von sich gibt.
    -> http://people.freenet.de/dynamischerpha…esse_halten.mp3

  • Na ja, mit Bob haste halt wieder die Ursprungsauflösung - einen andere Grund kenne ich auch nicht ;)

    D.h. wenn ich dich richtig verstehe stimmt du überein, dass SelectEvery(4,0,3) sowohl für TFF als auch BFF das richtige Ergebnis liefert - dann ist ja alles klar - deiner Interpretation stimme ich zu.

    cu, grua

  • Habe das Script jetzt abgeändert, scheint TFF zu sein:

    LoadPlugin("C:\Programme\AviSynth 2.5\plugins_ext\TDeint.dll")
    LoadPlugin("C:\Programme\AviSynth 2.5\plugins_ext\Convolution3D.dll")
    LoadPlugin("C:\Programme\AviSynth 2.5\plugins_ext\MSharpen.dll")
    #
    SegmentedAVISource("E:\video_temp\capture.avi","YUY2")
    Dissolve(Trim(0,68603),Trim(71004,79777),Trim(88643,103271),5)
    #
    AssumeTFF()
    TDeint(mode=1,mthreshL=3,mthreshC=3,type=1)
    Convolution3D(0, 32, 128, 16, 64, 10, 0)
    MSharpen(strength=100,threshold=10,highq=true,mask=false)
    ConvertToRGB24()
    LanczosResize(656,544,0,14,720,546)
    SeparateFields()
    GetParity() ? SelectEvery(4,1,2) : SelectEvery(4,0,3)
    Weave()
    AddBorders(32,16,32,16)
    FadeIn2(15)
    FadeOut(4)

    Habe da jetzt aber trotzdem noch ein zwei Fragen:

    Zitat

    habe auch schon festgestellt, dass FitCD/Fit2Disc z.T. ungerade croppt und bessere das stets auf gerade aus...


    - habe die 13 auf 14 aufgerundet , ist das ok?
    - bevor ich jetzt meinen PC stundenlang umsonst rechnen lasse, kann ich dann in der mit TMPGEnc erstellten Datei auch Kapitel auf der DVD setzen oder muss ich da noch was machen (außer dann beim authoren)?
    - hat es eigentlich eine besondere Bedeutung, dass in meinem Script MSharpen rot angezeigt wird?

    thx Tom

  • wie oben erwähnt statt GetParity() ? SelectEvery(4,1,2) : SelectEvery(4,0,3) unabhängig von der Fieldorder immer SelectEvery(4,0,3) verwenden. Das Reinterlacen sieht dann also sowohl bei TFF als auch BFF so aus:
    SeparateFields().SelectEvery(4,0,3).Weave()
    Die Abfrage von GetParity kannst du dir also sparen.

    Aufrunden von 13 auf 14 ist OK. Ich würde aber sogar vorschlagen gleich auf 544 statt auf 546 zu croppen, denn dann fällt kein vertikales Resizing an, was der Qualität stets zu gute kommt. Weiters kann man statt 14 gleich 16 croppen = Makroblock-optimiert.
    LanczosResize(656,544,0,16,720,544)
    Du croppst somit oben 16 und unten 16 statt wie ganz ursprünglich oben 13 und unten 17 (LanczosResize(656,544,0,13,720,546)). Daher zur Sicherheit kontrollieren ob die eine Zeile unten die jetzt weniger weggeschnitten wird auch keinen Mist enthält.

    Zum Rest (msharpen u. TMPGEnc) müssen sich andere äußern.

    cu, grua

  • Es scheint generell nicht sinnvoll zu sein, mit AviSynth in der Skalierungsfunktion zu schneiden:


    Man vergleiche bei V1 und V2 den oberen und unteren Rand.


    >habe die 13 auf 14 aufgerundet , ist das ok?
    Ich wuerde da gar nichts von Hand fummeln, sondern mit FitCD via Crop Maske und den round to Slidern so lange rumprobieren, bis das Ergebnis glatt ist - sonst kann es nen kraeftigen Aspect Error geben.

    >hat es eigentlich eine besondere Bedeutung, dass in meinem Script
    >MSharpen rot angezeigt wird?
    Wo?

    Gruss,
    Viperzahn

    Es ist zu einer gesellschaftsfaehigen Unsitte geworden, dass jeder etwas von sich geben muss, auch wenn er keinerlei Ahnung hat. Und wer vielleicht mal 30 Sekunden nachdenkt, bevor er etwas sagt, dem wird weniger geglaubt als jemanden, der sofort gutklingenden Muell von sich gibt.
    -> http://people.freenet.de/dynamischerpha…esse_halten.mp3

  • Rot - im AviSynth-Editor von VirtualDubMod?

    Na, du meine Güte - der kann ja nun auch nicht alle AviSynth-Funktionen kennen; erst recht nicht die, die erst seit Version 1.5.10.1 im Kernel oder in Plugins entwickelt wurden: Für letzteres müsste erst mal eine Funktion existieren, mit der Plugins abgefragt werden könnten, welche Funktionen sie denn anbieten; aber die gibt's noch nicht (vermutlich geplant für AviSynth 3.x).

  • Zitat von Viperzahn

    Ich wuerde da gar nichts von Hand fummeln, sondern mit FitCD via Crop Maske und den round to Slidern so lange rumprobieren, bis das Ergebnis glatt ist - sonst kann es nen kraeftigen Aspect Error geben.

    Na ja, wenn man LanczosResize(656,544,0,16,720,544) statt LanczosResize(656,544,0,13,720,546) benutzt, also von 720x544 statt von 720x546 auf 656x544 resizt, so wird man das ohne nachzumessen kaum erkennen...

    Zitat von Viperzahn

    Es scheint generell nicht sinnvoll zu sein, mit AviSynth in der Skalierungsfunktion zu schneiden

    Ach ja - wurde glaub ich kürzlich erst mal diskutiert - OK, dann eben
    Crop(0,16,720,544)
    LanczosResize(656,544)


    cu, grua


  • >Ach ja - wurde glaub ich kürzlich erst mal diskutiert - OK, dann eben
    Ja, die Diskussion war mit mir, und damals sind wir, meine ich, darauf gekommen, das es nur am unteren Rand fehlerhaft ist, mit dem Skript oben sieht man, das es sowohl am unteren als auch am oberen Rand zu Fehlern kommt.


    Zitat

    Na ja, wenn man LanczosResize(656,544,0,16,720,544) statt LanczosResize(656,544,0,13,720,546) benutzt, also von 720x544 statt von 720x546 auf 656x544 resizt, so wird man das ohne nachzumessen kaum erkennen...


    Ich wuerde Dir den Aspect Error gerne ausrechnen, nur komme ich mit seinen Grundwerten schon auf einen AE von 6,2% oder 8,6% (je nach generischem oder ITU Source PAR), so das das bisschen was, durch den manuellen Eingriff dazu kommt, den Hasen auch nicht mehr fett macht. Andererseits hab ich vom capturen auch ueberhaupt keine Ahnung, kann sein, dass ich fuer so eine komische und krumme Aufloesung wie 720x572 falsch rechne:

    Generischer PAR 45/48:
    720 * 48/45 / 546 = 1,40659
    656 * 128/117 / 544 = 1,31926
    AE = 100-1,31926*100/1,40659 = 6,2%

    ITU-R BT.601 PAR 117/128:
    720 * 128/117 / 546 = 1,44266
    656 * 128/117 / 544 = 1,31926
    AE = 100-1,31926*100/1,44266 = 8,6%

    Gruss,
    Viperzahn

    Es ist zu einer gesellschaftsfaehigen Unsitte geworden, dass jeder etwas von sich geben muss, auch wenn er keinerlei Ahnung hat. Und wer vielleicht mal 30 Sekunden nachdenkt, bevor er etwas sagt, dem wird weniger geglaubt als jemanden, der sofort gutklingenden Muell von sich gibt.
    -> http://people.freenet.de/dynamischerpha…esse_halten.mp3

  • Zitat von Viperzahn

    nur komme ich mit seinen Grundwerten schon auf einen AE von 6,2% oder 8,6% (je nach generischem oder ITU Source PAR), so das das bisschen was, durch den manuellen Eingriff dazu kommt, den Hasen auch nicht mehr fett macht.

    Jo - seine ursprünglichen Crop+Resize Werte hatte ich erst gar nicht hinterfragt - mir gings nur um den geringfügigen manuellen Feinschliff.

    Zitat von Tom

    Also ich habe den Film in 720x572 gecaptured, 572 deshalb, weil im doom9 guide stand, dass man damit weniger dropped Frames bekommt. Dann habe ich oben und unten 10 Frames weggeschnitten und das ganze wie im Gleitz guide in FitCD eingegeben, müsste doch eigentlich was richtiges bei rauskommen?

    Tom, poste doch mal den Screenshot von FitCD mit dem du die Crop+Resize Werte ermittelt hast - die sehen tats. etwas krumm aus...

    Frage dazu: hast du tats. 572 als Capture-Auflösung eingestellt (= nix gut!) oder haste in 576 gecaptured und gleich beim capturen vertikal 4 Zeilen gecroppt (= wäre Ok)?

    cu, grua

  • Zitat

    Tom, poste doch mal den Screenshot von FitCD mit dem du die Crop+Resize Werte ermittelt hast - die sehen tats. etwas krumm aus...
    Frage dazu: hast du tats. 572 als Capture-Auflösung eingestellt (= nix gut!) oder haste in 576 gecaptured und gleich beim capturen vertikal 4 Zeilen gecroppt (= wäre Ok)?


    Ich habe den Screenshot mal angehängt.
    Ja ich habe beim capturen in VD unter Video->set custom format 720x572 eingestellt, habe ich wahrscheinlich im doom9guide was falsch verstanden...

    Habe jetzt halt auch schon die erste Hälfte mit TMPGEnc bearbeitet (habe irgendwie keine mail wg neuer AW bekommen). Hmm, wären dann 74Std umsonst gewesen :hm:

    thx Tom

  • Wenn Pixelform 1 (1:1 Monitor) stimmt, also wenn Dein Capture-AVI in VitualDub nicht verzerrt ist, war das Umrechnen mit TMPGEnc auch nicht umsonst ;)

    Gruss,
    Viperzahn

    Es ist zu einer gesellschaftsfaehigen Unsitte geworden, dass jeder etwas von sich geben muss, auch wenn er keinerlei Ahnung hat. Und wer vielleicht mal 30 Sekunden nachdenkt, bevor er etwas sagt, dem wird weniger geglaubt als jemanden, der sofort gutklingenden Muell von sich gibt.
    -> http://people.freenet.de/dynamischerpha…esse_halten.mp3

  • Du hast in Breite 720 gecapturt. Hat dein AVI dann links und rechts einen schwarzen Rand, jeweils 8 bis 9 Pixel breit od. sind die 720 bis zum Rand hin mit Bild ausgefüllt?
    Falls kein Rand, dann arbeitet deine Karte bei 720 nicht "korrekt" - ich würde dann auf jeden Fall mit 704x576 capturen. Das kannst du dann i.d.R. direkt in eine DVD704 wandeln indem du die unsauberen Ränder croppst und durch AddBorders wieder auffüllst.
    Falls bei 720 die Ränder jedoch vorhanden sind, dann kannst du auch in 720x576 capturen und und direkt in eine DVD720 wandeln (croppen/addborders wie oben beschrieben).

    Wenn du es genau wissen willst, dann müsstest du das active capture window deiner Karte bestimmen. Siehe:
    http://www.doom9.org/index.html?/capture/start.html
    und
    http://forum.gleitz.info/showthread.php?t=21566

  • Also einen schwarzen Rand habe ich rechts und links aber woher weiß ich jetzt ob das mit den 572 ok war, zeigt mir VD an ob das Video verzerrt ist (wg des Posts von Viperzahn)?

    thx Tom

  • Du kannst im Output-Vorschaufenster von VDub den Aspect auf 4:3 einstellen (rechte Maustaste).
    Bei VDub Video->Filters resize auswählen. Neue Weite x Höhe auf 720x572, bleibt also unverändert. Bei "Expand frame 720x576, also die gecroppten 4 Zeilen wieder schwarz dazu. Nun kannst Du das Video mal im Output-Fenster betrachten wenn die Figuren normal aussehen, also nicht leicht seitlich gequetscht dann sind die 720x576 im Ratio 4:3.
    Wenn die Figuren leicht gequetscht sind, Aspect auf 4:3 lassen, in VDub die Werte Video->Filters->Resize->Cropping anwählen links u. rechts jeweils 8 Pixel croppen. Video->Filters->Resize-Configure->Neue WeitexHöhe auf 704x572, Expand frame 704x576. Nun müßte das Video im Output-Fenster normal aussehen, d. h. die Motionarea (das Rechteck ohne die schwarzen Ränder) ist im Seitenverhältnis 4:3.

    Gruß, billy

    Edit: Noch 'n Tip: Such dir runde Gegenstände aus, um festzustellen ob der Aspekt stimmt.

    Edit:Ich habe gerade festgestellt, daß Du 720x572 als Capture-Auflösung genommen hast, u. nicht 4 Zeilen gecroppt hast. In diesem Fall mußt Du oben auf 720x576 bzw. 704x576 resizen u. nicht das Fenster expandieren u. letterboxen.

    Intelligente Menschen sind immer freundlich (Jean Paul Sartre)

  • Hmm, das Problem ist, dass ich die ersten 2 Std ja schon mit TMPGEnc umgewandelt habe und der Aufwand jetzt schon größer als erwartet ist (hatte halt gesagt ich mach's ohne zu wissen, was da auf mich zu kommt..).
    Das Hauptproblem ist ja die schlechte Qualität und die dürfte ja durch den "kleinen" (?) Aspect Error auch nicht viel schlechter werden wie sie onehin schon ist oder?

    Denke ich werde es so lassen und die zweite Hälfte dann in 720x576 capturen, dann müsste ja alles stimmen oder?
    Wie müsste dan das LanczosResize aussehen, wen nich einfach mal standardmäßig oben & unten 16 Pixel (wg Makroblock?) wegschneide, damit ich dann ein Script habe, das ich immer verwenden kann?
    LanczosResize(656,544,2,16,716,544)
    AddBorders(32,16,32,16)
    ?

    thx & Frohe Ostern,
    Tom

  • Zitat von :Tom:

    Denke ich werde es so lassen und die zweite Hälfte dann in 720x576 capturen, dann müsste ja alles stimmen oder?
    Wie müsste dan das LanczosResize aussehen, wen nich einfach mal standardmäßig oben & unten 16 Pixel (wg Makroblock?) wegschneide, damit ich dann ein Script habe, das ich immer verwenden kann?
    LanczosResize(656,544,2,16,716,544)
    AddBorders(32,16,32,16)
    ?

    Ich würde versuchen überhaupt nicht zu resizen, damit erhältst du die beste Qualität - vertikales Resizing verschlechtert oft das Bild. Also capture in 720x576, dann falls erforderlich nur die unsauberen Ränder croppen und durch AddBorders ersetzen. Das Ergebnis in DVD wandeln. Wenn du willst kannst du ja makroblock-optimiert croppen - zumindest MOD8 wäre sicherlich empfehlenswert.

  • Du meinst also das LanczosResize ganz weg lassen und nur mit crop in meinem Fall unten 8 o. 16 Pixel wegschneiden und dann mit addborders auffüllen?
    Also so:
    Crop(0,0,0,16) bzw. CropBottom(16)
    AddBorders(0,0,0,16)

    oder?
    Dann brauch ich auch nicht mehr oben auch 16 Pixel wegschneiden um es gleichmäßig zu machen?

    thx & Frohe Ostern,
    Tom

Jetzt mitmachen!

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