AvisynthPlus – was bringt es ?

  • Wollte mal fragen ob es für den normalen User von Avisynth einen Vorteil bringt AvisynthPlus anstatt Avisynth MT 2.6 zu nutzen?


    Bei http://avs-plus.net/ lese ich:

    • 64-bit version available
    • Faster script startup and substantially faster core filters
    • Support for multiple ("shadow") plugin directories
    • Autoloading of C-plugins
    • Script language extensions, with support for multiline conditionals and loops.
    • Improved still image support and TimeStretch


    1 -> okay, bringt einem zumindest aktuell nicht wirklich was, weil die meisten Filter nicht als 64bit Version existieren
    2 -> hört sich nett an, aber merk man das in der Praxis
    3 -> okay,.. wer es braucht (hört sich eher nach potenziellen Problemen an)
    4 -> okay, zumindest für mich nichts (kein Freund von autoloading)
    5 -> schön, auch wenn das wohl eher für den erfahreneren User etwas ist
    6 -> TimeStrecth?
    aber ich wollte mal wissen ob es da noch mehr gibt. :)


    Und dann ist da noch die Frage wird das noch weiter entwickelt?
    Wenn ich bei https://github.com/AviSynth/AviSynthPlus gucke hat sich da in den letzten 7 Monaten nichts getan.


    Cu Selur

  • Zu 1.: Sobald es sich unter aktiven Plugin-Entwicklern herumspricht, dass es nun endlich eine stabile 64-bit-Variante von AviSynth gibt, besteht die Chance, dass da mehr Plugins für beide Plattformen entwickelt und veröffentlicht werden. Theoretisch zumindest. Wer aber schon jahrelang raus ist und keine Quelltexte mitgeliefert hat, dessen Plugins werden wohl kaum je in 64 bit verfügbar werden.


    Avisynth+ plugin modernization efforts


    Zu 2.: Vielleicht der einzige Punkt, der "normalen Nutzern" helfen würde.


    Zu 3.+4.: Mehr Bequemlichkeit, wenn man Ordnung halten kann.


    Zu 5.: Definitiv jenseits der Anwendung "normaler User".


    Zu 6.: The Funk Soul Brother ... Änderung der Laufzeit ohne Änderung der Tonhöhe. Meist durch Granularsynthese implementiert.


    Was die Weiterentwicklung angeht:


    Avisynth+

  • Heute habe ich versucht, mit einem frisch compilierten ffplay eine AVS-Datei abzuspielen, und bekam folgende Beschwerde:


    Code
    1. [avisynth @ 00000000030c6f80] AviSynth version is too old. Please upgrade to either AviSynth 2.6 >= RC1 or AviSynth+ >= r1718.


    Auf der Homepage und in den github-Releases findet man nur AviSynth+ r1576; wo also soll man denn AviSynth+ r1718 oder neuer herkriegen?!

  • AviSynth+ v0.1.0 r1825-MT auf MediaFire (vielen Dank an thescrapyard fürs verlinken) :cool:


    Zum Thema, was es bringt: Einige Plugins wurden schon auf 64 bit umgebaut. Und das Multithreading wurde wesentlich konfigurierbarer implementiert, man kann für einzelne Plugins die bevorzugte bzw. kompatibelste Methode definieren. Ansonsten muss ich aber erst mal schauen, was sich im Changelog findet, seit r1576 ist sicher viel passiert.

  • Liste von x64 Plugins:


    http://avisynth.nl/index.php/A…B#AviSynth.2B_x64_plugins


    20 x64 Plugins sind in StaxRip enthalten.


    x64 ist stabil, MT momentan kaum nutzbar, QTGMC läuft z.B. nur single threaded ohne Probleme.


    Man kann wie in C if und else nutzen was oft besser als ternary/conditional operator ist.


    Manche x64 Plugins funktionieren nur in bestimmten Programmen nicht, soll heißen mvtools2 z.B. bringt .NET Programme oder MPC zum Absturz, x264 funktioniert aber, der Fehler ist laut Debugger eindeutig in mvtools2.


    Der AviSynth+ Autor macht wieder eine bisher sehr lange Pause, bin mir aber sicher dass es weiter geht. VapourSynth ist auch zu empfehlen, es ist portabel, basiert auf Python und hat deshalb schon viele Anhänger und wird aktiv entwickelt, der Autor ist kein Unbekannter, ffms2 stammt auch von ihm, werd das wenn möglich auch in StaxRip unterstützen.


  • ..., QTGMC läuft z.B. nur single threaded ohne Probleme.


    Wenn QTGMC langsamer läuft wie unter Avisynth MT und TempgaussMC ebenso langsam oder gar nicht, wäre ein Experiment mit Avisynth+ nur Zeitverlust und für manche mit Ärger verbunden.
    Sicherungen meiner Arbeit unter Avisynth MT sind ohnehin mehrfach vorhanden, wäre nicht das Problem.
    Wie werkelt also QTGMC unter Avisynth+??

  • Dass es gar nicht recht laufen soll, mag ich kaum glauben, immerhin sind die Konfigurationsmöglichkeiten vielfältig und das gesamte Speichermanagement eigentlich sauber neu programmiert worden, was im Original viel Flickwerk war. Möglicherweise liegt es nur am Aufwand, die richtige Mischung zu finden, immerhin gibt es von den vielen Plugins nun mehrere Spezialversionen, um sie mit verschiedenen AviSynth-2.6-RCs kompatibel zu kriegen, Patches von diesem, Patches von jenem...


    Am Ende aber vielleicht doch noch Patches speziell für die Kooperation zwischen AVS+MT und den "üblichen Verdächtigen" wie MaskTools2 und RemoveGrain, analog zum Vit-Mod-Plugin-Pack.

  • Zitat

    Wie werkelt also QTGMC unter Avisynth+


    Die Framerate sinkt kontinuierlich, es läuft praktisch also gar nicht. Wenn du Zeit für Experimente hast und etwas Python verstehst, dann kannst du QTGMC unter VapourSynth testen.


    Zitat

    Dass es gar nicht recht laufen soll, mag ich kaum glauben, immerhin sind die Konfigurationsmöglichkeiten vielfältig und das gesamte Speichermanagement eigentlich sauber neu programmiert worden, was im Original viel Flickwerk war. Möglicherweise liegt es nur am Aufwand, die richtige Mischung zu finden, immerhin gibt es von den vielen Plugins nun mehrere Spezialversionen, um sie mit verschiedenen AviSynth-2.6-RCs kompatibel zu kriegen, Patches von diesem, Patches von jenem...


    Am Ende aber vielleicht doch noch Patches speziell für die Kooperation zwischen AVS+MT und den "üblichen Verdächtigen" wie MaskTools2 und RemoveGrain, analog zum Vit-Mod-Plugin-Pack.


    Es haben sich ein paar Leute einschließlich mir daran versucht, alles keine hartnäckigen Scripting Profils, möglicherweise kann da nur der AviSynth+ Autor weiterhelfen, sobald er zurück ist.

  • Die Framerate sinkt kontinuierlich, es läuft praktisch also gar nicht.


    Hier liegt ein Mißverständnis vor, wenn es praktisch gar nicht läuft kann ich es Seinlassen. Gemeint war die fps die VirtDub zur Abarbeitung benötigt.
    So wie hier disskutiert: http://forum.gleitz.info/showt…f%FCr&highlight=Qtgmc+fps


    Wenn du Zeit für Experimente hast und etwas Python verstehst, dann kannst du QTGMC unter VapourSynth testen.


    Werde ich wohl machen müssen, falls TempgaussMC auch unter VapourSynth läuft, QTGMC nutze ich nicht. Wenn ja bei TempGaussMC, wird es aber erst in der grauen Jahreszeit!
    Ich hoffe dass Einer schneller ist, es hier protokolliert und mir die Arbeit abnimmt! ;D

  • Wenn du Zeit für Experimente hast und etwas Python verstehst, dann kannst du QTGMC unter VapourSynth testen.


    Da ich gerade mit VapourSynth unter Linux experimentiere, QTGMC unter VapourSynth funktioniert eigentlich ganz gut, wenn man mal alle Abhängigkeiten installiert hat.
    Wie schnell oder langsam es aber im Vergleich zu den AviSynth Varianten ist, kann ich nicht sagen, kann aber keine abfallende FPS feststellen.

  • Wahrscheinlich eine Hilfe bei der Stabilisierung von Multithreading in AviSynth+: MT-Modi pro Filter (könnte man als *.avsi in AviSynth+/plugins+ kopieren).


    Filter mit Modus MT_SERIALIZED (3) sind ein Flaschenhals. Deren Autor hat sich wohl leider nicht vorstellen können, welche Probleme eine Ausführung in mehreren Instanzen verursachen würde, ansonsten hätte er sicher auf "Reentranz" geachtet (das beginnt damit, möglichst viele Variablen lokal zu erzeugen, also für jeden Thread einen unabhängigen Satz). Leider sind manche Plugins so alt, dass der Autor verschollen und die Quelltexte nicht verfügbar sind. Oder aufgrund der Arbeitsweise ist es leider nicht anders möglich (ist bei Quellfiltern – v.a. mit Zugriff auf Decoderchips – recht verbreitet, bei verarbeitenden Filtern aber wirklich ärgerlich).


    P.S.: VapourSynth sei bitte ein anderes Thema.

  • Zitat

    Wie bekommst Du VapourSynth portabel?


    Meinte damit dass es nicht nur auf Windows läuft.


    Zitat

    Wahrscheinlich eine Hilfe bei der Stabilisierung von Multithreading in AviSynth+: MT-Modi pro Filter (könnte man als *.avsi in AviSynth+/plugins+ kopieren).


    Hab schon alles mögliche versucht, leider nichts zu machen.

  • Ich hab noch mal verschiedene Varianten getestet, und mit AviSynth+ r1825 x86 läuft QTGMC in AVSMeter bisher problemlos. Wenn es in x64 nicht mag, dann sind das wohl x64-spezifische Probleme. Dafür hab ich noch nicht alles nötige zusammen, probiere ich später...
    __


    Okay, da ist was merkwürdig...


    Code
    1. AVSMeter 2.0.3 (x64)
    2. AviSynth+ 0.1 (r1825, MT, x86_64) (0.1.0.0)
    3. System exception - Illegal Instruction


    QTGMC-3.33.avsi, line 410
    QTGMC-3.33.avsi, line 411
    QTGMC-3.33s.avsi, line 430


    Im Grunde immer die gleiche Stelle, bei der Berechnung von bVec2.

  • Zitat

    Versuch's mal mit der "stabilen" r1576 x64.


    Diese hat aber noch kein MT mit drin, falls LigH mit MT testen will.



    Nach einigen unproblematischen Tests (hier und hier) hab ichs nicht mehr stabil zum laufen bekommen (hier), bei mir friert der Prozess meistens ein egal ob mit AVS-Meter oder beim encodieren.
    Ich seh mich aber nicht in der Lage das Problem auf ein bestimmtes Plugin einzukreisen.


    Da die AVS+ Entwicklung ziemlich schleppend verläuft ist es vieleicht an der Zeit AVS den Rücken zu kehren und VapourSynth mal ne Chance zu geben.

    MP4.tool - GUI für Mp4Box und L-Smash
    BeHappy [ 1 ][ 2 ]- AviSynth basierter Audiokonverter mit DSP- und Encoder-Plugins
    PGFEnc - PGF (ProgressiveGraphicsFile) und WebP Encoder und Decoder