Hubbry Logo
search
logo

AviSynth

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
AviSynth

AviSynth is a frameserver program for Microsoft Windows, Linux and macOS initially developed by Ben Rudiak-Gould, Edwin van Eggelen, Klaus Post, Richard Berg and Ian Brabham in May 2000 and later picked up and maintained by the open source community which is still active nowadays. It is free software licensed under the GNU General Public License.

AviSynth acts as a non-linear video editor controlled entirely by scripting (without a GUI). It emulates an AVI video file (or WAV audio file) as seen by the VFW downstream application, which is typically a media player, video editing software, or an encoder.

AviSynth is built upon filters, which are much like DirectShow filters, but with a different binary interface. Filter capabilities include cropping, deinterlacing, inverse telecine, working with still images, doing basic color grading, reducing video noise, and many other things. AviSynth also performs traditional video editing tasks like cutting, trimming and re-sequencing segments.

For example, consider the script "myAvi.avs" (just a plain text-file saved with the extension "avs")

This script file can be opened in most media players (such as Windows Media Player). The program will play the video file "myAvi.avi" cropped down to its top-left 320 pixels by 240 pixels and blurred by a small amount. Operations occur in sequential order, so the cropping occurs first, then the blurring.

Technically, AviSynth constructs a filter graph (like Microsoft GraphEdit but with added capabilities), controlled by scripts written in the AviSynth scripting language. Its functionality can be extended through the use of third-party filters known as plugins. An external plugin list is maintained at AviSynth Filter Collection.

AviSynth is a frameserver – the calling program requests audio/video frames and the script serves them. The calling program can call frames in any order, allowing it to pause, jump forward or backward etc., just as with a physical file.

The scripting language is a dataflow language: a programming paradigm that describes a directed graph of the data flowing between operations. It lacks some procedural programming control structures, but it contains many features familiar to programmers, including variables, distinct datatypes, conditionals, and complex expressions.

See all
User Avatar
No comments yet.