跳至內容

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). 

外部連結