发新话题
打印

用AVS+VDM+3GP(GW)转换PMP-AVC教程(压制高级篇)【8、24】

本主题由 龙の怒ゞ聖痕 于 2007-10-14 10:43 设置高亮

用AVS+VDM+3GP(GW)转换PMP-AVC教程(压制高级篇)【8、24】

---------------------------------------------------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(左,上,-右,-下) 这次参数中“上下左右”代表切的地方,负号是本教程具有特色的负参数切边法,较其他教程的保留像素切割法要省了一步洞计算器的过程^_^。
附件: 您所在的用户组无法下载或查看附件

TOP

用AVS+VDM+GW转换PMP-AVC教程(压制高级篇)

VDM和GW的常规使用流程

                    VDM篇

安装编码器:

VDM本身不带有X264编码器,需要我们另行安装,普通的X264编码器压制出的PMP-AVC是无法在PSP上播放的,我们要安装的是已经经过cooleyes_lf修改过的X264编码器。安装方法是在下载x264vfw-patched,解压后在x264vfw.inf文件上点右键,选择“安装”。





然后打开Virtual Dub Mod,“打开视频文件...”,选择最后编辑好的AVS文件,确定。

AVS中的音频禁用,否则压制出来的AVI会包含一个容量很大的WAV音频。方法是"流"—>"流列表"

选择要禁用的音轨,点“禁用”,“确定”。

然后选择“视频”—>“压缩”

出现如图所示的编码器选择对话框,选择x264 - H.264/AVC encoder,然后点击“配制”

出现x264的配制界面,首先切换到MBs&Frames选项卡,严格按照下图所示进行配制(否则压缩出的PMP-AVC无法在PSP上播放)

然后切换到Bitrate选项卡,开始确定码率
-------------------------------------------------------------------------------------------------------------------------------------------------------
压缩方式一:质量模式

如果要以Q模式(恒定质量模式,转换时间大致为片源时间的2倍)压制的话,在下拉列表中选择”Single Pass - Quantizer“,参数框中添入20或21,这个数字越小,压制出的视频质量越好,但视频的体积也随之增大。

然后点OK,接着在编码器选择窗口中点确定,然后选择“文件”—>“另存为AVI”

在对话框中选择保存路径,然后把“不要立即运行本任务;将其添加到任务列表,以便我以批处理模式来运行它”的勾选中,“视频模式”选择“快速再压缩”,然后点击“保存”

接下来按F4键,调出Virtual Dub Mod任务管理器,点击“开始”,视频压缩过程就开始了,下方有压缩进度条。P4 2G级别CPU的压缩速度大约为片源时间的1.5倍。进度到达100%,AVI文件生成完毕,就可以关闭Virtual Dub Mod了。

说明:一般以Q21模式压制出的视频文件大小为380M(不包含音频),以Q20模式压出来的视频文件大小为480M(未包含音频),体积适中,画质很好,压缩时间是2-PASS(2重编码)方式的一半。


--------------------------------------------------------------------------------------------------------------------------------------------------------

压缩方式二:2-PASS模式,制作高质量PMP-AVC推荐

如果要以2-PASS(两次编码,在文件体积相同的情况下,画质比Q模式稍好,压缩时间是Q模式的2倍)方式压制的话,在下拉列表中选择“Multipass - First Pass(fast)",码率框中添入码率(因为是First Pass,是码率分配计算的过程,不代表最终输出视频文件的码率,所以这个码率添多少都可以,但一般添与最终输出视频相同的码率,比如我们需要最终输出视频的码率为650kbps,这里添650就可以了)。

然后点OK,接着在编码器选择窗口中点确定,然后选择“文件”—>“另存为AVI”,在对话框中选择保存路径,然后把“不要立即运行本任务;将其添加到任务列表,以便我以批处理模式来运行它”的勾选中,“视频模式”选择“快速再压缩”,然后点击“保存”。

接着再选择然后选择“视频”—>“压缩”,在编码器选择对话框中选择x264 - H.264/AVC encoder,点击“配制”,在下拉列表中选择”Multipass - Nth Pass“,添入我们需要的最终产生的视频文件的码率,比如650。

然后点OK,接着在编码器选择窗口中点确定,然后选择“文件”—>“另存为AVI”,在对话框中选择保存路径(注意保存文件名要与刚才First Pass保存的文件名不一样),然后把“不要立即运行本任务;将其添加到任务列表,以便我以批处理模式来运行它”的勾选中,“视频模式”选择“快速再压缩”,然后点击“保存”。

