AviSynth und V-Dub für Dumme...?

  • Die zusätzliche Zeile bringt leider nichts. Immer noch die gleiche Fehlermeldung. Aber wenn das eh nicht das Wahre ist, dann brauche ich da ja auch erst mal nicht weiter testen.
    Neues Sample.avi in HuffYUV ist unterwegs...

  • Diese Zeile muss was bringen!
    Die anderen Deinterlacer arbeiten wahrscheinlich auch nur im YV12-Farbraum!

    Poste mal bitte dein komplettes Skript.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Ich habe nie behauptet, dass TDeint() nützlich ist bei dir, es war nur ein Beispiel, wie Skripte funktionieren.

    Warte immer noch auf die HuffYUV-Datei.

    Warum ist dieser Thread eigentlich in "Fortgeschrittenes AviSynth Scripting"?

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • tach auch !

    Nochmal zur Eingangsfrage:
    ECHTES Interlaced De-interlacen OHNE Qualitätsverlust

    GEHT NICHT !!!!!!!!!!!!!

    Du verlierst bis zu 50% der Bewegungsinformationen.
    Einzig als VIDEO-DVD Interlaced kannst Du die Qualy mehr oder weniger erhalten.
    Alles andere ist MURKS.(Punkt)

    Gruss BergH

  • Ja, das ist halt immer so eine Sache. Aber ich will halt einen Film erstellen, der hinterher auf DVD gebrannt werden soll, aber auch auf dem PC anzusehen sein soll, ohne das ich an einen autom. Deinterlacer des Betrachtungsprogramms gebunden bin. Daher vorher schon deinterlacen und hinterher auch progressiv auf DVD brennen.
    So und hier jetzt endlich das neue Sample.avi:

    http://www.yousendit.com/transfer.php?a…A69106D7716628B

    Einfach auf "download" klicken...

  • Nexus1980

    Sieht doch gut aus.

    Bin im Moment wiedermal selber dran,obs doch nicht möglich ist,mit Avisynth bessere Resultate zu bekommen als mit den Filtern des Procoders.
    Anbei ein Beispielscreen.........nach Abarbeitung der Scripte mit Procoder 2,oder Procoder Express,lege ich die Files auf dieTimelines von Edius und schalte mit jeweils einem Mausklick die Spuren um.Bild wird am angeschlossenen Kontrollmonitor beaugapfelt.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Ne demo vom Procoder 2.........:ani_lol:
    Gibts nicht.
    Da ist ein USB Dongle bei,wie auch bei der alten 1.5 Version.

    Wie bergH schon geschrieben hat,DeInterlacen ist Murks.
    Ausser wenn man Filter einsetzen möchte zum Entrauschen UND danach das Ganze wieder in der richtigen Reihenfolge auf interlaced "zurückstellt"
    Habs hier auch probiert.
    Avisource
    TDeint,beide Halbilder als Einzelbilder
    Gefiltert mit LRemove Dust
    So etwa...
    TDeint(Mode=1)
    LRemoveDust(4,4)
    separatefields().selectevery(4,0,3).weave()

    Interlaced sollte so bleiben,da hilft Dir auch nicht der schweinelangsame MVBob.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Danke für die Hilfe, das Script sieht für meine Bedürfnisse schon einmal sehr professionell aus! Was bekomme ich denn dann für ein Video? Progressiv mit 25 fps? Weil das brauche ich ja, um es am PC betrachten zu können. Auch wenn es zu lasten der Quali geht.
    Ach ja, wenn ich mich nicht ganz verlesen habe, dann kann ich Procoder 2 doch als DEMO bekommen - siehe Anhang.

    Und wo bekomme ich dieses "LRemoveDust", bzw. wie binde ich es dann mit ein. Einfach irgendwo in den Avisynth Ordner kopieren? Aber wie gesagt, wichtig ist vor allem - DEinterlaced.

    Ach ja, hab hier auch noch ein schönes Script gefunden, wenn ich das überhaupt abschätzen kann. Kann ich damit auch was machen?


    LoadPlugin("L:\Programme\AviSynth\plugins\TDeint.dll")
    LoadPlugin("L:\Programme\AviSynth\plugins\Masktools.dll")
    LoadPlugin("L:\Programme\AviSynth\plugins\mt_masktools.dll")
    LoadPlugin("L:\Programme\AviSynth\plugins\LimitedSupport_09Jan06B.dll")
    LoadPlugin("L:\Programme\AviSynth\plugins\Repair.dll")
    LoadPlugin("L:\Programme\AviSynth\plugins\RemoveGrain.dll")
    Import("L:\Programme\AviSynth\plugins\LimitedSharpenFaster.avs")
    Import("L:\Programme\AviSynth\plugins\LRemoveDust.avs")
    AviSource("d:\frauenkirche2.avi")
    TDeint(type=3)
    LRemoveDust(2,2)
    LimitedSharpenFaster()
    crop(4,0,698,564)
    GaussResize(704,520,p=75)
    AddBorders(0,28,0,28)

  • Zitat

    Was bekomme ich denn dann für ein Video? Progressiv mit 25 fps?


    Nein.

    Versuch doch mal die Demo zu laden.Würde mich wundern,wenns die Version 2 ist.
    Vermute mal dass es die Uralte V.1.25 ist.

    Zitat

    LimitedSharpenFaster()


    Oooh Jee..Glaube das war/ist von Didée.
    Hatte lange gebraucht bis ich das zum laufen gebracht hatte.
    Bei einer Quelle war das Resultat top,bei einer anderen Quelle [VHS Film in SP/LP/EP auf einem Band] dagegen wieder nicht.:mad:

    Zitat

    ........Kann ich damit auch was machen?


    Wenn Du filtern musst,dann Ja.Weiss jetzt im Moment aber nicht welche V.von Masktools hier vonnöten ist.

    Lade mal die Demo von Procoder.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Ich denke schon, dass das die 2.0 Version ist. Steht ja auch direkt darüber "So erhalten sie ProCoder 2.0". Würde es allerdings nur ungern ausprobieren, da man sich hierfür komplett registrieren muss und das würde ich "nur zum testen" ungern machen.

    Nach den ganzen Hilfen und Vorschlägen, kannst du mir vielleicht sagen, wie ich jetzt am besten mein Ziel erreiche:

    - 25fps deinterlaced
    - möglichst gute Quali (was halt geht)
    - möglicherweise auch für DV-Material (auch abgewandeltes Script möglich)

    Und wenn, wie (Script und Plugins)???

    Fände es toll, wenn ich da was hätte, mit dem ich dann arbeiten könnte.


    Ach ja und wenn du das obrige Script zum laufen bekommen hast, wie sieht es denn dann jetzt auch? Und kannst du vielleicht die Plugins und so anhängen?

  • Zitat

    kannst du mir vielleicht sagen, wie ich jetzt am besten mein Ziel erreiche

    Habs mal nachgestellt.
    Ein Beispiel

    LoadPlugin("C:\AviSynth 2.57\TomsMoComp\TomsMoComp.dll")
    clip = AVISource("H:\dv avi.avi")
    return clip.TomsMoComp(-1,5,1)

    Anschliessend nach HD 720p gewandelt.Siehe Screen.

    Tomsmo... als Zip....lies auch die Beschreibung.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • Das ist jetzt für das DV-Material? Hab es mal getestet. Da meckert er leider wieder rum, das er nur YUY2 und YV12 unterstützt. Muss ich da wieder eine Zeile einfügen und wenn ja, welche und wo?
    Und wozu muss ich das dann in HDV konvertieren. Das Ausgangsmaterial hat ja auch nur 720x576. Und dann habe ich 25fps deinterlaced?

    Und wie sieht das Script für das Hi8 Material am besten aus um das gleiche Ziel zu erreichen?

    Ich weiß, ich stelle hier wieder Fragen über Fragen. Aber ich selbst bin ohne eure Hilfe leider total aufgeschmissen und würde für die alten Videos nur sehr ungern so einen "Standard" Deinterlacer nehmen.
    Also an dieser Stelle möchte ich ein ganz großes Lob für die Mühen aussprechen, finde ich super!!!

  • Zum Farbraumproblem:
    Je nachdem, mit welchem Codec, encodet wurde, hat es einen Farbraum mit dem ein Filter nicht zurechtkommt.

    Zum Beispiel hat ein HuffYUV-Video den Farbraum: YUV.
    Wie du siehst unterstützen manche Filter nur die Farbräume YUY2 und YV12, deshalb musst du den Farbraum ändern. Wie das geht, hast du ja schon gelernt:
    ConvertToYV12()
    Mit dieser Funktion änderst du den Farbraum des Videos und danach (d.h. nach diesem Funktionsaufruf im Skript) kannst du alle Filter benutzen, die im YV12-Farbraum arbeiten.

    Ist dir mit diesen Infos klar, was du machen sollst?

    AviSynth gibt dir ja immer eine Fehlermeldung und sagt dir, welcher Filter nicht mit dem Farbraum zurecht kommt.

    Noch ein Hinweis: das Ändern des Farbraum bringt Qualitätsverluste mit sich, wenn auch geringe. Diese Tatsache kannst (und musst) du aber vernachlässigen.

    Falls du mehr darüber wissen willst, kannst du bei Wikipedia was über Farbräume lesen, oder auch mal den YUV-Artikel anschauen. Leider gibt es in unserem Wiki noch keinen Artikel darüber.

    Übrigens: Der in ffdshow integrierte HuffYUV-Encoder unterstützt auch YV12! Vielleicht solltest du für weitere Captures diesen benutzen.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Ja, ich hab das auch schon mal versucht zu ändern, dann kam aber leider auch eine Fehlermeldung. Mein Script sah dann wie folgt aus:

    LoadPlugin("C:\AviSynth 2.57\TomsMoComp\TomsMoComp.dll")
    clip = AVISource("H:\dv avi.avi")
    ConvertToYV12()
    return clip.TomsMoComp(-1,5,1)

    Fehlermeldung: Invalid arguments to function "ConvertToYV12"

    Tja und wie das so ist, war ich dann mit meinem Latein schon wieder am Ende...

  • Du speicherst das Video in der Variable "clip"! Deshalb geht das so nicht.

    Es gibt 2 Möglichkeiten:
    1. Du öffnest das Video und es ist quasi global verfügbar, das Skript sieht dann so aus:

    Code
    LoadPlugin("C:\AviSynth 2.57\TomsMoComp\TomsMoComp.dll")AVISource("H:\dv avi.avi")ConvertToYV12()TomsMoComp(-1,5,1)

    2. Du öffnest das Video und speicherst das Video in einer Variablen, dann musst du explizit schreiben, auf was eine Funktion angewendet werden soll, in diesem Fall geht das ja nur auf die Variable "clip". Dies geht mit dem "."-Operator. Außerdem muss das vom Filter bearbeitete Video wieder in der Variable "clip" gespeichert werden. Das Skript muss dann so aussehen:

    Code
    LoadPlugin("C:\AviSynth 2.57\TomsMoComp\TomsMoComp.dll")
    clip=AVISource("H:\dv avi.avi")
    clip=clip.ConvertToYV12()
    clip=clip.TomsMoComp(-1,5,1)
    return clip

    In deinem Fall macht das Verwenden einer Variable für das Video keinen Sinn, da du nur ein Video hast, das komplett bearbeitet wird.

    "return": Das komplette Skript muss ein Video/Clip zurückgeben, damit Programme damit umgehen können. Sprich wenn du das Skript mit VDub öffnest, erwartet VDub, dass AviSynth ein Video/Clip liefert.
    Im 1. Fall passiert das automatisch. Die Funktionen, die einen Clip bearbeiten liefern automatisch einen Clip zurück, deswegen brauchst du kein "return". Die letzte aufgerufene Funktion gibt einen Clip zurück, das ist dann gleichzeitig die Rückgabe des kompletten Skripts.
    Im 2. Fall wird das Video aber in der Variable "clip" gespeichert und das Skript hat überhaupt keinen (oder irgendwas anderes) Rückgabewert. Deshalb musst du mit "return clip" das Video zurückgeben.

    Bitte frag nach, wenn dir was unklar ist. Ich versuch dir etwas Hintergrundwissen zu vermitteln und nicht nur das Skript als Lösung zu posten. Wenn du nicht verstehst, wie das alles funktioniert, musst du bei jedem Miniproblem nachfragen, und das macht auf Dauer keinen Sinn.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

Jetzt mitmachen!

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