跳转到内容

AviSynth

维基百科,自由的百科全书
AviSynth
AviSynth图标
开发者AviSynth开发者, Doom9英语Doom9社区
首次发布2000年5月19日,​24年前​(2000-05-19
当前版本
  • 1576(2014年1月2日)[1]
编辑维基数据链接
源代码库 编辑维基数据链接
编程语言C++, 汇编
操作系统Windows, Linux, macOS
平台x86x86-64
类型数字视频帧服务器英语Frameserver
许可协议GNU GPL
网站www.avisynth.nl

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

AviSynth脚本语言

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

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

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

代码示例

以下示例是一个"Hello World"程序

 BlankClip()
 Subtitle("Hello, world!")

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

参考文献

  1. ^ Release 1576. 2014年1月2日 [2023年3月19日]. 
  2. ^ Avisynth Copyright. AviSynth Mediawiki. AviSynth Team. [11 September 2015]. (原始内容存档于2023-08-09). 
  3. ^ AviSynth脚本语言页面存档备份,存于互联网档案馆
  4. ^ The Script Execution Model: The Filter Graph. AviSynth Wiki. AviSynth Team. [25 October 2019]. (原始内容存档于2023-06-24). 
  5. ^ AviSynth syntax: control structures. AviSynth Wiki. Avisynth Team. [Sep 21, 2014]. (原始内容存档于2023-11-06). 
  6. ^ Clip Properties. AviSynth Wiki. Avisynth Team. [Oct 27, 2019]. (原始内容存档于2023-09-29). 
  7. ^ Script Variables. AviSynth Wiki. Avisynth Team. [Sep 14, 2017]. (原始内容存档于2023-11-06). 

外部链接