接下来按F4键,调出Virtual Dub Mod任务管理器,可以看到2个任务,也就是两次编码,点击“开始”,视频压缩过程就开始了,下方有压缩进度条。Fitst Pass结束后自动开始Second Pass过程,P4 2G级别CPU的压缩速度大约为片源时间的3倍到4倍之间,压制一部电影需要4-6个小时的时间。两次编码的进度都到达100%,AVI生成完毕,就可以关闭Virtual Dub Mod了。
引用:
说明:关于两次编码模式中最终码率的确定。合理设置质量参数

我们要先了解如下两个事实

1、单纯提高质量参数无法真正实现提高视频质量,尤其是将质量参数设置的超过源文件或PSP的极限的更是荒谬的做法。

2、Q模式并不代表质量差而2PASS也并不代表质量会很好,要合理使用并灵活应用。但我建议在机器情况较好或你是发布给大家看的视频作品时请尽量用2PASS以求精益求精。

下面我们说说Q模式和2PASS分别的应用情况

Q模式一般应用在视频色彩不是非常丰富、画面场景变化不是很剧烈的视频上,例如动画片、纪录片、剧情片等都是适用的。

2PASS模式一般应用在色彩比较丰富、画面层次多、场景变化比较剧烈复杂的视频上,例如动作片、大场面的电影、热舞MV等等会显示出优势。

简单的说,就好像读书,Q模式同学读了1遍,如果是好理解的书他自然与2PASS同学不分伯仲,但是遇到了莎士比亚的名著自然没有2PASS同学理解的清楚。

参考数值:

对于个人使用的推荐值(非高清要求,本适度原则)
动画片:Q25-27或300K-450K 2PASS(适度的增加亮度要比增加码率来得实在)                     
纪录片或剧情片:Q22-Q24或500K-650K 2PASS
电影:Q20-22或650K-720K 2PASS

对于要发布面市的作品我推荐的参数是650k(一般片源)-720K(较好片源) 2PASS [对于动漫和类似韩剧的剧情片还是可以大幅度降低参数的]

对于高清MV推荐800K 2PASS

对于800K以上的参数意义就不大了,当然1000k的2PASS只要片源足够清晰是绝对可以媲美480P,大家可以尝试下。

另外要说明下的是Q模式是压制1遍而2PASS是压制一遍为参考后再压一遍,所以2PASS的压制时间是Q模式的2倍,所以要用哪种模式要根据片源、用途、个人机器情况等做出综合判断去使用。当然还是那句话,要靠大家自己的慢慢摸索。
附件: 您所在的用户组无法下载或查看附件

TOP

处理音频:

压制AAC音频版PMPAVC需要做如下步骤改动:
1、下载新版  PmpSplitter 并重新注册
2、在AVS中添加语句  resampleaudio(44100) ,位置在一般在最末
3、使用新版 3GP_提取AAC音频专用版 制作AAC音频
4、更新 pmp_muxer_avc_tk


PMPAVC目前支持合成AAC和MP3格式的音频,要求采样率都必须是44100Hz,必须是双声道立体声。至于码率,可以是cbr、abr或vbr。
AAC音频表现完胜MP3,所以尽管播放器支持,MP3格式的PMPAVC还是被淘汰了,今后压制的PMPAVC的音频部分推荐为AAC编码。为此,笔者改编3GP为AAC专用转换软件,集成了几个常用命令行转换工具,提供了两套方案可以选择。
引用:
面是对 3GP_提取AAC音频专用版 的必要说明:

1、NERO核心方案,内部流程为EXTRACWAV+NERO_AAC+MP4BOX,速度很快,偶尔会出现兼容性问题(罕见)。支持AVS/WAV/AVI/MKV文件的直接拖放转换,WAV/AVI/MKV自动转换采样率为44100HZ;若要提取AVS音频,须事先在AVS中添加语句resampleaudio(44100),位置一般在最末。

2、FFMPEG核心方案,内部流程为FFMPEG+MP4BOX,速度稍慢(所需时间大概是片源时长的一半),兼容性很好。支持AVS/WAV/AVI/MKV等各种音视频文件转换为AAC音频,并自动转换采样率为44100HZ,AVS亦然。



下载DLL文件并解压到c:\windows\system32目录中,然后就可以使用3GP_提取AAC音频专用版 了。











