Teilbereiche filtern

  • Ich habe alle Scripte auf o gestellt wie gesagt. Bitte lesen.

    Aber ich habe dennoch das Problem das mit Staxrip abstürzt in der vorschau mit MDegrain2 und 2x ApplyRange

    LoadPlugin("D:\Tools\DVD Tools\StaxRip\Applications\AviSynth plugins\ffms2\ffms2.dll")
    SetMTmode(5,6) SetMemoryMax(512) FFVideoSource("test.mkv")
    ConvertToYV12()
    LoadPlugin("D:\Avisynth\ColorMatrix\ColorMatrix.dll") ColorMatrix(mode="Rec.709->Rec.601")
    BicubicResize(720,544,0,0.5)
    Import("D:\Avisynth\MDegrain\MDeGrain2.avs") MDeGraintwo()
    AssumeFPS(25, 1, true)
    Import("D:\Avisynth\Staub\Captain.avs") ApplyRange(12959,12986,"CaptainsOrder")
    Import("D:\Avisynth\Staub\Captain.avs") ApplyRange(13075,13122,"CaptainsOrder")

    Einmal editiert, zuletzt von trecordings (6. März 2014 um 22:48)

  • Tja, mit ClipClop müsste man nur einmal MDGrain aufrufen – egal in wie viele Teile man das Video zerhacken will...


    Edit:
    Beispiel.

    Code
    ungefiltert=last
    
    
    #hier MDGrain usw...
    
    
    ClipClop(ungefiltert, last, SCmd="R1(100,200); R1(500,600")

    Das ersetzt die Frames 100 bis 200 und 500 bis 600 mit den mit MDGrain behandelten. Das kann man beliebig fortsetzen. Zur Kontrolle empfiehlt sich show=true.

    7 Mal editiert, zuletzt von Skiller (6. März 2014 um 23:20)

  • @ Skiller

    Wird ja aufbau ist
    Import("D:\Avisynth\Staub\Captain.avs") ApplyRange(12959,12986,"CaptainsOrder")
    Import("D:\Avisynth\Staub\Captain.avs") ApplyRange(13075,13122,"CaptainsOrder")

    Import("D:\Avisynth\MDegrain\MDeGrain2.avsi") # also aufs ganze video.

    Habe den fehler wohl gefunden. War das SetMTMode(2) was wohl ApplyRange nicht verkusen kann.

    Und Du hast leider zu ClipClop kein Beispiel genannt.
    http://forum.doom9.org/showthread.php?t=162266

    Da steht viel blah blah ich blicke da nicht durch..

    Wenn Du mir da helfen willst wie wäre es mit den beispielen von mir ein Beispiel Script.

    Einmal editiert, zuletzt von trecordings (6. März 2014 um 23:07)

  • Warum importierst du das selbe Skript zwei Mal? Und auch noch mitten im Quelltext während der Verarbeitung?

    Importiert wird jedes Funktionsskript nur ein Mal. Möglichst gleich am Anfang, noch bevor jede Clipverarbeitung stattfindet. Solche Skripte haben nur die Aufgabe, Funktionen zu deklarieren. Ablaufrelevante Sachen gehören da nicht rein.

    Um das auseinanderzusortieren, müsste man deinen kompletten aktuellen Stand kennen. Der von vor 5 Posts wird wohl schon nicht mehr zutreffen...

    Und über den Sinn der ganzen Angelegenheit haben wir noch nicht mal nachgedacht; noch geht es nur darum, dass keine Fehlermeldung kommt, aber nicht, ob die Filterung überhaupt zweckmäßig ist.

    Und mit StaxRip arbeite ich eh nie. Da ist immer das Risiko, dass es selber noch was ins Skript einfügt.
    __

    P.S.: Zwei Funktionen mit Leerzeichen dazwischen in eine Zeile ... geht das überhaupt? Es gibt Fälle, da gehört ein Zeilenumbruch dazwischen, und andere, da werden zwei mit Punkt verkettet. Aber so wie es bei dir steht, würde ich es vermeiden, da würde ich eigentlich mit einer Fehlermeldung rechnen.

  • LigH

    Import("D:\Avisynth\Staub\Captain.avs").ApplyRange(12959,12986,"CaptainsOrder")

    Ergibt simpel einen Error

    Punkte gehen bei mir simpel nicht.

    Entweder Untereinander oder in einer Zeile mit Leezeichen.

    Skiller

    Zitat

    Lass es dir eine Lehre sein. MT Mode 2 verträgt sich mit vielen Filtern nicht.

    Wenn Du eine bessere Idee hast ich bin ganz ohr. Aber MT sein lassen ist keine. :)
    MDGrain profitiert deutlich davon.

    Zitat

    ungefiltert=last

    #hier MDGrain usw...

    ClipClop(ungefiltert, last, SCmd="R1(100,200); R1(500,600")

    Das erscheint mir nicht so praktisch.

    Der MDGrain soll auf das ganze Video. Nur das Captain soll auf bereiche.

    Wenn das richtig verstehe würde bei ClipClop das Captain auf das ganze Video laufen und dann die Frames ersetz oder?

    Wäre doch langsamer MDGrain und Captain auf das ganze Video anzuwenden. Statt nur MDGrain.

    Oder habe ich da einen Denkfehler drin?

    So sieht das derzeit aus
    LoadPlugin("D:\Tools\DVD Tools\StaxRip\Applications\AviSynth plugins\ffms2\ffms2.dll")
    SetMTmode(5,6) FFVideoSource("test.mkv")
    Import("D:\Avisynth\Staub\Captain.avs")
    ConvertToYV12()
    LoadPlugin("D:\Avisynth\ColorMatrix\ColorMatrix.dll") ColorMatrix(mode="Rec.709->Rec.601")
    BicubicResize(720,544,0,0.5)
    ApplyRange(12959,12986,"CaptainsOrder")
    ApplyRange(13075,13122,"CaptainsOrder")
    SetMTMode(2)
    Import("D:\Avisynth\MDegrain\MDeGrain2.avs") MDeGraintwo()
    AssumeFPS(25, 1, true)

    6 Mal editiert, zuletzt von trecordings (6. März 2014 um 23:36)

  • Das erscheint mir nicht so praktisch.

    Der MDGrain soll auf das ganze Video. Nur das Captain soll auf bereiche.

    Na, dann stell es doch einfach um. Das Beispiel war eher allgemein gehalten, um die Funktion zu erklären.

    Also, das hier wäre dann das, was du willst.


    - MDGrain wird auf alles angewendet
    - die gewünschten Bereiche werden zusätzlich mit CaptainsOrder() gefiltert

    Wäre doch langsamer MDGrain und Captain auf das ganze Video anzuwenden. Statt nur MDGrain.


    Nein, es werden nämlich nur die Frames gefiltert, die auch benötigt werden.

    3 Mal editiert, zuletzt von Skiller (6. März 2014 um 23:51)

  • LigH

    Import("D:\Avisynth\Staub\Captain.avs").ApplyRange(12959,12986,"CaptainsOrder")

    Ergibt simpel einen Error

    Das liegt daran, dass Import als Ergebnis keinen Clip herausgibt; du kannst damit also keine andere Funktion verketten, die dessen Ausgabe als Eingabe benutzen würde.

    Im Sinne der Übersicht also besser untereinander. Und: Alles, was mit Load{C}Plugin oder Import hat, kommt möglichst in die ersten Zeilen des Skriptes, bevor die Videoquelle geladen wird, damit das schön aufgeräumt bleibt. Dazu müssen aber die Inhalte der zu importierenden Skripte so aufgebaut sein, dass auch darin nur Plugins geladen oder Funktionen deklariert, aber keine Filterung direkt angewendet wird.

    Übersichtlich und aufgeräumt wäre bei mir so:

    Wichtiger Hinweis noch: Es kann durchaus zu unterschiedlichen Ergebnissen führen, wenn man Filter in unterschiedlicher Reihenfolge anwendet. Da ich den Zweck von CaptainsOrder nicht verstehe, kann ich mir auch leider nicht vorstellen, ob das besser vor oder nach einem Entgrießen angewendet werden sollte. Unter Umständen müsste dann dafür der MT-Modus mehrmals gewechselt werden. Wenn eine Funktion im MT-Modus 2 nicht korrekt arbeitet, hast du ja auch noch die Modi 3..6 zum Probieren.

  • Das Filter nicht mit MT laufen ist ja nicht so selten. Das muss ich dann austesten. Ohne scheinen sich Applyrange und MDGrain nicht zu stören.

    Heute schau ich mal das ClipClop. Ich muss auch mal schaun ob es Performance unterschiede gibt zwischen ClipClop und Applyrange.

    Der Ausbau der Script liegt etwas an Staxrip. Man kann da Funktionen einbauen. Das man es Optimieren kann ist klar. Werde ich vermutlich mit der umstellung nun auch mal machen.

    Ich bin auch etwas gebranntes Kind. Zb vertragen sich bestimmte DLL nicht. Daher lade ich meistens die Plugins nicht am anfang vor dem Souce Filter sondern im AVSI am Anfang. So weiß ich auch welche DLL zu welchen Script gehören.

    Zur Info. Ich will vielleicht eine alte Serie etwas Remastern.
    Ob das wirklich dann Praktikabel ist. Das muss ich dann mal schaun.

    Das Captain Script ist das hier.
    http://forum.gleitz.info/showthread.php…3727#post423727

    Das entfernt Staub und dreck in der Source. Auch wenn es nicht perfekt ist. Ab und zu nützlich.

    Bei alten Serien. Vielleicht mache ich aber noch eine Thread auf. Ob es nicht noch besseres gibt alte Aufnahmen um Staub und Dreck zu bereinigen. Irgendwie muss die Industrie das ja auch machen. :)

Jetzt mitmachen!

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