Log in

View Full Version : Avisynth? Similar programs? Recommendable?


shevegen
30th September 2020, 23:57
Hey guys,

I have not posted in literally ears, I mean, years. I am surprised the site
still exists. :)

I switched to linux in 2004. A few years ago Microsoft started WSL and
then WSL2. This makes it really easy to use all my scripts that I wrote
in almost 20 years.

I wrote TONS of code, mostly in ruby but also in other languages. I also
already tested WSL1 extensively, it works fine, even GUIs if one uses
xming (well, most work ... not all). And WSL2 may be better.

Anyway. Before I switched to linux, I was happily using avisynth.

I want to get to the same experience again but have it work on both
linux and windows AND perhaps not a 1:1 mapping syntaxwise but
my own custom layer. But ... is avisynth dead? Are the alternatives
usable?

My idea is to write some custom DSL that is SUPER simple but
mega-expressive. When I have such a basic core available I can
embed it into ruby-gtk. But the important thing is that I really want
to keep it as simple as possible. Avisynth was great but it also
was quite complex; some examples I never understood. Ideally
I want something that even a 3 years old one can understand -
and I am not even kidding. I think everyone should be ABLE to
program, and it should be mega-simple too. (Actually Avisynth
was not too complex either ... just that some examples were
hard to understand).

So does anyone know of the status here? Anything that can be
recommended? I really need a commandline/scripted approach,
don't care about pre-written GUIs (I can write my own ones via
ruby-gtk and web-related interfaces; I did that for almost 10 years
or more by now and the rest I will learn as I go along, but my
memory of avisynth is MEGA-dusty).

qyot27
1st October 2020, 06:43
Funny you should ask.

https://i.imgur.com/OCNAx9K.jpg

https://i.imgur.com/Jzl6qPl.png


I'm not going to go into the backstory, but modern AviSynth == AviSynth+ (https://forum.doom9.org/showthread.php?t=181351). Classic AviSynth 2.5/2.6 stopped updating in 2016, and Sourceforge as a company stopped offering CVS support and froze all the repos they hosted; Plus originated as a patchset against a Github mirror of AviSynth's CVS a few years before 2.6 was [finally] released, got forked into a separate project (what I said about the backstory), more or less kept pace with 2.6's changes while blowing way ahead of it commit- and feature-wise, and continues to be developed on Git (https://github.com/AviSynth/AviSynthPlus).

Support for Linux, OSX/macOS, and BSD was officially added in 3.5.0 (https://forum.doom9.org/showthread.php?t=180436) in March of this year. ARM* was added in 3.6.0 in May. PowerPC* is still in a dev branch but will probably show up when 3.6.2 gets a non-testing release.

FFmpeg 4.3 or at least a git version from after early April are needed to be able to build against AviSynth+ proper on non-Windows and use the scripts directly. DJATOM also has a fork of avs2yuv that added support for native Linux builds of AviSynth+ (https://github.com/DJATOM/avs2yuv).

*neither of which have optimized routines for the NEON or AltiVec SIMD on those platforms, so you're running the plain C/C++ versions, and only single-threaded because the cpuid supports to let it do multi-threading are currently only written for x86(-64).


And obviously, plugins need to be ported if you want to use those on non-Windows. Some already have been (https://aur.archlinux.org/packages/?O=0&K=avisynth), although if all you actually need is in the core, you should be good to go.

The Windows version of AviSynth+ also functions under Wine, which is probably the only way some plugins will ever be usable under Linux.


VapourSynth (https://forum.doom9.org/forumdisplay.php?f=82) is an alternative that pairs a general frameserving library with Python bindings. It had multi-platform support from the start (although I'm not too sure of what the distribution of platform support in its plugins is), but didn't have audio support until this year.

Selur
1st October 2020, 08:42
I would recommend Vapoursynth.

TheSpectre
1st October 2020, 15:22
Last I checked, POSIX compilation for AviSynth+ was still pretty unintuitive, but it does compile on Debian Stable. However, most plugins beyond the built-in AviSynth+ functions have not been ported over. Vapoursynth might be a better option for *nix platforms until some more AviSynth plugins are ported

StainlessS
1st October 2020, 20:02
However, most plugins beyond the built-in AviSynth+ functions have not been ported over. Vapoursynth might be a better option for *nix platforms until some more AviSynth plugins are ported
Come on Speccy, dont discourage shevegen from porting all plugins to *nix for everybody :)

The Wiki is found here, perhaps the current examples are a bit better than of old.:- http://avisynth.nl/index.php/Main_Page

TheSpectre
5th October 2020, 15:31
Come on Speccy, dont discourage shevegen from porting all plugins to *nix for everybody :)


That was not my intention at all :p
I had interpreted the OP as someone looking for an existing solution with a lot of existing plugins

Adub
30th October 2020, 21:35
Another +1 for Vapoursynth. I'm using it almost daily (and a wide variety of its linux-friendly plugins) on Manjaro Linux.

A very nice Doom9 member created AUR packages at of most of the plugins, so it's super easy to get off the ground when installing most/all plugins.

videoh
2nd June 2021, 18:33
DGDecNV will soon be available for linux. :)

+1 for Vapoursynth.