“Avisynth 2.5中文文档”的版本间的差异

来自NMM Doc
跳转至: 导航搜索
视频编辑
 
(未显示4个用户的17个中间版本)
第1行: 第1行:
     是NMM开展的AVISynth文档中文化计划
+
==AviSynth 2.5入门==
 +
* [[第一个脚本]] - 如果你完全是个新手,从 里起步。
 +
* [[AviSynth2.5初步了解]] - 一个AviSynth的初步入门。
 +
* [[滤镜简介]] - 粗略介绍一些AviSynth滤镜。
 +
* [[脚本范例]] - 一些稍稍具备实用性的脚本范例
  
  我们希望借助将AVISynth的文档中文化,达到推广AVISynth使用,普及视频处理知识的目的。
+
== 语法==
 
+
*[[语法|Avisynth语法]]
  目前中文化工作刚刚开展,WIKI程序也刚刚搭建,如果有版面安排不当,内容不全的问题,还望见谅。
+
**[[语法:插件|插件]] - 如何 入(调用)插件(Avisynth插件、VirtualDub插件、VFAPI和C-插 件), 自动调 和名称优先 级。
 
+
**[[ 法:脚本变量|脚本 变量]] - 怎样 在脚本中 声明 ,使用变
  我们使用MediaWiki搭建了WIKI平台,为了便于管理和维护,我们没有开放普通注册用户的编辑权限。如果您想为本计划贡献一份力量,那么请将您的注册用户名在[http://www.nmm-hd.org/bbs NMM论坛]留言,我们会将您添加至编辑权限组。本WIKI还处在测试阶段,如果出现各种问题还请见谅。
+
**[[语法:运算符号|运算符号]] - 可用 运算符号和相对优先级
 
+
**[[语法:用户自定义脚本函 | 户自定义脚本函 ]] 如何 脚本 定义函数、 使用 函数
  维护人员:Dgwxx VempX
+
**[[语法:控制结构|控制结构]] - 脚本 流控制 语言结构
 
+
**[[语法:内部函 |内 ]] -  可以在 脚本中 使用的 非Clip函数
  翻译人员:Dgwxx VempX mikoto
+
**[[语法:Clip属性|Clip属性]] - 返回Clip属性 函数
 
+
**[[ 法:运 环境|运 环境]] - 单帧编 基础
 
 
== 初步了解==
 
 
 
===视频编辑===
 
 
 
    基本上来说,AviSynth是这样工作的:首先,你会创建一个包含命令的简单文本文档,它叫做脚本。这些命令代表若干个你想要的视频以及想要运行的滤镜。然后,当你运行一个视频程序,例如VirtualDub,并且打开刚才的脚本时,AviSynth就会运作起来。它会加 脚本中的视频,并且运行指定的滤镜,然后将结果输出给视频程序。然而视频程序并不知道AviSynth在后台运行,而是以为自己在直接读取一个硬盘上的AVI文
 
 
 
  AviSynth2增加了很多新功能,为了突出这些功能(尤其因为他们在以前的文章中都没有被完好阐述过 ), 我们在这篇文章中把它们标记为<font color="#F000F0">v2</font>''。
 
 
 
  由于v2.5在内核上做了较大的升级,请在使 前仔细阅读AviSynth v2.5。相关升 都被标记为<font color="#F000F0">v2.5</font>
 
 
 
====线性编辑:====
 
 
 
  在AVISynth里能做的最简单的事就好比在VirtualDub里的编辑视频。因为这些 句都太好写了,不需要担心 变量 以及复杂的表达式。
 
 
 
    作为测试,请先创建一个文件命名为“test.avs”,然后输入如下一行文字:
 
 
 
Version
 
 
 
  现 用Windows Media Player或其他来打开这个文件,你会看到一个10秒钟的写有AVS版本号及版权信息内容的视频片段。
 
 
 
  Version叫做“源滤镜”,这意味着它的作用是生成片段而非修改。在AVISynth 脚本中 第一个命令永远是源滤镜。
 
 
 
  现在加入第二句,让它看起来是这样:
 
 
 
Version
 
ReduceBy2
 
 
 
  在Media Player中再次打开这个文件,你应该还可以看到那些版权信息,不过只有以前的一半大小。'''ReduceBy2'''是一个“ 换滤镜” 它会以某种方式改变原有的视频片段。你可以连续 使用 多个 换滤镜就好像在VirtualDub里一样
 
 
 
    让我们再加一句使视频变成淡出至黑色 结尾,它应该是这个样子:
 
 
 
Version
 
ReduceBy2
 
FadeOut(10)
 
 
 
  现在再次打开文件,片段的前9秒应该是一样的,而最后一秒会平滑的淡出到黑色
 
 
 
  FadeOut滤镜需要一个 值, 来代表淡出所需的帧
 
 
 
  渐变开始之前的时间太长了,所以我们需要修剪视频的起始部分以减少等待的时间。
 
 
 
  我们扔掉前120帧,保留120-150帧:
 
 
 
  Version
 
ReduceBy2
 
# 砍掉前119帧,保留120-150帧
 
# (AVISynth的起始帧数是从0算起的)
 
Trim(120,150)
 
FadeOut(10)
 
 
 
   这个例子 ,我们第一次 使用 了注释
 
 
 
    注视以”#”开头,一直到最后一个字母结束,是被AVISynth完全忽视掉的。Trim滤镜需要两个数值,以逗号“,”(英文半角,AVS 脚本 内一切皆为英文半角)分开,两个数分别代表视频中要保留的起始帧 中止帧,若最后一帧输入的是0,就代表到视频片段的最后一帧。所以如果要砍掉前119帧,可以输入Trim(120,0)
 
 
 
  像这样把帧 仔细记录真是一件麻烦事,在VirtualDub等这样的程序里直接打开一个 分完成的脚本就方便多了,它会把帧 都为你显示出来。你还 可以 用ShowFrameNumber滤镜,它会把帧数直接打 视频上。
 
 
 
  其实实际 使用 中在AVISynth里有一个比Version实用很多 源滤镜,就是AVISource,它用来从硬盘中读取一个AVI(或其它视频格式)的文件。如果你手头上已经有了一个AVI文件,那么你可以试试把这些相同的滤镜加到你的文件上
 
 
 
AVISource("d:\capture.avi") # 这里要写你实际 路径和文件
 
ReduceBy2
 
FadeOut(15)
 
Trim(120,0)
 
 
 
  只有单独一行AVISource命令的脚本可以为只支持小于2GB文件的视频程序提供大于2GB文件的支持
 
 
 
----
 
 
 
====非线性编辑:====
 
 
 
  好了我们到了有趣的部分了,建立一个有如下 句的AVS文件:
 
 
 
StackVertical(Version, Version)
 
 
 
  打开它,结果是这样:输出的视频中有两 一模一样的版本信息,一 在另一行之上。
 
 
 
    StackVertical不需要数值或是字符串作为参数,而是需要视频剪 。在以上语句当中Version滤镜被两次调用,每一次都返回给StackVertical一个版 信息的视频,于是StackVertical把它们拼在一起(不管那视频从哪儿来的)
 
 
 
  UnalignedSplice也是有用的此类滤镜之一,它可以将视频剪及首尾相接,这段语句就是将3段视频(例如可能是AVI_IO生成的)读取并连接在一起:
 
 
 
UnalignedSplice(AVISource("d:\capture.00.avi"), \
 
  AVISource("d:\capture.01.avi"), \
 
  AVISource("d:\capture.02.avi"))
 
 
 
  StackVertical和UnalignedSplice都可以接受少到两个多到六七十个的视频。你也可以用加号“+”代替UnalignedSplice,作为速记。
 
 
 
  比如说这段语句,与上段语句的功能是一样的:
 
 
 
AVISource("d:\capture.00.avi") + \
 
  AVISource("d:\capture.01.avi") + \
 
  AVISource("d:\capture.02.avi")
 
 
 
  现在假设你的一个程序捕捉到的视频存到了多个AVI片段里,但音频又存到了一个单独的WAV文件里,你能把他们重新组合在一起么?你说呢:
 
 
 
AudioDub(AVISource("d:\capture.00.avi") + \
 
  AVISource("d:\capture.01.avi") + \
 
  AVISource("d:\capture.02.avi"), \
 
  WAVSource("d:\audio.wav"))
 
 
 
----
 
 
 
===语法===
 
 
 
====表达====
 
  
 
==核心滤镜==
 
==核心滤镜==
  
  内容后续添加,敬 期待……
+
 请 参照[[AviSynth2.5核心滤镜]]
  
 
==扩展滤镜==
 
==扩展滤镜==
 
+
 请 参照[[AviSynth2.5扩展滤镜]]
  内容后续添加,敬 期待……
 
  
 
==常见问题==
 
==常见问题==
 
+
 请 参照[[AviSynth2.5疑难解答]]
  内容后续添加,敬 期待……
 
  
 
==FAQ==
 
==FAQ==
第133行: 第31行:
 
==FAQ-YV12==
 
==FAQ-YV12==
  
  内容后续添加,敬 期待……
+
 请 参见[[AviSynth2.5_YV12常见问题]]
  
 
==进阶讨论==
 
==进阶讨论==

2010年8月28日 (六) 18:12的最新版本

AviSynth 2.5入门

语法

核心滤镜

请参照AviSynth2.5核心滤镜

扩展滤镜

请参照AviSynth2.5扩展滤镜

常见问题

请参照AviSynth2.5疑难解答

FAQ

请参照Avisynth2.5_FAQ

FAQ-YV12

请参见AviSynth2.5_YV12常见问题

进阶讨论

内容后续添加,敬请期待……

版本历史

内容后续添加,敬请期待……