VHS Bildverbesserung

  • Zitat

    dass darin ein Pansonic Encoder werkelt


    Bin mir nicht sicher,ob dieser nicht auch in der Storm werkelt oder im ADVC 300.
    TBC...ist Klar.
    Noise.... schon beim capturen...auch klar.
    Croppen den flirrenden Ränder...auch.[schwarz dann drauflegen]
    Wobei ich da bei VDubMod meistens nicht über 5 "Striche" in der Scala gehen muss.
    Danke für den Link.


    Ähem...wenn ich jetzt noch den letzten Script plus die gleichen PlugIns wie
    das Genie "Didée" verwendet,hier reinstellen würde,könntest Du denken...da ist einer Ver...... :haarezuberge:

  • Zitat

    Ähem...wenn ich jetzt noch den letzten Script plus die gleichen PlugIns wie
    das Genie "Didée" verwendet,hier reinstellen würde,könntest Du denken...da ist einer Ver......


    Ähhhem, das habe ich jetzt nicht verstanden????? Wie meinen :frage:

    Grüsse vom
    Laird of John O´Groats
    Ernst :headbanger:
    Zu erkennen, dass man sich geirrt hat, ist ja nur das Eingeständnis, dass man heute schlauer ist als gestern.
    Johann Kaspar Lavater

  • Zitat

    Ähhhem, das habe ich jetzt nicht verstanden????? Wie meinen


    damit meinte ich,wenn ich hier mein letztes Script rein setzen würde,dann müsstest Du annehmen,der Schreiberling sei nun total verrückt,bescheuert.


    So ein Aufwand für Restauration von analogen Filmen.

  • Zitat

    dann müsstest Du annehmen,der Schreiberling sei nun total verrückt,bescheuert.


    Ach soooo! Aber sind wir nicht alle ein bisschen "Bluna" ? :feixen::feixen:

    Grüsse vom
    Laird of John O´Groats
    Ernst :headbanger:
    Zu erkennen, dass man sich geirrt hat, ist ja nur das Eingeständnis, dass man heute schlauer ist als gestern.
    Johann Kaspar Lavater

    • Offizieller Beitrag

    Moin,
    da ich nun endlich zwei VHS Filme mal durch das Srcipt jagen muß, mal ein paar Fragen:


    Wo muß das rein Wendo? Hattest Du weiter oben erwähnt.
    Das Srcipt liegt jetzt hier auf dem Server.


    Ich hab jetzt mal die aktuelle Avisynth Version heruntergeladen und auf D instaliert und in der Haupt.avs C:\ in D:\ geändert, sowie den kleinsten Clip in DV(erstmal muß das Sript laufen) die ich grad greifbar hatte eingetragen.
    Ich hör jetzt zwar im Mediaplayer/Procoder den Ton, habe aber kein Bild.


    System ist ein Q9650 Quad.
    Gruß
    Ulrich

  • Zitat

    Das Srcipt liegt jetzt hier auf dem Server.


    Morgen....war doch nichts mit Ausschlafen wie Jörg gemeint hat.


    Ulrich...das ist kein Script sondern einen Teil aus dem Avisynth-Ordner/Plugins/Unterordner.


    Wenn Du Avisynt installierst hast Du ja die Möglichkeit da die deutsche Hilfsdatei auch runterzuladen.


    Dein erstes Script


    http://avisynth.org/FilterNachKategorie


    http://neuron2.net/


    Selber habe ich auf allen Kisten den Frameserver installiert.Mit der Zeit wird dieser Ordner immer grösser.
    Auch wenn ein System neu aufgesetzt wird füge ich Avisynth wieder bei.
    Mit dem Unterschied,dass ich da den Inhalt des entpackten Ordners im Verzeichnis C:\Avisynt 2.57 komplett lösche und da die Sicherung von der letzten selbst erstellten,mit allen Unterordner und so,wieder einfüge.
    Mit der Zeit und auch je nach PC [ SSE2 / SSE3 ] gibts da verschiedene Ausführungen.


    Warum nicht alle Plugins im Unterordner "PlugIns" von Avisynth....?
    Ganz einfach....es gibt diverse PlugIns die vertragen sich nicht wenn sie im original Unterordner von Avisynth liegen.Zudem können sie auch andere Plugins stören oder sogar ausser Kraft setzen.


    Zum Filtern nehme ich nur den Bildanteil,den Ton habe ich vorher mittels VirtualDub / VirtualDubMod oder in Edius schon separiert.


    Ist aber ne lange Geschichte.....
    In etwa so vorgehen wie hier beschrieben.
    http://movie2digital.gnc.at/in…+letztes+VHS+Script+sehen


    Es gab da ja auch ein neues Forum...mühsam die Aenderuingen fast überall.


    Hilfe zu Avisynth gibts im Gleitz Forum oder auch hier im MovieDigital.de.
    Vielleicht ganz gut wenn Du in einem der beiden genannten Foren Deine Frage mal reinstellst,da können mehrere User helfen...ist ja auch eine Zeitfrage.



    Avisynth habe ich direkt unter C:\installiert.
    Als freie Ordner,auch unter C:\ zusätzlich noch Ordner mit Magazin-1 / Magazin-2 ..........bis Magazin-4.
    Sind nützlich um eben mal schnell was Entzipptes reinzulegen und auch Avisynth-Scripte da zu parkieren.
    Beim installieren habe ich nur nebst der engl.Anleitung die Deutsche noch angehakt.
    Als Player aber auch den Scripteditor den mir Avisynth beim Installlieren vorschlägt habe ich nicht angehakt.
    Ich wähle diese beim ersten öffenen des ersten Avisynthscripts vor.
    Script erstelle ich noch mit dem Edidtor von Windows,also sep.Icon auf dem Desk. und als Player mpclassic.
    Der mpclassic ist ganz okay um das Script zu prüfen....wird da nichts angezeigt kommt in den meisten Fällen eine Fehlermeldung..............dann der "AHA" Effekt oder die Suche im Netz / eigene Unterlagen.....


    Hier ein Screen als Beispiel von m.Avisynth.
    In den Ordnern die ich selber hier hinzugefügt habe sind natürlich noch ne Menge an Unterordner drin mit Plugins und so.
    Nur damit Du ne Ahnung bekommst.

    • Offizieller Beitrag

    Moin,

    Zitat

    Original von goldwingfahrer


    doch das ist das Script von Thobie samt Unterordner und Filter.


    Wo kommt da jetzt Deine Änderung rein?


    Ich habe keine Fehlermeldung.


    Gruß
    Ulrich

  • function RemoveDirt(clip input, bool "_grey", int "repmode")
    ..........
    .............
    ..........
    das ist nur der Funktionsaufruf.
    Schau mal in das RemoveGrain Paket rein.
    -------------------------------------
    Hier mal was...
    ---------------------
    Um aber diese Funktioonen überhaupt nutzen zu können, muss man deren Funktion innerhalb des RemoveGrain Paketes explizit ins Script schreiben, und natürlich alle RemoveGrain Dateien incl. der passenden SEE Tools , im PlugIn Verzeichniss haben.



    function LRemoveDust(clip input, int _mode, int "limit")
    {
    limit=default(limit,4)
    repmode = 2
    clensed = Clense(input)
    rep=Repair(clensed, input, mode=repmode)
    rg = RemoveGrain(rep, mode=_mode)
    rd=TemporalRepair(rg, rep)
    return LimitChange(rd, input, limit, limitU=255)
    }
    function ModerateSharpen(clip input, float amount)
    {
    repmode = 16
    sharpened = Sharpen(input, amount)
    return Repair(sharpened, input, mode=repmode)
    }


    Alles was blau ist muss ins Script (egal was Dufür einen Rechner hast, das ist Universal.


    Und erst danach kommt dann der Avisynth trallala,


    AVISource("W:\capture test.avi",pixel_type="YUY2")
    ConvertToYV12()
    Trim(295,129400)
    Crop(12,10,672,480)
    Undot()
    Cnr2()
    LRemoveDust(4,4)
    ModerateSharpen(1.0)
    Tweak(Bright=-20)
    AddBorders(16,48,16,48)
    ConvertToYUY2()


    Will man nicht alle Funktionen so kann man eine Raute vor den Befehl setzen.

    • Offizieller Beitrag

    Moin,
    d.h., der Funktionsaufruf RemoveDirt ist im Haupt.avs noch gar nicht enthalten?
    Ich muß also nur die Funktion als separate Function im RemoveDirt ablegen und im Haupt.avs den Funktionsaufruf.
    Womit wie wieder am Anfang wären: An welcher Stelle? Vor LRemoveDust?
    LRemoveDust(4,4)
    ModerateSharpen(1.0)

    Gruß
    Ulrich

  • Zitat

    Deswegen seh ich nix, ich hab vergessen die avisynth.dll ins "Windows\System32" Verzeichnis zu kopieren.


    Ne..ne..zieh Deine Mütze etwas höher,dann siehst was.


    Avisynth macht das automatisch.


    Bin grad dran an einem einfachen Script erstellen.
    [Hab im Moment etwas Aerger am anderen PC mit der HDStorm und AceDVio....und AHCI :gabi: ]


    Du benötigst für diesen Test aus dem RemoveGrain Paket 0.9 folgendes
    removeDirt.dll
    RemovegrainSSE2.dll....[je nach PC ev. die SSE3 oder nur die "Ohne"
    Aber dann auch bei der Folgenden,anpassen.
    RepairSSE2.dll
    Undot.dll


    Diese sollten im Avisynth Unterordner "Plugins" liegen.


    AVS Script erstellt mit dem Editor von Windows....abgespeichert
    als Ulrich-1.avs.......unbedingt als avs abspeichern ansonsten wird nur "txt" erstellt.


    Ulrich-1.avs also abgespeichert unter C:\Magazin-1
    Unter F:\ habe ich hier einen kleinen Ausschnitt,also ohne Tonanteil,Bezeichnung " BILD" abgespeichert.


    Zur Überprüfung öffne ich nun diese avs und spiele sie aber mit dem mpc ab.
    Zeigt der keine Fehlermeldung an...ist das Script in Ordnung.


    Nun öffne ich den Procoder oder den kleineren Bruder Procoder Express
    und öffne hier diese avs.


    Hier nun der einfache Beispielsscript [Film ist Schwarz/Weiss da aus ca.1965]


    Das Blaue musst Du selber an die Gegebenheiten im Strassenverkehr und an die Witterungsverhältnisse anpassen.


    function RemoveDirt(clip input, bool "_grey", int "repmode")
    {
    _grey=default(_grey, false)
    repmode=default(repmode, 16)
    clmode=17
    clensed=Clense(input, grey=_grey, cache=4)
    sbegin = ForwardClense(input, grey=_grey, cache=-1)
    send = BackwardClense(input, grey=_grey, cache=-1)
    alt=Repair(SCSelect(input, sbegin, send, clensed, debug=true), input, mode=repmode, modeU = _grey ? -1 : repmode )
    restore=Repair(clensed, input, mode=repmode, modeU = _grey ? -1 : repmode)
    corrected=RestoreMotionBlocks(clensed, restore, neighbour=input, alternative=alt, gmthreshold=70, dist=1, dmode=2, debug=false, noise=10, noisy=12, grey=_grey)
    return RemoveGrain(corrected, mode=clmode, modeU = _grey ? -1 : clmode )
    }


    function LRemoveDust(clip input, int _mode, int "limit")
    {
    limit=default(limit,4)
    repmode = 2
    clensed = Clense(input)
    rep=Repair(clensed, input, mode=repmode)
    rg = RemoveGrain(rep, mode=_mode)
    rd=TemporalRepair(rg, rep)
    return LimitChange(rd, input, limit, limitU=255)
    }


    function ModerateSharpen(clip input, float amount)
    {
    repmode = 16
    sharpened = Sharpen(input, amount)
    return Repair(sharpened, input, mode=repmode)
    }


    AVISource("F:\BILD.avi ",pixel_type="YUY2")
    ConvertToYV12()


    Crop(16,16,688,544)
    Undot()
    Cnr2()
    LRemoveDust(2,2)
    ModerateSharpen(1.0)


    AddBorders(16,16,16,16)
    ConvertToYUY2()

  • Nachtrag zum obigen Posting.


    Hier habe ich zum testen in 720 x 576 aber in 50p gecapturt.
    Normalerweise wird im mpc 25 BpS. angezeigt.


    Aber am besten man nimmt TDeint der aus Fields Frames erzeugt.
    Also 50 Frames per second.


    Hier gibts mehr Filtermöglichkeiten und auch die Wirkung ist um Welten besser,wenns benötigt wird.


    Bevor man deinterlaced, erst mal klären: Ist Deinterlacing sinnvoll? Wenn es eine DVD für einen Röhrenfernseher werden soll, sicher nicht - in dem Fall lieber interlaced lassen.


    Ansonsten: TDeInt und Yadif sind aktuell recht intelligente Deinterlacer, die Bildrekonstruktionen aus Bewegungsschätzungen durchführen können, und allgemein recht gut verwendbar. Wie gut Decomb, FieldDeinterlace oder TomsMoComp im Vergleich abschneiden, wissen andere besser als ich...


    Wichtig ist jedoch bei allen Deinterlacern, ihnen die richtige Field-Reihenfolge anzugeben -- bei DV meist: AssumeBFF(). Und das am besten direkt vor ConvertToYV12(interlaced=true), wenn der DV-Codec YUY2 liefert.

    • Offizieller Beitrag

    Moin,
    mein Weichspüler Script läüft. :D
    Bei Dir kommt:


    "there is no function named "Clense"
    line 21
    line 42


    Und Cnr2() kennt er auch nicht.


    Lasse ich nur ModerateSharpen(1.0) drin, bekomme ich die bekannten Gunnar Klötzchen schon im MPC.


    Mit dieser Datei muß das erstmal gehen.
    Diese Filter habe ich gefunden. Mein PC kann auch SSE3.
    Gruß
    Ulrich

    • Offizieller Beitrag

    Moin,
    so nun geht es weiter. Ich hatte gestern ein andere Baustelle, die mich zum Wahnsinn trieb. Die Installation des USB Tools für den Kathrein Receiver UDF580, welches auf dem neuen PC bereits funktionierte, bis ich den USB Port wechselte. No Chanse seit dem. Da dies in einem sehr frühen Stadium der Installation geschah, keine Chanse mit Image zurück.
    Auf den anderen Rechner funzt es ja.
    Wenn dann auf dem neuen die Händlerinstallation auf C plattgemaacht wird, kommt es gaaaaaanz am Ende an die Reihe.
    Aber erst dieses Problem nun.


    Danke für den Link und den Cnr2.
    Klötzchen, werde es wenns Ernst wird beherzigen.


    Richtig ich habe es aus dem neueren removeGrain Paket 1.0 herausgeholt. Ich habe das 0.9 nicht gefunden.
    Edit: Hier. (Für Daus wie mich, auf binary klicken oder hier. )
    Somit läuft obiges Script Wendo, bei mir in RT, was man dazu braucht ist angehängt, Pfade in der AVS anpassen.


    Edit2:
    wenn ich das stehen lasse:
    AVISource("avisource("G:\--Pool--\Hochzeit\Video\Cap1016_000(0011).avi") ",pixel_type="YUY2")
    anstelle von dem
    AVISource("G:\--Pool--\Hochzeit\Video\Cap1016_000(0011).avi")
    bekomme ich den Fehler:
    Scipt error: expected a, or)
    Der Test Clip ist im MSDV Codec.
    Gruß
    Ulrich

  • Morgään


    Bin auch grad dran an einem Script...............Realtime = leider nein :shake:
    Material ist aus den 60 Jahren.



    AVISource("avisource("G:\--Pool--\Hochzeit\Video\Cap1016_000(0011).avi") ",pixel_type="YUY2")


    Mach das Rote weg


    AviSource("H:\Canopus_DV_PAL_AVI.avi",pixel_type="YUY2")
    Assumebff()
    ConvertToYV12(Interlaced=true)

    • Offizieller Beitrag

    Nein geht auch nicht. Auch nicht so:
    AVISource("avisource("G:\--Pool--\Hochzeit\Video\Cap1016_000(0011).avi",pixel_type="YUY2")")
    #AVISource("G:\--Pool--\Hochzeit\Video\Cap1016_000(0011).avi")
    Assumebff()
    ConvertToYV12(Interlaced=true)


    Crop(16,16,688,544)
    Undot()
    Cnr2()
    LRemoveDust(2,2)
    ModerateSharpen(1.0)


    AddBorders(16,16,16,16)
    ConvertToYUY2()