想要观察音频转换进度的话需要做如下操作:最小化3GP到系统托盘,然后在系统托盘的3GP图标上点右键,选择“显示日志窗口”就可以了。
附件: 您所在的用户组无法下载或查看附件
おまじないしよう?
夜空に星が瞬くように、
溶けたこころは離れない。
たとえこの手が離れても、
ふたりがそれを忘れぬ限り……

TOP

音频处理篇(GW)

1、提取音频

单音轨片源音频提取:用VDM打开AVS,选择流->流列表,可以看到AVS中的音频已经显示在列表里,然后点击“保存WAV”,将WAV文件存放到一个指定的目录。



保存音轨时需要注意的一个问题:在WAV的保存路径选择对话框中,最下方的“不要立即运行本任务;将其添加到任务列表,以便我以批处理模式来运行它”的勾要去掉,否则就要通过任务管理器来运行任务了。

多音轨AVI的音轨提取:用VDM打开多音轨的AVI视频文件(注意打开的不是AVS),打开过程中如果遇到图示对话框时一定要选“否”


然后选择流->流列表,AVI中内嵌的几条音轨都显示在列表里,然后我们点击需要的音轨将其选中,然后点击“保存WAV”,将WAV文件存放到一个指定的目录。如果需要制作多音轨PMP-AVC的话,就把需要的音轨都提取出来,待下一步处理。


2、音频转换

打开GoldWave,选择“选项”—>"保存...",


把临时目录改为剩余空间较大(2G以上)的分区目录,然后确定。


用GW打开提取出来的WAV,打开后观察GW最下方提示的音频属性,然后直接保存,选择“文件”—>“另存为...”,保存类型选择“MPEGAudio (*.mp3)”,属性选择“Layer-3,44100Hz,128kbps,立体声”,当然码率也可以自己选择,但是需要注意的是采样率一定要为44100Hz。


大家可以看到,无论片源音频是什么声道形式,转出来的MP3都是立体声的,是合乎PMP-AVC规范要求的,解决了3GP无法处理单声道片源的问题。



---------------------------------------------------

进阶应用:双声道音轨中各自声道的提取

我们以一部MTV为例,单音轨,双声道,左声道原声,右声道伴音。我们的目标是,分别提取左右声道,合成2条独立音轨,做成双音轨PMP-AVC,在播放时切换。

方法如下:用GW打开提取出的WAV,可以看到左右声道的频谱信息已经出现在GW的窗口中,然后“编辑”->“声道”->“右声道”


再选择“编辑”->“删除”,这样就只保留下了左声道,然后保存为MP3,命名为track01,保存类型选择“MPEG Audio (*.mp3)” ,属性选择“Layer-3,44100Hz,128kbps,立体声”


下一步,再次用GW打开WAV,“编辑”->“声道”->“左声道”,“编辑”->“删除”,然后保存为MP3,命名为track02,保存类型选择“MPEG Audio (*.mp3)” ,属性选择“Layer-3,44100Hz,128kbps,立体声”。


这样我们就得到了两条独立的音轨,变相解决了PMP-AVC播放器声道无法切换声道的问题。

---------------------------------------------------


合成音频和视频为PMP-AVC:

下面开始合成音视频,下载pmp_muxer_avc_tk.exe并打开。
[url=attachment.php?aid=980]pmp_muxer_avc_tk.rar[/url] (1.72 MB)



然后把前面生成的AVI文件和MP3文件改为英文名,单词之间可用“_”来连接,比如:Car_cd1.avi和Cars_cd1.mp3。因为Video input和Audio input的路径名和PMP输出路径名一定不要出现中文和空格,否则会无法合成。


Video input选择VDM篇中生成的AVI文件,下面的Video width、Video height、Video rate、Videosacle不用填;Audio input选择用GoldWave生成的MP3文件(如果是多音轨的话把其他MP3也一并添加);PMPoutput选定一个输出路径。然后点击"Go",开始合成,生成最终的PMP文件,合成时间大约为5分钟。
附件: 您所在的用户组无法下载或查看附件
おまじないしよう?
夜空に星が瞬くように、
溶けたこころは離れない。
たとえこの手が離れても、
ふたりがそれを忘れぬ限り……

TOP

顶~~~
我得认真学习学习~~

TOP

基本的东西算是学会了,试压了一首MV,效果自己很满意

以后在不断的压片中慢慢提高吧,谢谢老大。

TOP

谢谢老大的帖子我每天都在看

TOP

闷好复杂啊!!!!!!!!!!1加油学习

TOP

太专业了

太专业了,完全看不懂

TOP

发新话题