---------------------------------------------------
用AVS转换PMP-AVC入门教程----------------------------------------------------
引言:
随着PMP-AVC格式的一统天下,越来越多的朋友开始着手自己压制PMP-AVC了,新手往往最初使用windmencoder和winmenc这两个软件,这两个软件都是基于mencoder核心的,在PMP时代由于良好的易用性得到了大家的认可。由于PSP硬件对PMP-AVC格式的参数有特殊要求,原来的mencoder需要修改才能使得自己压制的PMP-AVC在PSP上成功播放,幸得这个工作已经由国内软件达人cooleyes完成了,大家终于可以用windmencoder和winmenc来轻松压制PMP-AVC了(在此也要同样感谢软件开发达人windbell和yawoo)。但是这两个软件毕竟是新手专用的,mencoder本身对视频的处理还有一定的局限性,比如:由于空白桢的问题导致压制出的PMP-AVC在PSP上无法播放,转换某些可变桢率的RMVB和WAV时会影音不同步。要想解决这些压片中的种种问题而进阶为压片高手,学习
AVS是必经之路了。本文以新手教程的方式给出用
AVS压片的基本步骤,只要看文本大家一定会从
AVS苦手中解脱出来,发现
AVS的妙处所在。
什么是AVS?
这也是许多不了解
AVS的玩家所困惑的问题。打个比方:电脑的的应用程序可以有一个快捷方式,这个快捷方式记录了应用程序的所在位置。
AVS一般只有几KB大小,他也相当与一个影片文件的”快捷方式“,通过播放
AVS就可以播放影片了,与”快捷方式“不同的是,
AVS不仅记录了影片文件的地址所在,也记录了玩家想要对影片文件进行处理的”命令“,从而使播放
AVS出来的的效果符合自己的要求,这些命令就是一些
AVS语句,而每条语句就是传说中的”滤镜”了。此时的
AVS相当于一个片源,支持
AVS压缩的软件(3GP、virtual dub等)就可以把
AVS压成PMP-AVC了,和使用“快捷方式”不能把原应用程序删除一样,使用
AVS也不能把原影片文件删掉。参考资料:
AviSynth入门与应用指南
准备篇:
1、
安装最新版的终极解码。暴风影音中集成了所有常见的音视频格式的解码器,安装后你的电脑就会通吃几乎所有的音视频媒体文件了,使用
AVS压片的的一个好处就在于:只要是电脑上能够播放的,都可以转换为PMP-AVC(
新版本的暴风影音在播放AVS时会有无法播放的BUG存在,所以这里提供给大家的版本是StormCodec6.01.28)。(
点击进入暴风影音下载页面)
然后安装pmp splitter插件(已更新到支持AAC音频的版本),就可以在电脑上播放PMP-AVC了
安装方法是:下载附件,解压到c:\windows\system32\目录下,然后点击”开始“、”运行“,输入 regsvr32 PmpSplitter.ax 确定,OK。
说明:本文提供的
AVS压片流程不能用于转换DVD(需要配合GK一起使用)和由DVD截取的VOB文件(由于缺少IVTC,转换部分VOB会出现影音不同步),等大家到了
AVS进阶阶段就可以用
AVS配合其他软件解决这些问题了。
2、
安装AviSynth。AviSynth是
AVS的后台支持程序,安装后才可以使用
AVS。安装的时候注意把图中的两个勾选中。安装完成后把VSFilter.dll文件解压后复制到AviSynth安装目录的plugins目录下,默认目录是C:\Program Files\AviSynth 2.5\plugins\。(
点击进入AviSynth下载页面)
3、
安装VDM。全称为Virtual Dub Mod。 (
点击进入VDM下载页面)
4、
安装GW。全称为GoldWave,处理音频用。 (
点击进入GoldWave下载页面)
使用AVS
如图所示的一个影片文件和他的
AVS文件,
AVS的本质是一些命令语句,可以用记事本打开,然后就可以看到
AVS的真面目了,每一行就是一条“滤镜”。同时
AVS文件也相当与影片的“快捷方式”,我们用暴风影音也打开他。
因为
AVS是由语句“滤镜”组成的,所以
AVS是“编写”出来的,
AVS也叫脚本,所以有“编写
AVS脚本文件”一说。点击右键,新建一个
AVS脚本文件,如果没有这个选项那么新建一个空白的记事本TXT文件,把扩展名改为
AVS就可以了。
然后用记事本打开空白
AVS文件,输入滤镜语句。
AVS的滤镜有很多条,可以对片源进行各种处理,比如切边剪裁、放大缩小、挂接字幕、视频合并、分离、调节饱和度、锐利度、处理DVD等等。而我们常用的只有那么几条,有些语句是必须有的,这样我们需要灵活运用的只有很少几条,再复杂的
AVS也是由基本的滤镜语句组成的。
如下所示就是
AVS的基本常用语句了。括号里面数字的是这条滤镜的参数,一般压片只需从这些滤镜中选择几条,然后设置自己想要的参数,组合一下(
语句的大小写无所谓但必须用英文标点),就编成了一个
AVS文件。
引用:
directshowsource("XXXX",convertfps=true)
convertToYV12()
crop(0,0,720,480)
lanczosresize(480,272)
addborders(0,0,0,0)
textsub("XXXX")
vobsub("XXXX")
ResampleAudio(44100)
trim(0,0)
下面把这些滤镜逐一说明
directshowsource("XXXX",convertfps=true) 这是加载片源的语句,只须把片源的完整路径名添入引号内就行了。说明:convertfps=true语句的作用是防止转换可变桢率的RMVB和WMV时出现影音不同步。如果转换出来的PMP出现的影音不同步,那么一般是下面两种情况之一,需要配合其他软件才能解决:一个是转换的视频源是VOB文件;另一个是片源的开始有一端静音,压缩工具自动把这段静音删除了,后面的声音依次向前移位,导致影音不同步。
convertToYV12() 改变色彩环境滤镜,转换PMP-AVC时用到,因为X264编码器不支持某些RMVB的色彩环境,原来的色彩环境需要转换一下才能正常压制。
crop(0,0,720,480) 这是对视频源进行剪裁的语句,某些上下有黑边的电影想要把黑边去除的话用这条语句就可以了。第一个数字是左边切掉的象素数(不想切边的话输入0就可以了),第二个数字是上边切掉的象素数,第三个数字是左右切边后实际要保留的象素数,第四个数字是上下切边后实际要保留的象素数。有人可能问为什么没有输入右边和下边的需要切除的象素数,因为已经输入了一边要切掉的象素和要保留的象素,另一边的象素自然已经确定了。
需要注意的是添入的数字必须是偶数。
lanczosresize(480,272) 这个就是关键的放大缩小滤镜了,因为PSP-AVC最大支持480*272象素,所以压出来的视频宽不要超过480象素,高不要超过272象素,而且
必须都要是16的倍数。这个分辨率根据片源来决定,常用的分辨率为368*272、480*272、480*208。如果分辨率选错的话就会出现压出的片子人物比例失调的问题,因为最新的播放器已经可以支持比例调节了,所以即使压变了型,也可以在播放器内部调节到正常比例。
addborders(0,0,0,0) 加黑边的滤镜,四个数字分别是往左、上、右、下加黑边的象素数。一般用不到。但在片源为2.35:1而且又是外挂字幕的情况下,如果在把片源分辨率调为480*208的情况下直接加载字幕的话,字幕就会显示在画面里。如果在加载字幕字模之前上下都加上32象素的黑边的话,视频的实际分辨率就是480*272,再加载字幕的话字幕就会显示在黑边了,不遮挡画面。
textsub("XXXX") 加载SRT、SSA、ASS等文本字幕的滤镜,引号内添入字幕文件的绝对路径(包含文件名和扩展名)。
AVS加载字幕的好处是完全还原,播放时外挂的字幕效果和转换出来的一样。windmencoder和winmenc对ASS和SSA格式的字幕支持不好,经常无法正常加载字幕。
vobsub("XXXX") 加载IDX+SUB图形字幕的滤镜,引号内添入字幕文件的绝对路径,扩展名不添或者添IDX或SUB都可以。
ResampleAudio(44100) 更改音频采样率为44100hz,使得压制出的MP3或AAC音频符合PMPAVC的规范。
trim(0,0) 截取影片片段的滤镜,添入的数字代表桢数,截取的是两个桢数之间的视频片段。如果第二个数字添0,表示的是片段一直取到影片末尾。比如我要把一个90分钟的影片压成两个45分钟的PMP影片,我们可以用暴风影音查看一下片源的桢速率(比如是23.976),然后23.976*45*60=64800,然后添入trim(0,64800)就表示截取的是前半段影片,添入trim(64800,0)表示截取的是影片的后半段。
Tweak(X,X,X,X) 4个参数分别代表“色度,饱和度,亮度,对比度” 色度:正为暖色,负为冷色在画面偏冷或偏暖时用,由于PSP屏幕的特性可以稍微调偏暖点,5以内就好,具体根据片源调试 饱和度:为了让画面更艳丽一般都要加一点,建议1.1-1.5. 亮度:这就是上面那个亮度的代替品,一般取10-20,但会让画面偏白,请视情况而加 对比度:让画面层次感更强,一般不要超过1.4
还有一些效果滤镜比如:sharpen smooth level tweak 以及视频的组合压制、音频声道处理和增益及延迟处理、音视频合并等等技巧性教强的滤镜的应用本文做为初级教程就不做介绍了。
比如下面这个较为复杂的AVS引用:
video=directshowsource("d:\mv\玛利亚_凯利_HERO.mp4",audio=false).convertToYV12().crop(0,40,540,300).Levels(0,1.8,255,0,255).lanczosresize(480,272)
audio=wavsource("d:\mv\玛利亚_凯利_HERO.wav").DelayAuido(-400).AmplifydB(10,10).ResampleAudio(44100)
audiodub(video,audio).sharpen(0.5).textsub("d:\字幕\PMCG_LOGO.ssa")
大家一般转换的是RMVB,AVI,WMV等片源,用上面提供的滤镜已经足够了,大多数的HDTV也一样转。至于各种效果滤镜的使用,等大家成为老手后自然就会用了。下面通过几个实例演示一下滤镜语句的应用。
实例应用:
1、片源为《冰河世纪2》的RMVB格式,分辨率是640*360,是16:9的,字幕内嵌。
新建一个空白AVS,输入下列语句,然后保存。用暴风影音播放编写好的AVS,检查一下,如果能正常播放,说明编写成功。

