Main Page

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (link to ExampleFilter ('About This Website' section))
(Undo revision 13294 by 105.189.24.115 (talk))
 
(31 intermediate revisions by 8 users not shown)
Line 10: Line 10:
 
[http://forum.doom9.org/forumdisplay.php?s=&forumid=33 Doom9 Forum]
 
[http://forum.doom9.org/forumdisplay.php?s=&forumid=33 Doom9 Forum]
 
</p>
 
</p>
<div id="avisyn_mainpage_topbox"> <!-- TOP BOX -->
+
[[File:Avisynth-logo-tray.png|center|280px|AviSynth]]  
<div style="margin:1em 2em;">
+
 
<div class="avisyn_mainpage_boxcontents" style="text-align:left">
+
{| role="presentation" style="border:0; margin:0;" width="90%" cellspacing="10"
<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]]
+
| colspan="2"| <!-- Row 0 -->
</div> <div style="background-color:inherit; width:85%; margin:0.5em 3em; text-align:left; ">
+
=== {{ReverseHeading3|What is AviSynth?}} === __NOEDITSECTION__
=== What is AviSynth? === __NOEDITSECTION__
+
<p>
*It’s a powerful tool for '''video post-production.'''
+
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.
*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.
+
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.
<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>
<p style="margin-left:1em;">
+
<p>
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!
+
AviSynth is free open-source software, and licensed under the [http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License GPLv2].
 
</p>
 
</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>
+
| style="vertical-align: top; width:50%; padding-right:2em; padding-top: 1em;" |  <!-- Row 1 Left -->
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__
 
=== {{ReverseHeading3|New to AviSynth – Start Here}} === __NOEDITSECTION__
 
* '''[[first script|Your first script]]''' – A guide for total newbies.
 
* '''[[first script|Your first script]]''' – A guide for total newbies.
Line 40: Line 34:
 
* '''[[AviSynth FAQ]]''' – Answers to many common problems.
 
* '''[[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?)''
 
* [[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:
+
* [[Guides]] – Guides explaining the basics, tips on specific conversion types and common tasks.
** [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.
+
* [[Troubleshooting]] your scripts and configuration.
** [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.
+
  
|style="vertical-align: top; width:40%; padding-top: 1em;" |  <!-- Row 1 Right -->
+
 
 +
{|style="border:none;max-width:26em;margin-left:1em"
 +
|style="padding:0.5em"|[[File:Overlay-example-lighten.png|104px|link=Overlay|Overlay: Lighten mode]]
 +
|style="padding:0.5em"|[[File:Layer-example-lite.png|104px|link=Layer|Layer: Lighten mode]]
 +
|style="padding:0.5em"|[[File:Overlay-example-subtract.png|104px|link=Overlay|Overlay: Subtract mode]]
 +
|-
 +
|style="padding:0.5em"|[[File:Overlay-example-add.png|104px|link=Overlay|Overlay: Add mode]]
 +
|style="padding:0.5em"|[[File:Layer-example-mul-rgb.png|104px|link=Layer|Layer: Multiply mode]]
 +
|style="padding:0.5em"|[[File:Layer-base-Lena.png|104px|link=File:Lenna.png|Lenna]]
 +
|}
 +
 
 +
|style="vertical-align: top; width:50%; padding-top: 1em;" |  <!-- Row 1 Right -->
 
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__
 
=== {{ReverseHeading3|Download AviSynth}} === __NOEDITSECTION__
*'''Official builds'''
+
*'''Current Builds'''
 +
::{{AvsPlusFullname}}
 +
::New features, backward compatible, native support for Unix-like OSes.
 +
::[[AviSynth%2B|Wiki page]]
 +
::[http://www.avs-plus.net/ Homepage (avs-plus.net)&nbsp;]
 +
::[https://github.com/AviSynth/AviSynthPlus/releases Latest release (GitHub)&nbsp;]
 +
::[https://forum.doom9.org/showthread.php?t=181351 Discussion] at forum.doom9.org
 +
 
 +
*''Deprecated Official builds''
 
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]
 
::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]]
  
*''Unofficial builds''
+
*''Deprecated Unofficial builds''
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] at forum.doom9.org
+
::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] <br>at forum.doom9.org
  
*'''Forks'''
+
*'''Universal Installer'''
::[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+]]
+
::Install&mdash;and quickly switch between&mdash;AviSynth versions:
::[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.
+
::* Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha
 +
::* Avisynth+ 32-bit, 64-bit
 +
::Get it [http://forum.doom9.org/showthread.php?t=172124 here] at forum.doom9.org
  
*''Deprecated''
+
*''Deprecated Multithread Version''
::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, 32-bit, author SET, <br>[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]  
+
::v.2.5.8 MT, 64-bit, author SET, <br>[http://forum.doom9.org/showthread.php?t=152800 compiled by JoshyD at forum.doom9.org]  
 +
::[https://github.com/avxsynth/avxsynth AvxSynth] <br>AviSynth 2.5.8 running on Ubuntu 32/64.
  
*''Bugs and issues''
+
*''Old Bugs and issues''
 
::[[Known Issues v2.58|Known Issues in v2.58]].
 
::[[Known Issues v2.58|Known Issues in v2.58]].
 
::[[Known Issues|Known Issues in v2.60]].
 
::[[Known Issues|Known Issues in v2.60]].
  
 
|-
 
|-
|style="vertical-align:top; width:60%; padding-right:2em; padding-top: 1em;" | <!-- Row 2 Left -->
+
|style="vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;" | <!-- Row 2 Left -->
 
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__
 
=== {{ReverseHeading3|Script Syntax}} === __NOEDITSECTION__
 
''The official reference documentation.''
 
''The official reference documentation.''
Line 80: Line 92:
 
** '''[[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.
 
** '''[[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.
 
** '''[[Runtime environment]]''' – Scripting on a per-clip frame basis.
 +
** '''[[Function objects]]''' – {{AvsPluscon}}user defined functions as variables, capture external variables, use them in ScriptClip instead of stringified script fragments.
  
|style="vertical-align:top; width:40%; padding-top: 1em;" | <!-- Row 2 Right -->
+
|style="vertical-align:top; width:50%; padding-top: 1em;" | <!-- Row 2 Right -->
 
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__
 
=== {{ReverseHeading3|Filters and Utilities}} === __NOEDITSECTION__
 
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.
 
* '''[[Internal filters]]''' – Included media [[Filter|filters]], organized by category.
Line 94: Line 107:
  
 
|-
 
|-
|style="vertical-align:top; width:60%; padding-right:2em; padding-top: 1em;" | <!-- Row 3 Left -->
+
|style="vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;" | <!-- Row 3 Left -->
 
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__
 
=== {{ReverseHeading3|Scripting reference}} === __NOEDITSECTION__
 
''Beyond scripting basics''
 
''Beyond scripting basics''
Line 106: Line 119:
  
 
|style="vertical-align:top; width:40%; padding-top: 1em;" | <!-- Row 3 Right -->
 
|style="vertical-align:top; width:40%; padding-top: 1em;" | <!-- Row 3 Right -->
 +
<br><br>
 
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]
 
[[File:ChannelMixer_Before%26After.png|center|240px|link=ChannelMixer|ChannelMixer before and after]]
 
<div style="text-align:center;">
 
<div style="text-align:center;">
Line 115: Line 129:
  
 
|-
 
|-
|style="vertical-align:top; width:60%; padding-right:2em; padding-top: 1em;" | <!-- Row 4 Left -->
+
|style="vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;" | <!-- Row 4 Left -->
=== {{ReverseHeading3|Guides and Advanced topics}} === __NOEDITSECTION__
+
=== {{ReverseHeading3|Advanced topics}} === __NOEDITSECTION__
* [[Guides]] – Tips on specific conversion types and common tasks.
+
* [[Troubleshooting]] your scripts and configuration.
+
 
* [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips.
 
* [[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.
 
* [[Advanced topics]] – Chroma Upsampling Error, color conversions, hybrid video, motion compensation, and other advanced subjects.
Line 128: Line 140:
 
|}
 
|}
  
|style="vertical-align:top; width:40%; padding-top: 1em;" | <!-- Row 4 Right -->
+
|style="vertical-align:top; width:50%; padding-top: 1em;" | <!-- Row 4 Right -->
=== {{ReverseHeading3|Coders}} === __NOEDITSECTION__
+
=== {{ReverseHeading3|Development}} === __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|install compilers and setup environments]].
 
* 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]].
Line 149: Line 162:
 
*'''Filter and script authors''' – please see [http://forum.doom9.org/showthread.php?t=171356 ''Submit your Documentation''] on doom9.org, and the documentation template [[ExampleFilter]].
 
*'''Filter and script authors''' – please see [http://forum.doom9.org/showthread.php?t=171356 ''Submit your Documentation''] on doom9.org, and the documentation template [[ExampleFilter]].
  
|style="vertical-align:top; font-size:96%; width:40%; padding-top: 1.5em;" | <!-- Row 5 Right -->
+
|style="vertical-align:top; font-size:96%; width:50%; padding-top: 1em;" | <!-- Row 5 Right -->
 
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__
 
=== {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__
 
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.
 
AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors.

Latest revision as of 19:55, 28 November 2023

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

AviSynth

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.

AviSynth is free open-source software, and licensed under the GNU General Public License GPLv2.

New to AviSynth – Start Here


Overlay: Lighten mode Layer: Lighten mode Overlay: Subtract mode
Overlay: Add mode Layer: Multiply mode Lenna

Download AviSynth

  • Current Builds
AviSynth+
New features, backward compatible, native support for Unix-like OSes.
Wiki page
Homepage (avs-plus.net) 
Latest release (GitHub) 
Discussion at forum.doom9.org
  • Deprecated Official builds
v.2.6.0 ST, 32-bit at SourceForge
  • Deprecated Unofficial builds
v.2.6.0 MT, 32-bit, author SET
at forum.doom9.org
  • Universal Installer
Install—and quickly switch between—AviSynth versions:
  • Avisynth 2.5.8, 2.6.0, 2.6.0 MT, 2.6.1 Alpha
  • Avisynth+ 32-bit, 64-bit
Get it here at forum.doom9.org
  • Deprecated Multithread Version
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
AvxSynth
AviSynth 2.5.8 running on Ubuntu 32/64.
  • Old 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")

Advanced topics

Resampling: Bilinear upsampling
Resampling: Blackman filter response

Development

About This Website

We need your help to build and improve our site!

Documentation Copyright

AviSynth documentation is Copyright (c) 2002-2024 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