[zz]AviSynth作PAL与NTSC制式转换
力富广州 2006-7-3
作 者: 不详
来 源: 不详
浏 览: 1410 次
在与海外交流电视节目,常常遇到NTSC制式的节目源,我们有时需要进行PAL和NTSC制式的互相转换。
对于VCD以及用于电脑播放的视频文件,以及其它不含有场的信息的文件,由于不是隔行扫描,因而这样的文件只要对他进行简单的缩放和变换帧率即可完成制式转换。但对于广播电视上和DVD播放的视频,由于标准的电视画面是隔行扫描的,必须考虑场的问题,否则简单的缩放的结果,在电视上看的效果是闪烁且抖动的。
有专门的广播电视设备可以做这样的工作,如果没有条件,也可以参照本文介绍的方法用常用的非编软件Premiere以及另外2个免费的软件完成。
首先下载安装AviSynth_252.exe,这是一个功能强大无比的基于avs脚本文件的视频处理与帧服务软件(网站:
http://www.avisynth.org)。还要下载im-avisynth.exe(网站:http://www.ox.compsoc.net/~flend/avisynth/index.html),安装这个软件后,Premiere就可以导入avs脚本文件。 下面举例说明,假如我需要转的是从NTSC的DV中采集的文件,我们需要把它转为PAL的DV,文件名为“Capture01.AVI”。
打开记事本,输入下面的内容,并存为一个扩展名为avs的文件,比如“n2p.avs”,建议把这个文件放在需要转制的avi素材的目录里,
AviSource("Capture01.AVI")
Bob()
BicubicResize(720,576)
ConvertFPS(50)
SeparateFields.SelectEvery(4, 1, 2)
Weave
如果是PAL转NTSC,则这样写:
AviSource("Capture01.AVI")
Bob()
BicubicResize(720,480)
ConvertFPS(59.94)
SeparateFields.SelectEvery(4, 1, 2)
Weave
上面的句子是AviSynth的语法,利用AviSynth的强大脚本语句,通过几个步骤完成制式的转换。其具体含义是:
1. AviSource("Capture01.AVI") 指定avi的源文件。
2. Bob() 将每个场单独分开,并插值为全高尺寸。比如720x480的NTSC的每个场单独分开后,变成720x240,然后扩大为720x480。
3. BicubicResize(720,576) 用Bicubic算法缩放到720x576的分辨率。
4. ConvertFPS(50) 转换场频到50Hz,使用混合模式(Blend Mode)。如果是PAL转NTSC,则用59.94(29.97x2)
5. SeparateFields.SelectEvery(4, 1, 2) 这一句决定场序,输出为Low Field First时,用SelectEvery(4, 1, 2)。如果需要Upper Field First,则用SelectEvery(4, 0, 3)。
6. Weave 将2个场交织为一个帧。
好了,现在运行Premiere,新建一个PAL DV项目,然后导入刚才建立的“n2p.avs”文件,就如同导入avi素材一样,这个avs文件在Premiere中就是PAL制的了,你可以把它当作PAL制式的avi文件来处理、输出。