Vorschläge Anime AVS Skript

  • @Didee
    Mit unfilter anstatt bicubicresize gehts noch schneller. :D
    Wäre ich auch nicht drauf gekommen, ist aber ne flinke einfache trotdem effiziente Möglichkeit.
    Dabei habe ich mich doch jetzt endlich mal mit den Masktools mal etwas mehr befasst um fastlinedarken gleich mit einer Dehalo Funktion auszustatten. Man lernt ja nichts umsonst. ;D

  • danke leute für die vielen halo tipps aber ich brauch heut abend erstmal Ruhe von der ganzen skriptschreiberei & testerei will jetzt einfach nur ein guten film oder anime anschauen und dann schlafen gehen.
    Aber morgen früh gehts wieder mit volldampf weiter! :ja:
    P.S. in paar tagen (1.Sept) fängt meine aubildung an dass bedeutet zwar nicht dass hier nichts mehr vorangeht aber wahrscheinlich nich mehr so krass wie jetzt

  • Update -> "Universal Anime AVS skript by Mr. Brown =Version 5.50=" ist raus!
    Grosser Dank geht diesmal an Didee näheres auf der ersten seite
    auch Screenshots aktualisiert

    Edit
    wie gefallen euch eigentlich die neuen screenshots ohne den vergleich zur original source?

    Edit2
    Version 5.55 ist raus

  • Ja, jetzt sieht das script wirklich schon ziemlich nett aus. Die Idee mit den Vorher-Nachher-Bild fand ich irgendwie schon sinnvoller, da sich der User hier besser ein Bild von den Verbesserungen bzw. auch Verschlechterungen deines Skriptes (soll´s ja manchmal auch geben) machen kann, also besser Ratschläge geben könnte und leichter erkennen kann, ob sich der Test des Skripts für ihn lohnt.
    Nun ja, ich weiß ja zum Glück wie die Originale aussahen.

    Anstatt etliche Varianten der Repair Alternative aufzurufen, könntest du bitte Variablen setzen :ja: Das mehrfache Aufführen der gesamten Funktion macht das Skript irgendwie unübersichtlich. :hm:

    Edit: Wieso steht am Ende deines Skriptes nochmal undot? Finde ich Persönlich nicht so nützlich an dieser Stelle. Wenn du etwas weißt, was ich noch nicht weiß, kannst du es mir bitte erklären? ;)

  • @ MOmonster
    Durch Resizer entsteht nochmal ein minimales Rauschen mit dem Undot sehr gut klarkommt!

    Edit2
    Um genau sein!
    Brother Johns gesammeltes Encodingwissen -> Speziathemen -> Anamorphes Encoding -> in der mitte Anamorphe Varianten -> bei nur cropping steht

    Zitat von Brother John

    Jeder Resizer sorgt für Bildrauschen vor allem auf der Zeitachse, was die Komprimierbarkeit senkt

    Auch dass gute alte GK arbeitete mit undot() hinter dem Resizer

  • Danke für die Erklärung, Mr. Brown.
    Gut zu wissen, werde es in meinem nächsten Skript ebenfalls berücksichtigen.
    Denke bitte trotzdem nochmal darüber nach, Variablen für die Repair_Einstellungen zu benutzen.
    Wie effektiv ist der Einsatz von Undot vor dem Repair-Aufruf (eventuell ist es ja nicht nötig ihn an dieser Stelle ein zweites Mal zu verwenden). :D

  • Hmh da ich den Thread und das Script wirklich gut ausgearbeitet finde muss ich auch meine Erfahrungen mal dazu beitragen.

    Vorneweg: Mit dem Script selbst hab ich nie gearbeitet, nur mit einigen der genannten Filter. Ich gehe auch mal davon aus, dass wir hauptsächlich über älteres Material reden, neue Quellen brauchen selten so starke Filter wie mit in dem Script eingebaut.

    Zum Thema deen/convo 3d hab ich mal meine eigene Ansichtsweise einzubringen - Es gibt sicher Leute die mit mir nicht übereinstimmen werden, aber persönlich kann ich über
    Temporalsoften(4,8,8,mode=2,scenechange=10)
    Convolution3d("vhsbq")
    zusammen eine bessere Qualität im Vergleich zu deen erreichen. Je nach Bedarf schwäche ich convo auch über movielq oder moviehq ab. Flächen wirken über die Kombination der beiden Filter zeitlich farbtreuer in meinem Auge, der einzige Nachteil ist dass die Schärfe auch etwas nachlässt, etwa auf das Niveau von deen. Dafür ist die Geschwindigkeit um einiges besser.

    Auf der anderen Seite hab ich mit awarpsharp als Universalschärfer auch eine Schwäche entdeckt: Wenn das Video etwas unruhig ist - wie von alten VHS Aufnahmen her - führt awarpsharp bei leicht schrägen Linien ein sehr unruhiges und gut sichtbares Zittern ins Bild ein. Das konnte ich nur verhindern, indem ich limitedsharpen() (mit verschiedenen Einstellungen) verwende, also ohne zeitliche Relevanz schärfe.

    repair muss ich allerdings selbst mal ausprobieren, scheint ja doch noch einen zusätzlichen positiv-Effekt zu bringen.

  • Zitat von MOmonster

    Denke bitte trotzdem nochmal darüber nach, Variablen für die Repair_Einstellungen zu benutzen.


    Wenn ich mal zeit hab werd ich dass machen, wie geht dass eigentlich ?(nutzte Avisynth erst seit 9 Monaten)

    Zitat von MOmonster

    Wie effektiv ist der Einsatz von Undot vor dem Repair-Aufruf (eventuell ist es ja nicht nötig ihn an dieser Stelle ein zweites Mal zu verwenden)


    Dass war ne Empfehlung von LigH Undot als erstes vor allem anderen Filtern zu nutzen!

    Edit
    @ Piro
    ich hab's schon paar mal mit Temporalsoften(*) versucht mir persöhnlich verwischt der dass Bild Zu stark

    Zum Thema Awarpsharp schwäche kann ich nur sagen wenn es dieses problem gibt is es mir bis jetzt noch nie aufgefallen ich hab fast nur positive erfahrungen mit Awarpsharp() gemacht (der einzige andere schärfer den ich verwende ist Limitedsharpen() für HQ Film Backups)

  • Zitat von MOmonster

    @Didee
    Mit unfilter anstatt bicubicresize gehts noch schneller.


    Stimmt, kann man auch machen. Der Effekt dürfte ähnlich sein - ähnlich, aber nicht gleich. Unfilter rechnet immer 5-tap (averaging über 5x5 Pixel), und verwendet davon dann soundsoviel Prozent. Die BicubicResize-Combo dagegen ist ein echter Gauss'scher Weichzeichner (genaugenommen auch nur eine simulierte Annäherung, die aber i.d. Praxis für fast alles ausreichend genau ist). Mir ist's so ganz einfach sympathischer.

    Zitat

    >> Anstatt etliche Varianten der Repair Alternative aufzurufen,
    >> könntest du bitte Variablen setzen

    > Wenn ich mal zeit hab werd ich dass machen, wie geht dass eigentlich


    So:

    Code
    # Entfernt Rauschen, Verblockung & Edge Enhancement
    Radius = 2.5  #  1.5 -> dünne Ringe ... 3.5 -> sehr dicke Ringe
    Stärke = 0.6  #  0.3 -> sehr schwache Ringe ... 0.75 -> sehr starke Ringe
    repair(last, last.mergeluma( last.bicubicresize(int(last.width/Radius/4)*4,int(last.height/Radius/4)*4)
    \ .bicubicresize(last.width,last.height,1,0),Stärke),1,1,1)
    Zitat von Mr. Brown

    @ MOmonster
    Durch Resizer entsteht nochmal ein minimales Rauschen mit dem Undot sehr gut klarkommt!


    Temporales Rauschen mit einem spatialer Filter anzugehen ist nicht so ganz das Gelbe. Das vom Resizer eingebrachte Rauschen reicht über das ganze lokale Wertespektrum, d.h. es können zwar neue "extreme" Pixel entstehen, und bei denen greift Undot auch ... aber die "nicht-extremen" Pixel rauschen auch, was Undot aber natürlich schnuppe ist.
    In der Praxis geht das schon so, weil das (schwache) Rauschen im mittleren Wertebereich am Ende durch das Enkoding auch nochmal geglättet wird. Trotzdem, rein vom Prinzip her sollte temporales Rauschen natürlich mit einem temporalen Filter angegangen werden, da gehe ich völlig mit Piro konform. Problem ist, dass z.B. TemporalSoften (4,8,8,..) u.U. wirklich schon zu deutlichem "Schmieren" führen kann. Das liegt am "zu dummen" TemporalSoften, kann aber durch Hochpass-Filterung des erzielten Effektes sehr deutlich verbessert werden. Habe ich hier erklärt, oder zumindest versucht. (Wer mag, sollte das mal ausprobieren - ich verwende TemporalSoften fast nur noch so.)

    Zum aWarpSharp: ja, der kann manchmal zu unruhigen Konturen führen, besonders bei eher horizontalen Kanten, und insbesondere bei Deinterlacten oder IVTC'ten Quellen. Der Effekt tritt nicht sehr häufig ein (wenn man ihn sucht, sucht man bis man schwarz wird), aber wenn er kommt, dann ist's wirklich nervig. Hab' gerade dieser Tage angefangen, etwas dagegen zu basteln ... hat aber eher geringe Priorität.

  • @Didee
    Da hast du natürlich recht, die Resizer Methode kann mehr konfiguriert werden, aber unfilter ist bei höheren Einstellungen eigentlich fast immer ausreichend und ist wirklich flink. Ich verwende halt gerne diesen Filter ;D
    Zum wie schon gesagt "dummen" Temporalsoften. Werde mir deine Funktion auch mal angucken, generell bevorzuge ich aber ganz einfach die Wahl von nicht so "dummen" Filtern, wie deen, stmedian, fluxsmooth oder hqdn3d. Außerdem arbeitet temporalsoften glaube ich noch in yuv2, oder?
    Vielleicht lässt sich die Funktion ja auch etwas sinnvoller mit temporalrepair verwenden.

    @Mr. Brown
    Für das Resizerproblem solltest du vielleicht mal removedirt testen. Ist ebenfalls sehr schnell und kann so verwendet werden, dass es nicht weiter merkbar ist, ich weiß aber nicht welcher von den vielen Modes hierfür der richtige wäre :huh:
    Wegen undot am Anfang des Skripts. Könntest du nicht einfach mal ein Testencodding machen um eine eventuelle Wirkung feststellen zu können, weil spätestens wenn du nach den Resizer sowieso nochmal undot aufrufst aber eigentlich schon beim Aufruf der Repair Funktion ist die Wirkung von undot nicht mehr vorhanden, was bei Deen und C3d noch der Fall wäre (glaube ich zumindestens). :)

  • Zitat von MOmonster

    Außerdem arbeitet temporalsoften glaube ich noch in yuv2, oder?


    Um Himmels Willen, nein! Tut es nicht!

    Zitat

    generell bevorzuge ich aber ganz einfach die Wahl von nicht so "dummen" Filtern, wie deen, stmedian, fluxsmooth oder hqdn3d


    Vielleicht war "dumm" keine gute Wortwahl. Aber im Sinne wie es gemeint war, sind deen & stmedian & flux fast genauso "dumm". Solange alle Entscheidungen, was gefiltert werden soll und was nicht, ausschließlich auf Thresholds basieren, ist der Filter in diesem Sinne "dumm". Weil: es soll zusammen-gefiltert werden, was zusammengehört, und andersrum. Das aktuelle Pixel ist aber durch das Rauschen von seinem Originalwert verschoben, und genauso alle umliegenden Pixel ... deswegen kann nur aufgrund der absoluten Pixelwerte bzw. deren Differenzen *keine Aussage* gemacht werden, was zusammengehört und was nicht. Das ist alles nur geraten, mit garantiertem Fehler im Ergebnis. "Die Katze beisst sich in den Schwanz." Andererseits können sowohl schon kleine Thresholds zu unerwünschten Nebeneffekten führen, während bestimmte Artefakte riesige Thresholds brauchen würden. Deswegen braucht's für wirklich gute Filterung Methoden, die von diesem ganzen Threshold-Kram wegkommen, und eine andere Art der Messung und des Vergleichens durchführen.

    hqdn3d könnte vielleicht schon so etwas ähnliches machen, aber so genau scheint das keiner zu wissen. Habe schon -zig mal gefragt, *was* hqdn3d eigentlicht macht - aber nie eine Antwort gekriegt. Aus dem Quellcode kann ich das leider nicht 'rausziehen. Wenn irgendjemand das Funktionsprinzip von hqdn3d in Worte fassen würde oder könnte, wäre ich dankbar. Für mich ist das ein "black box" Filter - und Filter, bei denen ich nicht wenigstens prinzipiell weiß, WAS sie eigentlich machen, finden bei mir keine Anwendung ...

    Aber gut jetzt, das führt deutlich vom Thema weg.

    Zitat

    Vielleicht lässt sich die Funktion ja auch etwas sinnvoller mit temporalrepair verwenden.


    Nö. Für solche "Reparier"-Filterungen sollte fast immer das Crossover-Prinzip angewendet werden (btw, auch für die Fuzzy-Methoden, die ich zuvor angedeutet habe) : Temporale Filter werden mit spatialen Filtern repariert, und Spatiale mit Temporalen. Temporalsoften() mit TemporalRepair() hinterherzugehen ist sinnlos. Wenn, dann mit dem spatialen Repair() ... und das ist ja genau das, was L/RemoveDust() macht, nur halt mit Clense() statt mit TemporalSoften().

  • Entschuldigt mich (verdammt muss richtige tasten suchen) dass ich nicht geantwortet habe bzw. nicht antworten kann. Bei uns in Südbayern (in der Nähe von München 60 Km entfernt) hat heut des volkfest begonnen (man will ja auch etwas anderes machen als den Ganzen Tag sich mit Avisynth Skripten zu befassen) Aber morgen früh bin ich wieder Topfit und nüchtern.

  • @Didee
    Vielleicht hätte ich das "nicht so" etwas deutlicher machen sollen. Natürlich sind die genannten Filter auch in diese Richtung prinzipiell "dumme" Threshold basierte Filter, die aber meiner Meinung nach zum Beispiel durch MotionCompensation und anderen Routinen besser arbeiten (weniger Schaden am Bild hervorrufen, trotz guter Wirkung). Eines der meiner Meinung nach besten Denoiser Filter die ich kenne (wenn nicht der beste, abgesehen von den ganzen umfangreichen Skriptfunktionen) ist wohl der Denoiser von tmpgenc. Weiß leider aber auch nicht wie dieser arbeitet, aber gerade der räumliche Weichzeichner ist wirklich erstklassig.
    Danke für die Info, dass der Filter auch in yv12 arbeitet, hatte ihn selber nur einmal getestet und fand die Ergebnisse sehr schlecht, hatte irgendwie im Hinterkopf, dass er yuv2 arbeitet :huh:

    Mr. Brown
    Awarpsharp mochte ich noch nie so sehr. Hat bei 80% meiner Quellen auch irgendwas negatives hinterlassen. Wenn du einen schnellen guten Schärfer suchts, probier mal modulatedsharpen (wird bei removegrain beschrieben). Ich hatte diese Methode mal ausprobiert, natürlich wieder unfilter statt sharpen genommen. Rennt sehr schnell und produziert auch recht gute Ergebnisse, nicht ganz so gute wie Limitedsharpen, aber doch sehr brauchbare. Muss jedoch zugeben, dass ich es noch nicht für Anime getested habe. Na dann,

    gute Nacht, dass MOmonster ;D

  • So im nächsten update wird das erste undot() wahrscheinlich verschwinden weil danach sowieso 2 starke denoiser kommen is wirkung beinahe null.
    Natürlich werden für repair die variablen kommen dass schafft platz im skript und is ausserdem noch verständlicher erklärt danke Didée
    Zurzeit teste ich GreedyHMA weil ich mit der Quali des derzeitigen IVTC nicht so ganz zufrieden bin.
    Ausserdem teste ich noch ein paar Schärfer trotzdem ist und bleibt Awarpsharp() mein Lieblingsschärfer für Anime denn alle anderen die ich bis jetzt testete sind mir zu pixelig

    @ Didée
    Was is mit Limitedsharpen (hab ich auch getestet mit "ss_x=2.0,ss_y=2.0,Smode=2"is aber auch pixelig) ist der überhaupt geeignet für Anime/Zeichentrick ?

    @ MOmonster
    Von RemoveDirt werd ich erstmal die Finger lassen weil der soviele modes bzw. settings hat dass man viel zeit braucht die zu testen (Zeit die ich nicht habe!)

    Ausserdem wird es Änderungen bei den Screenshots geben:
    Die Screenshots werden dann von fertig encodeten videos gemacht
    und zur besseren vergleichbarkeit wird es wieder links original und rechts gefiltert Screenshots geben!

  • Mr. Brown
    Grundsätzlich wurde Limitedsharpen nicht für Anime entwickelt, ich finde die Ergebnisse mit diesen Quellen aber auch meist recht gut. Was meinst du denn mit zu pixelig?
    In meinen Augen ist awarpsharp gar kein richtiger Schärfer, da er ja nur Kanten und Linien zusammenfasst und dadurch klarer werden lässt. Deshalb wird awarpsharp ja auch gerne mit einen anderen Schärfer wie asharp zusammengenommen. ;D
    Da die Wirkung von awarpsharp bei niedrigen Settings aber gen Null geht und bei höheren Settings fast immer, speziell bei Animes (schon irgendwie komisch :huh: ), irgendeine lästige Nebenwirkung hat. Ich weiß nicht wie es mit der pruned Variante von Awarpsharp aussieht, aber mit dem Standardfilter war ich bisher nie zufrieden :nein: .
    Ist einfach nur mein Geschmack. Du solltest zumindest mal die Pruned Version testen und wenn du sowieso fastlinedarken verwendest lieber die thinning option testen als anschließend awarpsharp hinterher zu schieben. Vielleicht sollte ich ja doch auch mal ein paar mehr Schärfer testen, mal sehen, was dabei rauskommt.
    Wegen removedirt, da wollte ich mich sowieso schon immer mal etwas mehr mit beschäftigen. Wenn ich einen gute Einstellung auch für diesen Sachverhalt gefunden habe, werde ich es selbstverständlich hier posten :ja:

  • Zitat von MOmonster

    In meinen Augen ist awarpsharp gar kein richtiger Schärfer, da er ja nur Kanten und Linien zusammenfasst und dadurch klarer werden lässt


    Genau dass ist es ja bei Awarpsharp bleiben klare gerade Linien währenddessen bei anderen schärfern linien wie treppen oder viel kleine wellen wirken (gilt zumindest für anime)!

    Edit:
    Dass trifft es vielleicht besser die linien wirken irdendwie total ausgefranst!

  • Update -> "Universal Anime AVS skript by Mr. Brown =Version 6.00=" ist raus!
    Will bei der gelegenheit nochmal erwähnen dass ich ein Testencoding mit Limitedsharpen() gemacht hab und die ergebnisse garnicht so schlecht sind wie Sie zunächst ausgeschaut haben (VDubMod Vorschau is halt doch nich alles)!

  • Zitat von Mr. Brown

    Will bei der gelegenheit nochmal erwähnen dass ich ein Testencoding mit Limitedsharpen() gemacht hab und die ergebnisse garnicht so schlecht sind wie Sie zunächst ausgeschaut haben


    Also bei "gar nicht so schlecht" hab ich schon gestaunt...

    Noch eine Sache, die allerdings nochmal die Überarbeitung Layouts notwendig machen würde: Laut dem Meister sollte man in LimitedSharpen per dest_x, dest_y resizen, zumindest wenns eh im nächsten Schritt passieren würde.
    Das würde hier voraussetzen (damit das Ganze lesbar bleibt), daß Du auch für die Zielauflösung mit Variablen arbeitest und Schärfen+Resizen in Blöcke zusammenfasst.

    Oder hab ich das in der Diskussion oben überlesen, habs nur nebenbei verfolgt? Dann lösche ich den Beitrag auch gerne wieder :D

    Grüße!
    Trekkie2

  • Zitat von Trekkie2

    Laut dem Meister sollte man in LimitedSharpen per dest_x, dest_y resizen, zumindest wenns eh im nächsten Schritt passieren würde.
    Das würde hier voraussetzen (damit das Ganze lesbar bleibt), daß Du auch für die Zielauflösung mit Variablen arbeitest und Schärfen+Resizen in Blöcke zusammenfasst.

    Daran dachte ich auch schon aber dass würde noch mal ne Neugestaltung des Layouts erforden und dass skript wäre riesig! ist es wirklich soviel besser in Limitedsharpen dessen eigene Resizerfunktion zu nutzen?

  • Mr. Brown
    Versuche auch bitte mal

    Code
    repmode = 9
    repair(last.unfilter(60,60), last, repmode, 0, 0)


    Benutze ich immer gern als schnelle Alternative. Teste am besten repmode 2, 5 (,7 ) und 9 und wähle natürlich die richtigen Theresholds für unfilter (60 ist für einige Quellen ein bißchen hoch). Ach ja asharp ist eine verdammt schnelle Alternative zu msharpen und produziert mit den richtigen Einstellungen beinahe genauso gute Resultate. :D
    Und noch ein kleiner Tip, versuche dein Skript möglichst kompakt zu halten. Ich meine, wenn greedy für dich besser arbeitet, nehme diesen Filter und lass telecide einfach weg, schließlich soll das Skript ja das wiedergeben, was deiner Meinung nach am besten arbeitet und nicht eine Auswahl von etlichen Möglichkeiten darbieten. Berücksichtige bitte, dass die yuv2 Konvertierung schlecht für die Farben ist und es noch schnellere, aber auch bessere Alternativen gibt. Smartdecimate ist sehr schnell und für viele Dinge völlig ausreichend, tfm arbeitet mit den richtigen Einstellungen wirklich gut und kann zudem noch schneller sein als telecide. Versuche einfach die für dich beste Wahl zu finden. :ja:
    Lanczos nutze ich übrigens immer so "LanczosResize(688,448,0,0.75)" für ein noch neutraleres Bild kann man auch 0 und 0.5 nehmen. Grundsätzlich mag ich das Bild von Lanczos mehr, da es bei gleicher Schärfe weniger Artefakte produziert. ;)

Jetzt mitmachen!

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