Main Page
Raffriff42 (Talk | contribs) m (→AviSynth FAQ, Guides and Advanced topics: move high bit-depth link to front page) |
|||
(45 intermediate revisions by 9 users not shown) | |||
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> | ||
+ | [[File:Avisynth-logo-tray.png|center|280px|AviSynth]] | ||
− | == | + | {| role="presentation" style="border:0; margin:0;" width="90%" cellspacing="10" |
+ | | colspan="2"| <!-- Row 0 --> | ||
+ | === {{ReverseHeading3|Donations}} === __NOEDITSECTION__ | ||
+ | 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 contents is maintained by several people and I'm very grateful for there time, the hosting costs a lot of money. If you are happy with the site please give a donation! I would be very grateful and we can keep this site a live: | ||
+ | * You can donate by buying me a coffee: https://buymeacoffee.com/avisynth | ||
+ | * You can donate using paypal: https://paypal.me/avisynth/ | ||
+ | |||
+ | === {{ReverseHeading3|What is AviSynth?}} === __NOEDITSECTION__ | ||
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 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 [[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. | 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> | ||
+ | <p> | ||
+ | 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> | ||
− | + | |- | |
+ | | style="vertical-align: top; width:50%; 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?)'' | ||
+ | * [[Guides]] – Guides explaining the basics, tips on specific conversion types and common tasks. | ||
+ | * [[Troubleshooting]] your scripts and configuration. | ||
− | |||
− | === | + | {|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__ | |
+ | *'''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) ] | ||
+ | ::[https://github.com/AviSynth/AviSynthPlus/releases Latest release (GitHub) ] | ||
+ | ::[https://forum.doom9.org/showthread.php?t=181351 Discussion] at forum.doom9.org | ||
− | *[http://sourceforge.net/projects/avisynth2 | + | *''Deprecated Official builds'' |
+ | ::[http://sourceforge.net/projects/avisynth2/ v.2.6.0 ST, 32-bit] at [[SourceForge]] | ||
− | + | *''Deprecated Unofficial builds'' | |
+ | ::[http://forum.doom9.org/showthread.php?t=148782 v.2.6.0 MT, 32-bit, author SET] <br>at forum.doom9.org | ||
− | *[http://forum.doom9.org/showthread.php?t= | + | *'''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 [http://forum.doom9.org/showthread.php?t=172124 here] at forum.doom9.org | ||
− | == | + | *''Deprecated Multithread Version'' |
+ | ::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, <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. | ||
− | * | + | *''Old Bugs and issues'' |
+ | ::[[Known Issues v2.58|Known Issues in v2.58]]. | ||
+ | ::[[Known Issues|Known Issues in v2.60]]. | ||
− | *[ | + | |- |
+ | |style="vertical-align:top; width:50%; 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. | ||
+ | ** '''[[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:50%; 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. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | === Filters | + | |
− | + | ||
− | * [[Internal filters]] | + | |
− | * [[External filters]] | + | |
* User pages hosted on this site: | * User pages hosted on this site: | ||
− | ** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection | + | ** [http://www.avisynth.nl/users/warpenterprises/ AviSynth Filter Collection – Warpenterprises] |
− | ** [http://www.avisynth.nl/users/fizick/fizick.html | + | ** [http://www.avisynth.nl/users/fizick/fizick.html Fizick’s AviSynth plugins] |
− | ** [http://www.avisynth.nl/users/vcmohan/ | + | ** [http://www.avisynth.nl/users/vcmohan/ vcmohan’s Plugin Filters] |
− | ** [http://www.avisynth.nl/users/stickboy/ | + | ** [http://www.avisynth.nl/users/stickboy/ stickboy’s AviSynth Stuff] |
− | * [[Shared functions]] | + | * [[Shared functions]] – Commonly used script functions. |
− | * [[Utilities]] | + | * [[Utilities]] – A list of GUIs, command-line, batch and other AviSynth related utilities. |
− | === | + | |- |
+ | |style="vertical-align:top; width:50%; 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. | ||
− | + | |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]] | |
− | + | <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")]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | [[File:Histogram-tournesol-color2.png|center|240px|link=Histogram#Color2_mode|Histogram(mode="color2")]] |
+ | </div> | ||
− | + | |- | |
− | + | |style="vertical-align:top; width:50%; padding-right:2em; padding-top: 1em;" | <!-- Row 4 Left --> | |
− | + | === {{ReverseHeading3|Advanced topics}} === __NOEDITSECTION__ | |
− | * [[Advanced Scripting Tips]] | + | * [[Advanced Scripting Tips]] – Using recursion, weaving 3 clips, and other programming tips. |
− | * [[Advanced topics]] | + | * [[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 | + | * [[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]] | |
− | == | + | {| |
+ | |[[File:Downsampling_bilinear.png|center|180px|link=Resampling#Bilinear_resampler|Resampling: Bilinear upsampling]] | ||
+ | |[[File:Blackman.jpg|center|180px|link=Resampling#Blackman_resampler|Resampling: Blackman filter response]] | ||
+ | |} | ||
+ | |style="vertical-align:top; width:50%; padding-top: 1em;" | <!-- Row 4 Right --> | ||
+ | === {{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]]. | ||
− | * [[Filter SDK]] | + | * [[Filter SDK]] – AviSynth plugin programming tips. |
− | * [[Avisynth Plugin Development in C]] | + | * [[Avisynth Plugin Development in C]] – A tutorial to write a plugin with 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 109: | Line 159: | ||
* References to [[Image Processing Algorithms|image processing algorithms]]. | * References to [[Image Processing Algorithms|image processing algorithms]]. | ||
− | == | + | |- |
− | + | | colspan="1" style="vertical-align:top; padding-top: 1em;" | <!-- Row 5 Left --> | |
− | + | === {{ReverseHeading3|About This Website}} === __NOEDITSECTION__ | |
− | + | We need your help to build and improve our site! | |
− | = | + | *'''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, and the documentation template [[ExampleFilter]]. | ||
− | AviSynth documentation is Copyright (c) 2002- | + | |style="vertical-align:top; font-size:96%; width:50%; padding-top: 1em;" | <!-- Row 5 Right --> |
+ | === {{ReverseHeading3|Documentation Copyright}} === __NOEDITSECTION__ | ||
+ | AviSynth documentation is [[Avisynth_wiki:Copyrights|Copyright (c) 2002-{{CURRENTYEAR}}]] AviSynth developers and contributors. | ||
− | + | 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]] |
Latest revision as of 20:28, 17 September 2024
AviSynth FAQ | Internal filters | External filters | AviSynth Syntax | Sourceforge | Doom9 Forum
DonationsHello everyone! I have been hosting this wiki for a long time. I have been hosting it since around 2010 (from Richard Berg). Although the contents is maintained by several people and I'm very grateful for there time, the hosting costs a lot of money. If you are happy with the site please give a donation! I would be very grateful and we can keep this site a live:
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. </p> AviSynth is free open-source software, and licensed under the GNU General Public License GPLv2. | |||||||
New to AviSynth – Start Here
|
Download AviSynth
| ||||||
Script SyntaxThe official reference documentation.
|
Filters and Utilities
| ||||||
Scripting referenceBeyond scripting basics
|
| ||||||
Advanced topics
|
Development
| ||||||
About This WebsiteWe need your help to build and improve our site!
|
Documentation CopyrightAviSynth 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). |