AviSynth

AviSynth是一个跨平台的帧服务器程序，是一个采用GNU通用公共许可证释出的自由软件。程序最初由Ben Rudiak-Gould、Edwin van Eggelen、Klaus Post、Richard Berg和Ian Brabham在2000年5月创建，后来由开源社区接手并维护，目前仍然活跃。该软件采用了AviSynth脚本语言。

AviSynth脚本语言
AviSynth脚本语言（）是一种数据流语言——一种描述操作之间数据流动的有向图的编程范式。它缺少一些过程式编程的控制结构，但它包含许多对程序员来说很熟悉的特性，包括变量、不同的数据类型、条件语句和复杂的表达式。

该语言主要使用内置的音频/视频clip作为数据类型。clip是一个复杂的结构，具有许多属性，如宽度、高度和持续时间。该语言还有几种其他更标准的数据类型，如int、float、bool和字符串。可以通过使用这些类型来进行计算、决策，并向视频中写入文本，例如字幕。

每个脚本具有一个单一的返回值，即脚本运行时程序所看到的音频和视频。这通常是脚本的最后一行，但可以在任何位置插入一个return语句。

代码示例 
以下示例是一个"Hello World"程序。
 BlankClip()
 Subtitle("Hello, world!")
如果将上述文本输入以.avs为扩展名的文本文件中，可以在Windows Media Player或列表下的其他程序中打开它，将显示包含文字"Hello, world!"的视频。

参考文献