What is AviSynth?
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 tedious 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.
Interested? Download AviSynth from one of the links below, then scroll down to New to AviSynth - start here!
AviSynth is free open-source software, under the GNU General Public License version 2.0 (GPLv2)
NOTE the recommended download for almost everybody is v.2.6.0 ST, 32-bit. 'Still in alpha stage' refers to the new 2.6.0-specific features only. Avisynth 2.6.0 is actually more stable than 2.5.8 in almost all cases.
v.2.5.8 MT, 64-bit, author SET, compiled by JoshyD at forum.doom9.org
v.2.6.0 MT, 32-bit, author SET at forum.doom9.org
Bugs and issues
A list of bugs which are present in v2.5.8 and 2.6a5: Known Issues. Most of the 2.5.8 issues are fixed in v2.6a5.
New to AviSynth - start here
- Your first script - A guide for total newbies.
- Getting started - An introductory guide for getting started with AviSynth.
- Filter introduction - An introductory guide to most common AviSynth filters.
- Script examples - Assorted examples for putting everything together in the real world.
- Some guides explaining the basic possibilities of AviSynth:
- Analog Capture guide. The AviSynth part of the capture guide is about what filters can be used to enhance the quality of the capture. It discusses things like deinterlacing, denoising, cropping and resizing and color adjustment. Which makes it really useful to learn about some of the capabilities of AviSynth in a schematic way.
- Introduction AviSynth from AnimeMusicVideos.org. A basic guide about deinterlacing, resizing and some other basic stuff.
- Introduction basic AviSynth filters from AnimeMusicVideos.org. A basic guide about smoothers, rainbow removal, sharpeners, color adjustment and some other basic stuff.
- Troubleshooting your scripts and configuration.
- Read more about AviSynth.
Filters, external plugins, script functions and utilities
- Internal filters - The official list and descriptions of included filters, organized by category.
- External filters - Documentation of custom script functions and AviSynth v2.5x plugins.
- User pages hosted on this site:
- Shared functions - Commonly used script functions.
- Utilities - A list of GUIs, command-line, batch and other AviSynth related utilities.
- AviSynth Syntax - The official reference documentation.
- Grammar - The grammar of AviSynth script language. An introduction to AviSynth scripting.
- Script variables - How to declare and use them in scripts.
- Operators - Available operators and relative precedence.
- Clip properties - Functions that return a property of a clip.
- Control structures - Language constructs for script flow control.
- Internal functions - Ready-made non-clip functions to use in scripts.
- User defined script functions - How to define and use them in scripts.
- Plugins - How to load plugins (AviSynth, VirtualDub, VFAPI and C-plugins), autoloading and name-precedence.
- Runtime environment - Scripting on a per clip frame basis.
- Scripting reference - Beyond scripting basics.
- The full AviSynth grammar - The AviSynth grammar revisited and explained in detail.
- 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.
AviSynth FAQ, Guides and Advanced topics
- AviSynth FAQ - Answers to many common problems.
- Aspect ratios explained - Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.
- Guides - Tips on specific conversion types and common tasks.
- Advanced topics - About topics such as the Chroma Upsampling Error, color conversions, hybrid video, motion compensation, 10-bit video and other advanced subjects.
- Advanced Scripting Tips - Using recursion, weaving 3 clips, and other programming tips.
- Want to get involved?
- The official  project.
- Learn how to compile AviSynth, AviSynth plugins and console applications that access AviSynth. (todo - move first to Filter_SDK)
- Learn how to debug AviSynth, AviSynth plugins and console applications that access AviSynth.
- Filter SDK - AviSynth plugin programming tips.
- Avisynth Plugin Development in C - A tutorial to write a plugin with C.
- AviSynth Developer Forum
- The ongoing changelist.
- About the development of AviSynth v3 (which will be platform independent).
- References to image processing algorithms Image Processing Algorithms
AviSynth documentation copyright
AviSynth documentation is Copyright (c) 2002-2014 AviSynth developers and contributors.
Starting from 5 August 2007 the documentation on this site (avisynth.org and avisynth.nl) is released under the CreativeCommons Attribution-ShareAlike 3.0 License (abbreviated by "CC BY-SA 3.0", see also full license terms). More information can be found here.