Main Page

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (AviSynth Wiki: rephrase the paragraph)
(proposed reformat: 2-column layout w/ images + Intro rewrite + other tweaks)
Line 1: Line 1:
<p style="clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;"><!-- These should be fundamental categories -->  
+
__NOTOC__
[[AviSynth FAQ]] | [[Internal filters]] | [[External filters]] | [[AviSynth Syntax]] | [http://sourceforge.net/projects/avisynth2/ Sourceforge] | [http://forum.doom9.org/forumdisplay.php?s=&forumid=33 Doom9 Forum]</p>
+
<div style="min-width: 700px; max-width: 1400px; margin: auto;">
 +
<p style="clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;">
 +
<!-- These should be fundamental categories -->  
 +
[[AviSynth FAQ]] |  
 +
[[Internal filters]] |  
 +
[[External filters]] |  
 +
[[AviSynth Syntax]] |  
 +
[http://sourceforge.net/projects/avisynth2/ Sourceforge] |  
 +
[http://forum.doom9.org/forumdisplay.php?s=&forumid=33 Doom9 Forum]
 +
</p>
 +
<div id="avisyn_mainpage_topbox"> <!-- TOP BOX -->
 +
<div style="margin:1em 2em;">
 +
<div class="avisyn_mainpage_boxcontents" style="text-align:left">
 +
<div id="avisyn_mainpage_pagetitle" style="background-color:inherit; font-family:Arial;font-size:200%; margin:0.5em 2em; text-align:center">[[File:Avisynth-logo-tray.png|280px|AviSynth]] 
 +
</div> <div style="background-color:inherit; width:85%; margin:0.5em 3em; text-align:left; ">
 +
=== What is AviSynth? === __NOEDITSECTION__
 +
*It’s a powerful tool for '''video post-production.'''
 +
*It’s a '''[[frameserver]]''', providing instant transfer to other video applications without the need for temporary files.
 +
*It’s a '''script system''' for '''[[NLE|non-linear editing]]''' and '''[[Filter|video filters]]''' and effects.
 +
<p style="margin-left:1em;">
 +
AviSynth itself does not provide a graphical user interface (GUI). While scripting may at first seem tedious and unintuitive, it 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'''. You have complete control of everything.
 +
</p>
 +
<p style="margin-left:1em;">
 +
The scripting language is '''simple yet powerful''' – basic [[Filter|filters]] can be combined to create useful and unique effects. It is easy to [[Script_examples|create a quick script]] to solve some video problem. It can do '''much more''' than that, though: to get an idea, take a quick glance at all the [[External_filters|third-party plugins]] available, or [http://forum.doom9.org/forumdisplay.php?s=&forumid=33 browse the doom9 forum] to see what AviSynth users and developers are getting up to lately!
 +
</p>
 +
<p style="margin-left:1em;">
 +
AviSynth takes its name from [[wikipedia:Audio_Video_Interleave|''AVI'']], a digital media format, and ''Synthesis'', because it creates [http://en.wikipedia.org/wiki/Synthesizer (synthesizes)] a ''virtual'' (in memory, not on disk) media file – “generating video and audio data according to the script and feeding it to the application as needed.” (in the [[Original_AviSynth_announcement|words of its inventor]], Ben Rudiak-Gould). It ''could'' be used as a [http://en.wikipedia.org/wiki/Video_synthesizer Video Synthesizer], but this is not its usual function.
 +
</p>
 +
AviSynth is '''free open-source software''', under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License GPLv2]; see [[Avisynth_wiki:Copyrights|Copyrights]].
 +
</div></div></div></div>
 +
{| role="presentation" style="border:0; margin:0;" width="90%" cellspacing="10"
 +
| style="vertical-align: top; width:60%; padding-right:2em; padding-top: 1em;" |  <!-- Row 1 Left -->
 +
=== {{ReverseHeading3|New to AviSynth – Start Here}} === __NOEDITSECTION__
 +
* '''[[first script|Your first script]]''' – A guide for total newbies.
 +
* '''[[Getting started]]''' – An introductory guide.
 +
* '''[[Grammar]]''' – An introduction to the AviSynth scripting language.
 +
* '''[[Filter introduction]]''' – An introductory guide to most common AviSynth [[Filter|filters]].
 +
* '''[[Script examples]]''' – Putting everything together in the real world.
 +
* '''[[AviSynth FAQ]]''' – Answers to many common problems.
 +
* [[More_about_AviSynth|More information]] ''(How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)''
 +
* Some guides explaining the basic possibilities of AviSynth:
 +
** [http://www.doom9.org/capture/postprocessing_avisynth.html 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.
 +
** [http://www.l33tmeatwad.com/avisynth101 AviSynth 101] [http://web.archive.org/web/20141018100556/http://www.l33tmeatwad.com/avisynth101 mirror] – A guide by l33tmeatwad, it includes mostly current information on software setup, video basics, importing videos, handling audio, using filters and other useful information.
 +
** [http://salp.wikia.com/wiki/AviSynth_Basics AviSynth Basics] – another guide for beginners.
 +
** [http://www.animemusicvideos.org/guides/avtech/avisyntha.html Introduction AviSynth from AnimeMusicVideos.org]. A basic guide about deinterlacing, resizing and some other basic stuff.
 +
** [http://www.animemusicvideos.org/guides/avtech/avspostqual.html Introduction basic AviSynth filters from AnimeMusicVideos.org]. A basic guide about smoothers, rainbow removal, sharpeners, color adjustment and some other basic stuff.
  
== What is AviSynth? ==
+
|style="vertical-align: top; width:40%; padding-top: 1em;" |  <!-- Row 1 Right -->
 +
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__
 +
*'''Official builds'''
 +
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]
  
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.
+
*''Unofficial builds''
 +
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] at forum.doom9.org
  
AviSynth itself does not provide a graphical user interface (GUI), but instead relies on a script system that allows advanced [[NLE|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.
+
*'''Forks'''
 +
::[http://forum.doom9.org/showthread.php?t=168856 AviSynth+, 32-bit and 64-bit, author ultim] at forum.doom9.org. Download: [http://www.avs-plus.net/ avs-plus.net] | Wiki page: [[AviSynth+]]
 +
::[http://www.avxsynth.org/ AvxSynth: a Linux port of AviSynth] AvxSynth is a native port of AviSynth 2.5.8 running on Ubuntu 32/64.
  
Interested? Download AviSynth from one of the links below, then scroll down to [[#New_to_AviSynth_-_start_here|New to AviSynth - start here]]!
+
*''Deprecated''
 +
::v.2.5.8 MT, 32-bit, author SET, [http://forum.doom9.org/showthread.php?t=148117 discussion at forum.doom9.org]
 +
::v.2.5.8 MT, 64-bit, author SET, [http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org]  
  
AviSynth is free open-source software, under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License version 2.0 (GPLv2)]
+
*''Bugs and issues''
 +
::[[Known Issues v2.58|Known Issues in v2.58]].
 +
::[[Known Issues|Known Issues in v2.60]].
  
=== Official builds ===
+
|-
 +
|style="vertical-align:top; width:60%; padding-right:2em; padding-top: 1em;" | <!-- Row 2 Left -->
 +
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__
 +
''The official reference documentation.''
 +
* [[AviSynth Syntax|AviSynth Syntax overview]]
 +
** '''[[Script variables]]''' – How to declare and use them in scripts.
 +
** '''[[Operators]]''' – Available operators and relative precedence.
 +
** '''[[Internal functions]]''' – General purpose functions for math, logic etc.
 +
** '''[[Clip properties]]''' – Properties such as Width, Height, Framerate etc.
 +
** '''[[Control structures]]''' – Language constructs for script flow control.
 +
** '''[[User defined script functions]]''' – How to define and use them in scripts.
 +
** '''[[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.
 +
** '''[[Runtime environment]]''' – Scripting on a per-clip frame basis.
  
*[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]
+
|style="vertical-align:top; width:40%; padding-top: 1em;" | <!-- Row 2 Right -->
 +
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__
 +
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.
 +
* '''[[External filters]]''' – Hundreds of separately downloadable filters, organized by category.
 +
* User pages hosted on this site:
 +
** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection – Warpenterprises]
 +
** [http://www.avisynth.nl/users/fizick/fizick.html Fizick’s AviSynth plugins]
 +
** [http://www.avisynth.nl/users/vcmohan/ vcmohan’s Plugin Filters]
 +
** [http://www.avisynth.nl/users/stickboy/ stickboy’s AviSynth Stuff]
 +
* [[Shared functions]] – Commonly used script functions.
 +
* [[Utilities]] – A list of GUIs, command-line, batch and other AviSynth related utilities.
  
=== Unofficial builds ===
+
|-
 +
|style="vertical-align:top; width:60%; padding-right:2em; padding-top: 1em;" | <!-- Row 3 Left -->
 +
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__
 +
''Beyond scripting basics''
 +
* [[Scripting reference|Scripting reference overview]]
 +
** [[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.
  
*[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] at forum.doom9.org
+
|style="vertical-align:top; width:40%; padding-top: 1em;" | <!-- Row 3 Right -->
 +
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]
 +
<div style="text-align:center;">
 +
[[File:Maskhs.jpg|100px|link=MaskHS|MaskHS(startHue=105, endHue=138)]]
 +
[[File:Histogram audiolevels.jpg|120px|link=Histogram#Audiolevels_mode|Histogram(mode="audiolevels")]]
  
=== Forks ===
+
[[File:Histogram-tournesol-color2.png|center|240px|link=Histogram#Color2_mode|Histogram(mode="color2")]]
 +
</div>
  
*[http://forum.doom9.org/showthread.php?t=168856 AviSynth+, 32-bit and 64-bit, author ultim] at forum.doom9.org. Download: [http://www.avs-plus.net/ avs-plus.net] | Wiki page: [[AviSynth+]]
+
|-
 
+
|style="vertical-align:top; width:60%; padding-right:2em; padding-top: 1em;" | <!-- Row 4 Left -->
*[http://www.avxsynth.org/ AvxSynth: a Linux port of AviSynth] AvxSynth is a native port of AviSynth 2.5.8 running on Ubuntu 32/64.
+
=== {{ReverseHeading3|Guides and Advanced topics}} === __NOEDITSECTION__
 
+
* [[Guides]] – Tips on specific conversion types and common tasks.
====Deprecated====
+
 
+
*v.2.5.8 MT, 32-bit, author SET, [http://forum.doom9.org/showthread.php?t=148117 discussion at forum.doom9.org]
+
 
+
*v.2.5.8 MT, 64-bit, author SET, [http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org]
+
 
+
=== Bugs and issues ===
+
 
+
* A list of bugs which are present in v2.58: [[Known Issues v2.58]].
+
* A list of bugs which are present in v2.60: [[Known Issues|Known Issues v2.60]].
+
 
+
== Usage ==
+
 
+
=== New to AviSynth - start here ===
+
 
+
* '''[[first script|Your first script]]''' - A guide for total newbies.
+
* '''[[Getting started]]''' - An introductory guide for getting started with AviSynth.
+
* '''[[Script examples]]''' - Assorted examples for putting everything together in the real world.
+
* [[Filter introduction]] - An introductory guide to most common AviSynth filters.
+
* Some guides explaining the basic possibilities of AviSynth:
+
** [http://www.doom9.org/capture/postprocessing_avisynth.html 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.
+
** [http://www.l33tmeatwad.com/avisynth101 AviSynth 101] [http://web.archive.org/web/20141018100556/http://www.l33tmeatwad.com/avisynth101 mirror] - A guide by l33tmeatwad, it includes mostly current information on software setup, video basics, importing videos, handling audio, using filters and other useful information.
+
** [http://salp.wikia.com/wiki/AviSynth_Basics AviSynth Basics] - another guide for beginners.
+
** [http://www.animemusicvideos.org/guides/avtech/avisyntha.html Introduction AviSynth from AnimeMusicVideos.org]. A basic guide about deinterlacing, resizing and some other basic stuff.
+
** [http://www.animemusicvideos.org/guides/avtech/avspostqual.html 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.
 
* [[Troubleshooting]] your scripts and configuration.
* Read [[more about AviSynth]] ''(How does it work? When is it useful? Why no GUI? What applications work well with Avisynth?)''
+
* [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips.
 
+
* [[Advanced topics]] – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.
=== Filters, external plugins, script functions and utilities ===
+
* [[Aspect ratios|Aspect ratios explained]] Introduction to aspect ratios (DAR, PAR, SAR), and how to use that for resizing your clip.
 
+
* [[High_bit-depth_Support_with_Avisynth|High bit-depth ('''Deep Color''') support with AviSynth]]
* '''[[Internal filters]]''' - The official list and descriptions of included filters, organized by category.
+
{|
* '''[[External filters]]''' - Documentation of custom script functions and AviSynth v2.5x and v2.6 plugins.
+
|[[File:Downsampling_bilinear.png|center|180px|link=Resampling#Bilinear_resampler|Resampling: Bilinear upsampling]]
* User pages hosted on this site:
+
|[[File:Blackman.jpg|center|180px|link=Resampling#Blackman_resampler|Resampling: Blackman filter response]]
** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection - Warpenterprises]
+
|}
** [http://www.avisynth.nl/users/fizick/fizick.html Fizick's AviSynth plugins]
+
** [http://www.avisynth.nl/users/vcmohan/ vcmohan's Plugin Filters]
+
** [http://www.avisynth.nl/users/stickboy/ stickboy's AviSynth Stuff]
+
* [[Shared functions]] - Commonly used script functions.
+
* [[Utilities]] - A list of GUIs, command-line, batch and other AviSynth related utilities.
+
 
+
=== AviSynth Syntax ===
+
 
+
* [[AviSynth Syntax]] - The official reference documentation.
+
** '''[[Grammar]]''' - The grammar of AviSynth script language. An introduction to AviSynth scripting.
+
** '''[[Internal functions]]''' - Ready-made non-clip functions to use in scripts.
+
** [[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.
+
** [[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|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 Scripting Tips]] - Using recursion, weaving 3 clips, and other programming tips.
+
* [[Advanced topics]] - Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.
+
* [[High_bit-depth_Support_with_Avisynth|High bit-depth (Deep Color) support with Avisynth]]
+
 
+
== Development ==
+
  
 +
|style="vertical-align:top; width:40%; padding-top: 1em;" | <!-- Row 4 Right -->
 +
=== {{ReverseHeading3|Coders}} === __NOEDITSECTION__
 
* Want to [[get involved]]?
 
* Want to [[get involved]]?
 
* The [http://sourceforge.net/projects/avisynth2/ official project].
 
* The [http://sourceforge.net/projects/avisynth2/ official project].
 
* Learn how to [[Filter_SDK/Compile AviSynth|compile AviSynth]], [[Filter_SDK/Compiling_instructions|AviSynth plugins]] and [[Filter_SDK/Compiling_instructions|console applications that access AviSynth]].
 
* Learn how to [[Filter_SDK/Compile AviSynth|compile AviSynth]], [[Filter_SDK/Compiling_instructions|AviSynth plugins]] and [[Filter_SDK/Compiling_instructions|console applications that access AviSynth]].
 
* Learn how to debug [[Filter_SDK/Debugging_instructions|AviSynth]], [[Filter_SDK/Debugging_instructions|AviSynth plugins]] and [[Filter_SDK/Debugging_instructions|console applications that access AviSynth]].
 
* Learn how to debug [[Filter_SDK/Debugging_instructions|AviSynth]], [[Filter_SDK/Debugging_instructions|AviSynth plugins]] and [[Filter_SDK/Debugging_instructions|console applications that access AviSynth]].
* [[Filter SDK]] - AviSynth plugin programming tips.
+
* [[Filter SDK]] AviSynth plugin programming tips.
* [[Avisynth Plugin Development in C]] - A tutorial to write a plugin with C.
+
* [[Avisynth Plugin Development in C]] A tutorial to write a plugin with&nbsp;C.
 
* [http://forum.doom9.org/forumdisplay.php?s=&forumid=69 AviSynth Developer Forum]
 
* [http://forum.doom9.org/forumdisplay.php?s=&forumid=69 AviSynth Developer Forum]
 
* The ongoing [[changelist]].
 
* The ongoing [[changelist]].
Line 108: Line 141:
 
* References to [[Image Processing Algorithms|image processing algorithms]].
 
* References to [[Image Processing Algorithms|image processing algorithms]].
  
== AviSynth Wiki ==
+
|-
 
+
| colspan="1" style="vertical-align:top; padding-top: 1em;" | <!-- Row 5 Left -->
Welcome to our MediaWiki. Feel free to pitch in and help out! We need your help to build and improve our site. Please see the [http://meta.wikipedia.org/wiki/MediaWiki_User%27s_Guide MediaWiki User's Guide] to learn about Wiki editing. If you are interested in porting this documentation to another language, please see the [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation Guide.]  '''Filter and script authors''' - please submit your documentation to the Wiki! See [http://forum.doom9.org/showthread.php?t=171356 this thread on doom9.org] for a guide on how to easily get involved.
+
=== {{ReverseHeading3|About This Website}} === __NOEDITSECTION__
 
+
We need your help to build and improve our site!
== AviSynth documentation copyright ==
+
*'''Editing''' is easy! Please see [http://www.mediawiki.org/wiki/Help:Editing_pages Editing pages] and [http://www.mediawiki.org/wiki/Help:Formatting Formatting].
 +
*To port this site to '''another language''', please see the [http://www.mediawiki.org/wiki/Localisation MediaWiki Localisation Guide.]   
 +
*'''Filter and script authors''' please see [http://forum.doom9.org/showthread.php?t=171356 Submit your Documentation] on doom9.org.
  
AviSynth documentation is Copyright (c) 2002-2015 AviSynth developers and contributors - see the  [[Avisynth_wiki:Copyrights|Copyrights]] page for more information.
+
|style="vertical-align:top; font-size:96%; width:40%; padding-top: 1.5em;" | <!-- Row 5 Right -->
 +
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__
 +
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.
  
Starting from 5 August 2007 the documentation on this site (avisynth.org and avisynth.nl) is released under the [http://creativecommons.org/licenses/by-sa/3.0/ Creative Commons Attribution-ShareAlike 3.0 License] (abbreviated by "CC BY-SA 3.0", see also [http://creativecommons.org/licenses/by-sa/3.0/legalcode full license terms]).
+
The contents of [http://avisynth.org avisynth.org] and [http://avisynth.nl avisynth.nl] are released under the ''Creative Commons Attribution-ShareAlike 3.0 License'' [http://creativecommons.org/licenses/by-sa/3.0/ (CC BY-SA 3.0)].
  
 +
|}
 +
</div>
 
[[Category:AviSynth]]
 
[[Category:AviSynth]]

Revision as of 05:56, 11 November 2015

AviSynth FAQ | Internal filters | External filters | AviSynth Syntax | Sourceforge | Doom9 Forum

AviSynth

What is AviSynth?

  • It’s a powerful tool for video post-production.
  • It’s a frameserver, providing instant transfer to other video applications without the need for temporary files.
  • It’s a script system for non-linear editing and video filters and effects.

AviSynth itself does not provide a graphical user interface (GUI). While scripting may at first seem tedious and unintuitive, it 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. You have complete control of everything.

The scripting language is simple yet powerful – basic filters can be combined to create useful and unique effects. It is easy to create a quick script to solve some video problem. It can do much more than that, though: to get an idea, take a quick glance at all the third-party plugins available, or browse the doom9 forum to see what AviSynth users and developers are getting up to lately!

AviSynth takes its name from AVI, a digital media format, and Synthesis, because it creates (synthesizes) a virtual (in memory, not on disk) media file – “generating video and audio data according to the script and feeding it to the application as needed.” (in the words of its inventor, Ben Rudiak-Gould). It could be used as a Video Synthesizer, but this is not its usual function.

AviSynth is free open-source software, under the GNU General Public License GPLv2; see Copyrights.

New to AviSynth – Start Here

  • Your first script – A guide for total newbies.
  • Getting started – An introductory guide.
  • Grammar – An introduction to the AviSynth scripting language.
  • Filter introduction – An introductory guide to most common AviSynth filters.
  • Script examples – Putting everything together in the real world.
  • AviSynth FAQ – Answers to many common problems.
  • More information (How does it work? When is it useful? Why no GUI? What applications work well with AviSynth?)
  • 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.
    • AviSynth 101 mirror – A guide by l33tmeatwad, it includes mostly current information on software setup, video basics, importing videos, handling audio, using filters and other useful information.
    • AviSynth Basics – another guide for beginners.
    • 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.

Download AviSynth

  • Official builds
v.2.6.0 ST, 32-bit at SourceForge
  • Unofficial builds
v.2.6.0 MT, 32-bit, author SET at forum.doom9.org
  • Forks
AviSynth+, 32-bit and 64-bit, author ultim at forum.doom9.org. Download: avs-plus.net | Wiki page: AviSynth+
AvxSynth: a Linux port of AviSynth AvxSynth is a native port of AviSynth 2.5.8 running on Ubuntu 32/64.
  • Deprecated
v.2.5.8 MT, 32-bit, author SET, discussion at forum.doom9.org
v.2.5.8 MT, 64-bit, author SET, compiled by JoshyD at forum.doom9.org
  • Bugs and issues
Known Issues in v2.58.
Known Issues in v2.60.

Script Syntax

The official reference documentation.

Filters and Utilities

Scripting reference

Beyond scripting basics

  • Scripting reference overview
    • 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.
ChannelMixer before and after

MaskHS(startHue=105, endHue=138) Histogram(mode="audiolevels")

Histogram(mode="color2")

Guides and Advanced topics

Resampling: Bilinear upsampling
Resampling: Blackman filter response

Coders

About This Website

We need your help to build and improve our site!

Documentation Copyright

AviSynth documentation is Copyright (c) 2002-2025 AviSynth developers and contributors.

The contents of avisynth.org and avisynth.nl are released under the Creative Commons Attribution-ShareAlike 3.0 License (CC BY-SA 3.0).

Personal tools