Deinterlacing vor Filteranwendung ?

  • aehm, Du darfst keinen puren Tomsmocomp benutzen.

    nimm dafuer lieber den einfachen bob:

    separatefields().tomsmocomp(-1,-1,0) EDIT das ist falsch!

    richtig ist:

    function Tomsbobstupid(clip c)
    { input=c.separatefields.tomsmocomp(1,-1,0)
    a = getparity(input) ? input.selectodd : input.selecteven
    b = getparity(input) ? input.selecteven : input.selectodd
    a=stackvertical(a.crop(0,0,0,1-a.height),a.crop(0,0,0,-1))
    output = getparity(input) ? interleave(b,a) : interleave(a,b)
    output.assumeframebased
    }

    oder halt tmcbob()

    danach den deshaker laufen lassen, und dann functionierts auch mit selectevery(4,0,3)

  • Danke scharfis brain

    für den Tipp.

    Sollte es Deine Zeit erlauben, wäre es schön, wenn Du Dir meinen TEST 2 nochmals anschauen könntest.

    Zitat

    Anwendung des DeInterlacers DeComb

    Avisource ("D:\Avi Dateien\Film.avi")
    # ConvertToYUY2() #
    Telecide(order=1,guide=2)

    Ich kann nicht verstehen, warum die wackelnde Avi mit diesem Skript total beruhigt wurde und noch qualitativ gut aussieht. Es handelt sich auch noch um eine Sonnenuntergangs-Szene am Meer bei schwierigem Licht. Du wirst vielleicht denken, ist doch gut so, er solls doch so lassen und Ruhe geben. Aber mich würde nunmal der Grund interessieren.

    Die Szene wurde deinterlaced und dadurch entwackelt und sieht gut aus !

    Hängt mir zu hoch.

    Hast Du vielleicht eine Erklärung ?

    Gruß Herbie

    Gruß
    Herbie

  • Du setzt immer viel zu viel vorraus @ scharfis_brain :(

    Herbie
    Um herauszufinden, ob Deine Quelle TFF oder BFF hat, erstelle folgende AviSynth Skripte und schau Dir jeweils eine Szene mit viel Bewegung in VirtualDubMod an.

    1.

    Code
    QuelleAssume[b]T[/b]FF()SeparateFields()

    2.

    Code
    Quelle
    Assume[b]B[/b]FF()
    SeparateFields()

    In der Regel (wenn da nicht irgendeine gemeine Fieldperversion am Werke war ;)) wird eines dieser Skripte ein extrem ruckendes, das andere ein leicht auf und ab hüpfendes Ergebnis liefern. Das ruckende zeigt an, das die gewählte Fieldorder für diese Quelle falsch wäre. Würde also 1. ruckeln, wäre die richtige Fieldorder = Bottom Field First (BFF).

    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 setzt immer viel zu viel vorraus @ scharfis_brain :(

    ich weiss.

    aaaaber: nach ca. 2,5k (plus 1.5k aus dem alten Forum) Beitraegen hat man nicht unbedingt Lust alles wieder breitzukauen.

    ich seh das so:

    ich gebe einen (meist) hieb- und stichfesten, kompakten hinweis, der:
    - mir schreiberei spart.
    - den user animieren soll, die Forumsuche zu benutzen.
    - und somit eigeninitiative foerdert
    - vllt. andere user anlockt, die sache ein wenig mehr aufklaeren (wie Du z.B.) (User helfen Usern :) )
    - zur not kann er ja immernoch nachfragen, wenn er noch nicht dahintergekommen ist :zunge: (nun bist Du ihm und mir aber zuvorgekommen, also der gewuenschte Effekt erreicht)

    [oder bin ich hierbei zu arrogant ?!?)

  • Arrogant finde ich das auch nicht. Ich bin nur nicht so sicher, ob Du Dir damit wirklich Schreiberei sparst, da die Folgefragen ja vorprogrammiert sind - grade in einem so komplexen Bereich wie der Behandlung von interlaced Material.

    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

  • Hallo,

    tmcbob() oder kernelbob(), sind das eigenständige Filter, bzw. wo kann ich die denn downloaden, ich konnte nur den DG Bob finden ?

    Gruß Herbie

    Gruß
    Herbie

  • Es steht mehrfach in diesem Thread, wie man zu den Funktionen tmcbob() und kernelbob() kommt. Ein bißchen Transferleistung sollte drin sein, wenn man im Bereich Videobearbeitung auf einen grünen Zweig kommen will :motz:

    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

  • Dann bin ich anscheinend zu blöd, denn ich konnte eine genaue Antwort hierauf in diesem Thread nicht finden.

    Mit kernelbob() bzw. tmcbob() im Skript, geht bei mir rein garnichts. Da gibt es nur eine Fehlermeldung, in der von No Function der beiden gesprochen wird.

    Zitat

    Ein bißchen Transferleistung sollte drin sein

    Woher willst Du denn wissen, was ich leiste und was nicht ?
    Ich sitze, und da kommen bestimmt jetzt schon einige Tage zusammen, an dieser Sache und mir hat schon mehrere Male der Kopf geraucht. Ich bin nunmal nicht der Experte, so wie Du. Natürlich kann ich ja auch mal was übersehen oder nicht richtig verstehen.

    Bitte höflichst um Nachsicht.

    Haben wir denn nicht alle mal klein angefangen ?

    Wollte auf meine Frage einfach nur eine Antwort erhalten.

    Warum No Function ?


    Herbie :huh:

    Gruß
    Herbie

  • >eine genaue Antwort hierauf in diesem Thread nicht finden.
    Wir haben in diesem Thread die Funktionen zur Vereinfachung in separate AVS Dateien exportiert und per import() ins jeweilige Skript geholt.

    Mach Du folgendes:
    Lade Dir restore24 runter, entpacke es irgendwo hin und schreib ins Skript:

    Code
    Import("LW:\Pfad\restore24\intellibob.avs")
    LoadPlugin("LW:\Pfad\restore24\plugins\TomsMoComp.dll") # nur für tmcbob erforderlich
    LoadPlugin("LW:\Pfad\restore24\plugins\kerneldeint140.dll") # nur für kernelbob() erforderlich


    Danach kannst Du tmcbob() und/oder kernelbob() benutzen.

    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

  • Hi Herbie, ich konnte in diesem Thread die Funktionen auch nicht finden.
    Da hab ich mal oben auf der Seite den Menüpunkt "Suchen" angeklickt u. den Suchbegriff "kernelbob()" eingegeben, dann kamm unter anderem das zum Vorschein:
    http://forum.gleitz.info/showthread.php…kernelbob%28%29

    Vielleicht ist das das Richtige :ja:

    Gruß

    billy

    Aah sehe grad, daß Viperzahn auch einen Link angegeben hat.

    Intelligente Menschen sind immer freundlich (Jean Paul Sartre)

  • Zitat von scharfis_brain

    okay, gut:

    hier das script:

    anstatt des lanczos4resize(...) kann man natuerlich auch einen X-beliebigen denoiser verwenden!

    so richtig verstehe ich noch nicht, was es überhaupt bringt, da die interlaced-Streifen ja immer nochvorhanden sind.. ich sehe auch nicht wirklich nen Unterschied..

    [Blockierte Grafik: http://www.uni-forum-2002.de/Downloads/dbgt_interlaced.png]

  • Du hast dort lediglich das Video interlaced resized, jedoch nicht deinterlaced! Das war auch nicht Absicht jener Funktion von Scharfis_Brain.

    Lediglich ein Telecide bewirkt nur das dynamische Phaseshifts behandelt werden. Und falls zudem so eingestellt, wird einfach wie Fielddeinterlace deinterlaced.
    Deine Anime ist aber zu großer Sicherheit Normgewandelt und daher solltest du eben, wie von Viperzahn angesprochen die restore 24 funktion verwenden. Wenn nicht, dann enkodiere interlaced mit der Funktion, welche dir Scharfis_Brain gegeben hat, Resultat hast du ja mit Pics gepostet. Alles andere resultiert in 25fps mit blendings und bringt ein unheimlich tolles Ghosting später am TV mit sich. ;)

  • hmm.. die interlaced-Streifen sind nun weg, bei kompletten Bildbewegungen läuft es nun aber nicht flüssig.. früher habe ich immer einfach den VDUB-Deinterlace-Filter eingesetzt.. hat mich aber nicht wirklich überzeugt, es lief aber über flüssig.
    Wenn ich ährlich bin, habe ich noch nicht so den Durchblick, was Scharfis_Brain's Script eigentlich driekt macht.. :nein: bzw. was muss ich dannach noch machen um die interlace-streifen zu entfernen..

    übrigens, die Anime-Quelle ist Hybrid NTSC interlaced 29.970fps. Wäre für jede weitere Hilfe dankbar.

    EDIT: Ich könnte natürlich Scharfis_Brain's Script nehmen, danhinter noch die Noise/RauschFilter (oder kommen die vor dem reinterlace) einfügen und dann mit Xvid "interlaced" encoden.. Nur gehen dabei die Streifen weg?

Jetzt mitmachen!

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