引用:
directshowsource("d:\movie\冰河世纪2.rmvb",convertfps=true)
convertToYV12()
lanczosresize(480,272)
ResampleAudio(44100)

引用:
附录 1 切边
我们很容易就能分辨出小白和高手压片的区别,小白压出来的片很多都是胖胖的或者是瘦瘦的,这就是因为没有对片子的画面进行修整而造成的画面失真,为了解决这个问题,我们要大刀阔斧的咔嚓向视频!
我们分步来做
1、先要了解,这里说的切边是对原视频、源画面大小进行的切边出现,即所谓的先切边后调比例,这也是比较流行比较方便的
2、我们先用终极解码播放视频,在一个比较有代表性的画面(人物较丰厚或正好能清楚的看见黑边)里截图,因为这个步骤大家都比较熟悉所以不截图说明了
3、用win自带的画图板打开截图(见图),利用“选定工具”圈选需要切去的部分,这时候不要放开鼠标左键,观察画图板的右下角,左面的数值是切左右时看的,右面的数值是切上下时看的,将这个数值按照crop(左,上,-右,-下) 的格式填写进去就能实现随心所欲的切边(数值必须为偶数)。

4、如果按照比例换算切边是可以用计算器算出来的,但是我认为完全没必要,凭肉眼切边更加方便快捷,而且肉眼都能审查合格不失真我们还要追求数值干什么呢?
注:crop(左,上,-右,-下) 这次参数中“上下左右”代表切的地方,负号是本教程具有特色的负参数切边法,较其他教程的保留像素切割法要省了一步洞计算器的过程^_^。