Brauche Hilfe bei Kernelbob

  • Hi. Ich bin momentan dabei meine HDTV-Aufnahmen in XVID umzuwandeln. Da diese Interlaced sind muss ich natürlich Deinterlacen. Jets hab ich hier im Forum schon öfters gelesen das man mit Hilfe von einem Bobber bessere Ergebnisse erzielt.

    Also versuche ich momentan dies anzuwenden und hab mir TMCKernelbob dazu rausgesucht. Mein AviSynth-Script sieht also folgendermassen aus:

    Zitat

    LoadPlugin("C:\PROGRA~1\GORDIA~1\DGMPGDec\DGDecode.dll")
    LoadPlugin("C:\PROGRA~1\GORDIA~1\AviSynthPlugins\UnDot.dll")

    import("C:\Programme\GordianKnot\VirtualDubMod\TMCKernelBob.avsi")

    mpeg2source("D:\HD-Aufnahmen\Test\test.d2v")
    TMCKernelBob(true)
    crop(4,0,1914,1080)
    LanczosResize(1280,720)
    Undot()

    In der TMCKernelbob.avsi hab ich die Pfade zu den DLL´s entsprechend geändert. Jets wenn ich das ganze In GordianKnot reinlade und anfange zu encoden kommt folgende Fehlermeldung:

    Zitat

    Avisynth open failure
    KernelDeint: you must specify the order parameter (0=bff, 1=tff)
    (C:\Programme\GoardianKnot\VirtualDubMod\TMCKernelBob.avsi, line 25)

    Die Zeile 25 in der TMCKernelBob.avsi sieht folgendermassen aus:

    Zitat

    a = Interleave(x, y).Weave.SwapFields().KernelBob(th, 0).Crop(0, 0, 0, -1).AddBorders(0, 1, 0, 0)

    Ich hab jets durch suchen nicht rausgefunden was ich da ändern muss. Könntet ihr mir da vielleicht weiterhelfen ? Ich blick da noch nicht so durch. Ich hänge die ganze TMCKernelBob.avsi mal mit an.

    Danke im Voraus

  • Frage: Kann es sein das das ganze nur mit AVI-Dateien geht und nicht mit mpeg ? d.h. doch dann ich müste das ganze interlaced encoden und dann das AVISynth-Script drüber laufen lassen oder ?

  • Also die Forumsuche hab ich benutzt !!! Ich frag immer erst wenn ich wirklich nimmer weiter weis!

    Danke für den Link aber den Thread kannte ich schon ;) Ich hab jets das 2te Scipt von scharfis_brain probiert und die Kerneldeint140.dll statt die kerneldeint.dll benutzt so wie er auch. Und jetzt geht es :)

    Ich krieg doch jets mit TMCBob ein 50 FPS Progressiv-Material oder ? Also muss ich jets mit HalfFPSBob das ganze wieder auf 25 FPS runterrechnen ?!?


    Dennoch danke !

  • geeignete Bobber sind TMCBob, besser aber langsamer TDeintBob und noch besser aber auch noch langsamer mvBob.

    Ein Bobber macht 50fps wie du bemerkt hast. Wenn du das in XviD lässt und nur am PC abspielen willst, kannst du das vmtl. lassen. Willst du aber auch an SAPs abspielen, so musst du das mit HalfFFpsBob (macht übrigens nichts anderes als SelectOdd()) wieder auf 25fps bringen, denn PAL-SAPs können m.W. nur 25fps.

    Bist du dir auch sicher, dass die Aufnahmen tats. wirklich interlaced sind? Zuvor auf jeden Fall mal untersuchen ob nicht nur ein Phase Shift vorliegt und eine dieser beiden Telecide Varianten evtl. bereits die Kämme besieitgt:
    Telecide(order=0,guide=2,post=0)
    Telecide(order=1,guide=2,post=0)

    Falls Telecide nichts bringt, dann macht das mit dem Bobber nur Sinn, wenn du auch temporal filterst. Also z.B.
    SmartBobber()
    TemporalerRauschfilter()
    Resizing()
    SelectOdd()

    Bei deinem Script macht das aber keinen Sinn:
    mpeg2source("D:\HD-Aufnahmen\Test\test.d2v")
    TMCKernelBob(true)
    crop(4,0,1914,1080)
    LanczosResize(1280,720)
    Undot()

    Da reichts ggf. wenn du statt dem Bobber einfach auf 25fps deinterlaced via TomsMoComp od. TDeint.

  • Danke erstmal für deine Antwort.

    Bei meinem Material handelt es sich um 1080i also auf jeden Fall interlaced. Wenn ich die mpv´s in VLC ankucke sieht man deutliche Kammeffekte.

    Ich hätte schon gerne 25fps weil ich ja für 50fps doppelt soviel Platz brauche und der Platzbedarf bei HDTV eh schon hoch ist.

    Was macht ein temporaler Filter ? Das meiste vom Script hat GordianKnot erstellt, ich hab dann nur die Zeilen für den TMCBob eingefügt. Deswegen kann es auch gut sein das das ganze nicht sehr sinnvoll ist :) Hab noch nicht sehr viel Plan von AviSynth-Scripten. Wollte nur ein sauberes Deinterlacing haben und ich habe halt hier im Forum gelesen das mit Hilfe von Bobber´n das beste Ergebniss sowie eine gute Schärfe erreicht wird. Deswegen mein Interresse daran. Ich möchte natürlich meine HDTV-Movies so gut wie möglich hinkriegen :)

  • Vorab: ist mir gerade aufgefallen, dass du nach dem Resizen entrauscht (Undot). Würde ich davor!

    Nun zu temporal:
    Ich meinte mit temporalem Filter einen temporalen Rauschfilter.

    Rauschfilter versuchen aus dem Video (wie der Name schon sagt) Rauschen zu entfernen. Das tritt v.a. bei analogen Captures auf. Bei dir dürfte es sich ja vmtl. um einen DVB Stream handeln und da wird Entrauschen vmtl. nicht notwendig sein. Außer es handelt sich um irgendeinen so alten Schinken (50er Jahre Western oder so), welcher schon original volle rauscht.

    Aber auch bei DVB könnten Rauschfilter Sinn machen, falls man das Bild etwas weichzeichnen möchte um Bitrate zu sparen, also Artefakte bei geringen Bitraten zu vermeiden.

    Bei Rauschfiltern unterscheidet man nun spatiale (wirken nur innerhalb eines Frames, sind also "räumlich" wirkende Filter; Beispiel: UnDot) und temporale (wirken über mehrere Frames hinweg, also "zeitlich"; Beispiel TemporalCleaner). Und es existieren auch kombinierte (also temporal+spatial wirkende) Rauschfilter wie z.B. Convolution3D od. PeachSmoother.

    Rauschfilter gibts wie Sand am Meer - einfach mal danach hier im Forum suchen.

    Wenn deine Quelle aber nur sehr wenig Rauschen aufweist und du ausreichend Bitrate zur Verfügung hast, dann lass bei DVB ruhig den Rauschfilter weg. Musst du einfach mal unterschiedliche Varianten/Filter testen u. die Ergebnisse vergleichen.

    Und welcher Deinterlacer dir am besten gefällt: teste mal die folgenden Varianten und achte auf die Güte der Entfernung der Kämme, Beibehaltung scharfer Kanten, flüssige Bewegungen, ...:

    Variante mit Bobber:
    SmartBob() # mvBob() od. TDeintBob() od. TMCBob()
    Crop()
    UnDot()
    Resize()
    AddBorders()
    SelectOdd()

    Variante mit 25fps Deinterlacer:
    Deinterlacer() # TDeint(mode=0) od. TomsMoComp(-1,5,0)
    Crop()
    UnDot()
    Resize()
    AddBorders()

    Bei TDeint gibts noch ein paar weitere Parameter mit welchen herumzuspielen sich evtl. lohnt. Wurde auch schon ein bisschen hier im Forum diskutiert (Forumsuche).

  • Ich denke ich kann den Rauschfilter weglassen. Es handelt sich hierbei um neuere Produktionen aufgenommen über DVB-S. Rauschen ist nur bei genauem hinkucken sichtbar und auch nur bei stehenden dunkleren Szenen.

    Ich hab bis jets 3 Möglichkeiten ausprobiert:

    Field Deinterlacer: Bei meinem Test-Material in einer schnellen Szene kämme sichtbar. Dazu mittleres Ruckeln.

    TomsMoComp: Genauso wie bei Field Deinterlacer in der selben Szene kämme sichtbar dazu Ruckeln. Bilde mir ein das Bild ist weicher als bei Field-Deinterlacer.

    TCMBob aus dem High-Deninterlacing-Thread: Bild wirkt irgendwie schärfer als die anderen davor. Auch ist das Ruckeln nicht mehr so stark aber immer noch leicht vorhanden.

    Mehr hab ich noch nicht getestet. Werde damit am Sonntag weitermachen und euch meine Ergebnisse posten bzw mit weiteren Fragen löchern :)

    mfg AlexDozer

    edit: Was ist den das eigentlich für ein Bobber den ich im VLC unter Deinterlacing einstellen kann mit dem Namen Bob. Das ist doch ein Bobber oder ?

  • Ich nehme jetzt mal ganz einfach an VLC verwendet den selben "Stupid"-Bobber wie der Standard-AviSynth-Befehl Bob(). Ist aber eine reine Vermutung. Letzterer ist für deine Zwecke aber nicht wirklich geeignet, kannst ja mal gucken...

    Deine Ergebnisse interessieren natürlich sehr :)

    TDeint findest du übrigens hier: http://forum.doom9.org/showthread.php…ighlight=tdeint

    Wenn es dir auf Schärfe ankommt (und du viel Zeit hast), versuch unbedingt mvBob von Scharfis_brain!

  • Ich hab jets noch ein bischen rumgetestet.

    TDeint: Genauso ruckelig wie bei Field-Deinterlacer und TomsMoComp. Von der Schärfe ungefähr so wie TMCBob. Insgesamt nicht sehr überzeugend.

    mvBob: Ergebniss kann ich nicht sagen weil ich abgebrochen hab. Dauert extrem lange. Für HDTV-Umwandlungen nicht zu gebrauchen.

    Am Besten find ich momentan Telecide(order=0,guide=2,post=0). Da ruckelt es so gut wie gar nicht. Leider aber nicht so scharf wie TMCBob. Kann man da noch was machen hinsichtlich der Schärfe bei Telecide ???

    mfg AlexDozer

  • Am Besten find ich momentan Telecide(order=0,guide=2,post=0). Da ruckelt es so gut wie gar nicht. Leider aber nicht so scharf wie TMCBob. Kann man da noch was machen hinsichtlich der Schärfe bei Telecide ???

    Wann das der Fall ist machst Du irgendwas falsch oder hast nen Knick in der optik ;) .

    wenn Telecide(..., Post=Null) kein combing (kämme) mehr übriglässt, dann ist das das beste, was die quelle hergibt.
    alles andere macht sie nur kaputt!

  • Zitat von scharfis_brain

    Am Besten find ich momentan Telecide(order=0,guide=2,post=0). Da ruckelt es so gut wie gar nicht. Leider aber nicht so scharf wie TMCBob. Kann man da noch was machen hinsichtlich der Schärfe bei Telecide ???

    Wann das der Fall ist machst Du irgendwas falsch oder hast nen Knick in der optik ;) .

    wenn Telecide(..., Post=Null) kein combing (kämme) mehr übriglässt, dann ist das das beste, was die quelle hergibt.
    alles andere macht sie nur kaputt!

    Ich hab das ganze nochmal mit dem Orginal verglichen. Es ist scharf. Man sieht das bei meinem Test-File nur wenn öfters hinkuckt weils ne Unterwasser-Aufnahem ist. Es handelt sich hierbei um ne Dokumentation über See-Schlangen.

    mfg AlexDozer

  • Ja kann ich. Ich stell euch einfach die 45Sek File zur Verfügung mit dem ich die ganzen Bobber und Deninterlacer getestet habe. Sind aber 92 MB !!! Unc ich hab leider keinen Webspace so das ihr das von mir runterladen müsst. Ich habs ausgerechnet müste ca. 40min dauern. Sorry für die Umstände.

    ftp://alexdozer.dyndns.org:21

    Falls die URL nicht gehen sollte sagt Bescheid. Müste aber eigentlich ohne Probleme funktionieren

  • 92MB sind mir leider zuviel - falls das aber jetzt zw. euch evtl per PM weiterlaufen sollte, so bitte ich AlexDozer dann hier das Resumee zu posten - würde mich extremst interessieren - Danke!

  • Haahaa.
    Wir werden wohl auch in zukunft nicht von Normwandlungen vorschont bleiben!

    Code
    import("D:\x\restore24.avs")mpeg2source("h.d2v",cpu=4)crop(4,0,1914,1080)LanczosResize(1280,height)a=separatefields().reduceby2()b=tdeint(mode=1,tryweave=true). lanczosresize(a.width,720)restore24(a,b)

    damit erhalte ich ein wunderbar progressives, ruckelfreies, und geisterbildfreies video mit 23.976 fps.

    wenn auch die geschwindigkeit irgendwo bei 1 fps rangiert.
    zumindes auf meinem 1.4 GHz Athlon.

    schneller ginge es hiermit, es hat dann aber schlechtere qualität:

    Code
    import("D:\x\restore24.avs")
    mpeg2source("h.d2v",cpu=4)
    crop(4,0,1914,1080)
    BilinearResize(1280,height)
    a=separatefields()
    b=r24kernelbob(7).bilinearresize(a.width,720)
    restore24(a,b)

Jetzt mitmachen!

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