AviSynth

AviSynth

Infobox_Software
name = AviSynth



caption =
developer = AviSynth developers
latest_release_version = 2.5.7 final
latest_release_date = January 7, 2007
operating_system = Windows
genre = Digital video frameserver
license = GNU GPL
website = http://www.avisynth.org

AviSynth is a frameserver program for Microsoft Windows developed by Ben Rudiak-Gould, Edwin van Eggelen, Klaus Post, Richard Berg, Ian Brabham and others. It is free software under GNU GPL license.

cripting video editor

AviSynth acts as a non-linear video editor (without a GUI) controlled entirely by scripting. It stands as an intermediary between a digital video source, like an AVI or MPEG, and a VFW receiving program, which is typically a media player, video editing software, or an encoder.

AviSynth communicates with any program that supports AVIs through the Video for Windows system by acting as a "fake" AVI file. It can apply a large variety of editing and processing functions (called filters) to a video stream before passing along the results as if it were a legitimate file being read. Filter capabilities include trimming, cropping, deinterlacing, inverse telecine, loading and splicing still images, doing color corrections, denoising, and many other things.

Technically, it acts as a codec for "AviSynth scripts", which are text files written in the [http://www.AviSynth.org/index.php?page=AviSynthManual AviSynth scripting language] . The scripting language can be extended through the use of plugins. A plugin list is maintained at [http://www.AviSynth.org/warpenterprises/ AviSynth Filter Collection] .

AviSynth filters work in several color spaces including RGB, YUY2 and YV12. This is necessary to allow all kinds of video input and output. Also, certain functions only work on certain color spaces, making conversion mandatory.

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

AviSource("myAvi.avi") Crop(0, 0, 320, 240) Blur(0.1)

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

AviSynth scripting language

The scripting language is a programming language, containing many features familiar to programmers, including variables, distinct datatypes, conditionals, and complex expressions.

The language deals primarily with videos, as a primitive data type. A typical script loads a video as input, applies processing to it, and then "returns" that video in the same way functions return values. The returned video is the output of the script, which is seen as the video by the program running the script.

The language also has several other more standard data types, including int, float, bool and string. These can be used to perform calculations, decisions, and write text such as subtitles to the video.

The processing work is largely done by functions or filters (the two terms are interchangeable). The programmer can pass arguments to one of many built-in functions, and a value may be returned. Also, many functions take a video stream as an argument, and make changes to this stream.

Programmers may be unaware that they are constantly passing video streams into functions, since convention suggests that the video is not explicitly passed. If no video is passed into a function, it simply takes the last video used.

Additional functions/filters are available through plugins. The use of plugins is encouraged to extend the capabilities of AviSynth. (See AviSynth Filter Collection link for a list of plugins).

"Hello World"

This example is a "Hello World" program - it simply creates a video containing the words "Hello, world!". BlankClip() Subtitle("Hello, world!")The BlankClip function is necessary to create a new video, before having a subtitle displayed on top of it. The parentheses at the end of the word are optional, since no arguments are being passed, but are given in this case to indicate it is a function and not a variable.

The Subtitle function draws the words "Hello, world!" on top of the previously-created blank video.

Although the BlankClip and Subtitle functions both accept many more arguments (for example, controlling the size and length of the video, and the positioning, font, and color of the subtitle), this example leaves them out, so AviSynth simply uses its built-in defaults.

If the above text is entered into a .avs file, it can be opened in Windows Media Player or any of the other programs in the list above, and a video containing the text will be displayed.

Video-processing

This example takes an actual video, applies some simple processing, and returns it to the output. AviSource("C:Example.avi") ReduceBy2() GreyScale()The AviSource function is used to load a video from a real location. The DirectShowSource function could also be used. ReduceBy2 divides the vertical and horizontal size of the video in half, and GreyScale forces the video to greyscale colors.

Again, the above script can be entered into a .avs file and opened in a video player or editor. Assuming C:Example.avi exists, it will play a copy of that file, except that it will be half the size and greyscale.

User defined

The AviSynth scripting language allows for users to define their own functions.

This is an example of a function that allows you to dissolve from one clip to another without damaging interlacing lines.

clip1 = AVISource("video1.avi") clip2 = AVISource("video2.avi") return interlaced_dissolve(clip1,clip2,30) # dissolve from clip1 to clip2 over 30 frames function interlaced_dissolve(clip clip1, clip clip2, int iter) { clip1 = clip1.SeparateFields() evn1 = clip1.SelectEven() odd1 = clip1.SelectOdd() clip2 = clip2.SeparateFields() evn2 = clip2.SelectEven() odd2 = clip2.SelectOdd() evn = Dissolve(evn1,evn2,iter) odd = Dissolve(odd1,odd2,iter) return Interleave(evn,odd).Weave().DoubleWeave.SelectOdd() }

AviSynth 3.0 code rewrite

AviSynth 3.0 is a complete rewrite of AviSynth 2.5 and is still in development. It aims at overcoming limitations of AviSynth 2.x and editing and processing videos in a non-linear manner. It is being developed to offer more powerful frameserving capabilities through improvements such as an abstracted color space model, in which new color spaces (including two with 45-bit depth) can be supported through a plug-in mechanism, better cache management for better performance, and a more powerful scripting language. AviSynth 3 will also be available for other operating systems than Windows, and it will rely on GStreamer. Therefore, it will theoretically be compilable on every OS supported by GStreamer, such as Linux, Mac OS X and BSD.

AviSynth compatible programs

In addition, several programs have now been created which accept "only" AviSynth scripts as input - thereby simplifying the program itself but giving users the full power of AviSynth for input.

Some examples of this type of program are xvid_encraw - which is a command line encoder for the Xvid codec, and x264, which natively comes as a command line encoder. Both accept YV12 (4:2:0) input, and will produce MPEG-4 / MPEG-4 AVC compliant output.

There are also several batch encoding applications that tie together AviSynth with command line audio and video encoders and muxers to provide an all in one modular, customizable video encoding application. MeGUI is an example of this kind of application.

Although AviSynth is meant to be easily opened in simple text editing programs, there have been a set of powerful and friendly editors meant especially for AviSynth. AVSEdit was a popular editor but hasn't been updated since 2004. AvsP is the most used and most powerful editor at the moment.

ee also

*List of video editing software

External links

* AviSynth home page: [http://www.avisynth.org/ (English)] [http://avisynth.org/mediawiki/Main_Page/de (German)] [http://avisynth.org/mediawiki/Main_Page/el (Greek)] [http://avisynth.org/mediawiki/Main_Page/es (Spanish)] [http://avisynth.org/mediawiki/Main_Page/fr (French)] [http://avisynth.org/mediawiki/Main_Page/ja (Japanese)] [http://avisynth.org/mediawiki/Main_Page/pl (Polish)] [http://avisynth.org/mediawiki/Main_Page/ru (Russian)]
* [http://www.avisynth.org/warpenterprises/ AviSynth Filter Collection]
* [http://www.avisynth.org/index.php?page=AviSynthManual AviSynth scripting language]
* [http://forum.doom9.org/forumdisplay.php?s=&forumid=67 Doom9's AviSynth Forums]
* [http://avisynth3.unite-video.com/ AviSynth 3.0 development homepage]
* [http://www.avisynth.org/AviSynth30 AviSynth 3 FAQ]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • AviSynth — Dernière version 2.5.8 (26 décembre 2008) [ …   Wikipédia en Français

  • Avisynth — Dernière version 2.5.7 (le 7 janvier 2007) [+/−] …   Wikipédia en Français

  • AviSynth — Тип фрэймсервер цифрового видео Разработчик разработчики AviSynth Операционная система Windows Последняя версия 2.5.8 (30 декабря 2008) Лицензия GNU GPL Сайт …   Википедия

  • Avisynth — Aktuelle Version: 2.5.8 (30. Dezember 2008) Betriebssystem: Windows, Linux (ab 3.0) Kategorie: Videoschnitt Frameserver Lizenz: GPL …   Deutsch Wikipedia

  • AviSynth — Aktuelle Version 2.5.8 (30. Dezember 2008) Aktuelle Vorabversion 3.0 Betriebssystem Windows, Linux (ab 3.0) Kategorie Videoschnitt Frameserver Lizenz GPL …   Deutsch Wikipedia

  • 2D-Comb — Der aus dem Englischen stammende Begriff Cross Luminance [ˈkɹɒs ˈluːmɪnəns], umgangssprachlich im Englischen auch Dot crawl, beschreibt feine, sich bewegende, in der Originalszene nicht vorhandene Strukturen in einem Farbfernsehbild, wobei… …   Deutsch Wikipedia

  • 3D-Comb — Der aus dem Englischen stammende Begriff Cross Luminance [ˈkɹɒs ˈluːmɪnəns], umgangssprachlich im Englischen auch Dot crawl, beschreibt feine, sich bewegende, in der Originalszene nicht vorhandene Strukturen in einem Farbfernsehbild, wobei… …   Deutsch Wikipedia

  • Cross-Luminance-Effekt — Der aus dem Englischen stammende Begriff Cross Luminance [ˈkɹɒs ˈluːmɪnəns], umgangssprachlich im Englischen auch Dot crawl, beschreibt feine, sich bewegende, in der Originalszene nicht vorhandene Strukturen in einem Farbfernsehbild, wobei… …   Deutsch Wikipedia

  • NDs-mPeG — nDs mPeG, usually abbreviated DPG, is a special format of MPEG 1 video specifically for playback using the homebrew Moonshell program for the Nintendo DS. The video is encoded on a computer and then transferred, along with Moonshell, to the DS… …   Wikipedia

  • Cross Luminance — Der aus dem Englischen stammende Begriff Cross Luminance [ˈkɹɒs ˈluːmɪnəns], umgangssprachlich im Englischen auch Dot crawl, beschreibt feine, sich bewegende, in der Originalszene nicht vorhandene Strukturen in einem Farbfernsehbild, wobei… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”