Hello everyone! I have been hosting this wiki for a long time. I have been hosting it since around 2010 (from Richard Berg). Although the content is maintained by several people, and I'm very grateful for their time, the hosting costs a lot of money. If you are happy with the site, please make a donation! I would be very grateful and we can keep this site alive:
AviSynth is a powerful tool for video post-production. It provides ways of editing and processing videos. AviSynth works as a frameserver, providing instant editing without the need for temporary files.
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced non-linear editing. While this may at first seem laborious and unintuitive, it is remarkably powerful and is a very good way to manage projects in a precise, consistent, and reproducible manner. Because text-based scripts are human readable, projects are inherently self-documenting. The scripting language is simple yet powerful, and complex filters can be created from basic operations to develop a sophisticated palette of useful and unique effects.
Plugins – How to load them (AviSynth, VirtualDub, VFAPI and C-plugins); autoloading and name-precedence explained. Most External filters are plugins; the rest are regular scripts.
Function objects – AVS+user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.
External filters – Hundreds of separately downloadable filters, organized by category.
User pages hosted on this site:
AviSynth Filter Collection – Warpenterprises 20250316: the names of the AviSynth 2.5 plugins are messed up, put 5F before 25 in the filename (thus for example avsmon25a_5F25_dll_20030125.zip instead of avsmon25a_25_dll_20030125.zip)
The script execution model – The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.
User functions – How to effectively write and invoke user defined script functions; common pitfalls to avoid; ways to organise your function collection and create libraries of functions, and many more.
Block statements – Techniques and coding idioms for creating blocks of AviSynth script statements.
Arrays – Using arrays (and array operators) for manipulating collections of data in a single step.
Scripting at runtime – How to unravel the power of runtime filters and create complex runtime scripts that can perform interesting (and memory/speed efficient) editing/processing operations and effects.