BT神话论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
登陆论坛,无广告弹窗免费杀毒软件下载
查看: 5037|回复: 0

[转贴] 用AVS转换PMP-AVC入门教程&PMP视频高阶应用技巧

[复制链接]
发表于 2007-1-27 18:40:12 | |阅读模式
-----------------------------------------用AVS转换PMP-AVC入门教程------------------------------------------

转自CG   

引言:

        随着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也不能把原影片文件删掉。



准备篇:

1、安装最新版的暴风影音。暴风影音中集成了所有常见的音视频格式的解码器,安装后你的电脑就会通吃几乎所有的音视频媒体文件了,使用AVS压片的的一个好处就在于:只要是电脑上能够播放的,都可以转换为PMP-AVC(新版本的暴风影音在播放AVS时会有无法播放的BUG存在,所以这里提供给大家的版本是StormCodec6.01.28)。(点击进入暴风影音下载页面)
然后安装pmp splitter插件,就可以在电脑上播放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下载页面)




使用AVS

如图所示的一个影片文件和他的AVS文件,AVS的本质是一些命令语句,可以用记事本打开,然后就可以看到AVS的真面目了,每一行就是一条“滤镜”。同时AVS文件也相当与影片的“快捷方式”,我们用暴风影音也打开他。


因为AVS是由语句“滤镜”组成的,所以AVS是“编写”出来的,AVS也叫脚本,所以有“编写AVS脚本文件”一说。点击右键,新建一个AVS脚本文件,如果没有这个选项那么新建一个空白的记事本TXT文件,把扩展名改为AVS就可以了。

然后用记事本打开空白AVS文件,输入滤镜语句。AVS的滤镜有很多条,可以对片源进行各种处理,比如切边剪裁、放大缩小、挂接字幕、视频合并、分离、调节饱和度、锐利度、处理DVD等等。而我们常用的只有那么几条,有些语句是必须有的,这样我们需要灵活运用的只有很少几条,再复杂的AVS也是由基本的滤镜语句组成的。

如下所示就是AVS的基本常用语句了。括号里面数字的是这条滤镜的参数,一般压片只需从这些滤镜中选择几条,然后设置自己想要的参数,组合一下(语句的大小写无所谓但必须用英文标点),就编成了一个AVS文件。

QUOTE:
directshowsource("XXXX",convertfps=true)
convertToYV12()
crop(0,0,720,480)
lanczosresize(480,272)   
addborders(0,0,0,0)
textsub("XXXX")
vobsub("XXXX")  
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都可以。

trim(0,0)                截取影片片段的滤镜,添入的数字代表桢数,截取的是两个桢数之间的视频片段。如果第二个数字添0,表示的是片段一直取到影片末尾。比如我要把一个90分钟的影片压成两个45分钟的PMP影片,我们可以用暴风影音查看一下片源的桢速率(比如是23.976),然后23.976*45*60=64800,然后添入trim(0,64800)就表示截取的是前半段影片,添入trim(64800,0)表示截取的是影片的后半段。


还有一些效果滤镜比如:sharpen   smooth  level  tweak  以及视频的组合压制、音频声道处理和增益及延迟处理、音视频合并等等技巧性教强的滤镜的应用本文做为初级教程就不做介绍了。
比如下面这个较为复杂的AVS

QUOTE:
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)

audiodub(video,audio).sharpen(0.5).textsub("d:\字幕\PMCG_LOGO.ssa")

大家一般转换的是RMVB,AVI,WMV等片源,用上面提供的滤镜已经足够了,大多数的HDTV也一样转。至于各种效果滤镜的使用,等大家成为老手后自然就会用了。

小黑屋|手机版|Archiver|BT神话论坛 ( 沪ICP备09074267号 )

GMT+8, 2024-4-28 04:31 , Processed in 0.058132 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表