2024年6月9日发(作者:)

[教程]通过AVS,MeGUI压制MP4AVC简单攻略

本文简单介绍点MeGUI配合AviSynth压制MP4AVC的步骤,坚持使用WisMen/Menc/3GP的请无视,谢谢.

需求软件:MeGUI(v0.2.4.1038 All in One), Avisynth 迅雷高速下载(最新 v2.57), dotBL0t's X264 Stats Analyzer, 暴风影音(其他类似

解码器集合包都可),Microsoft .Net Framework 2.0, Atom Changer(可选)

需求片源:DVDRIP以上,HDRIP最佳,RMVB也可

前言:

之前很长一段时间,压制dvdrip都是用GK,VirtualDubMod.

不可否认,在直观性方面确实VDM是很方便的,在DivX和XviD时代,VDM是当之无愧的全能.而且Xvid的Status图形化工具实在是太好用

了,一下子转到x264还真不习惯没有这个工具了呢.

由于x264 GUI的缺乏,使得vdm对264的支持有限,虽然有x264vfw的存在,不过更新不及cmd形式的x264cli,所以,MeGUI应运而生.

MeGUI,基本来说就是一个GUI界面的合集,通过可视化的设置,自动产生各种编码器需要的cmd命令和参数,进行队列执行.

当配合AviSynth,就可以达到VDM可以实现的任何功能(基本上,AVS也在不断更新中...),诸如切边(Crop),加入黑边(AddBorders),抽丝

(deinterlace),变换分辨率(LanczosResize),还有更高级的类似iVTC就.

本文仅介绍由HDRIP/DVDRIP/RMVB转制MP4AVC所经常需要使用的一些AviSynth功能,高级应用请自行查看AviSynth Document,

或者访问.

AviSynth初识:

安装好AviSynth 2.57之后,你可以使用MeGUI自带的AviSynth Script Creator创建AVS脚本,不过在这里为了练手,还是建议自己打开记

事本新建一个txt文档.

让我们看一个最简单的用于处理视频的avs脚本,

DirectShowSource("C:",23.976,audio=false)

textsub("C:")

LanczosResize(480,256)

以上使用到的avs函数包括,

DirectShowSource("source",fps,audio=false,video=false)

加载片源函数,有多个参数可调."source"即是片源的路径,fps为片源的帧速,audio/video=false为强制屏蔽音频流/视频流,默认为true.

由于rmvb,mkv作为片源,可能会导致DSS函数读取帧速不正确,所以fps可以作为可选参数,强制以固定帧速读取.

Textsub("source") / Vobsub(“source”)

加载字幕函数,安装vsfilter之后可用(vobsub自带).可以加载srt,ssa,ass,idx+sub字幕.各种特效,都可用ssa/ass实现.

LanczosResize(width,height)

改变视频流分辨率,数值请尽量使用偶数,原因之后说明.由于PSP的系统限制,使得视频文件仅支持480*272以下(OE系统)和320*240以下

(SE,1.5系统),所以片源必须缩小到符合规范才能被psp支持.其于BilinearResize,Lanczos4Resize,PointResize的区别优劣势请自行参考

Document.

将以上文本保存成扩展名为.avs文件后即可以用MeGUI加载.

AviSynth支持自定义变量和函数嵌套(暂且这么称呼吧,也有点像Class其实),所以以下两段avs脚本效果是相同的:

(1)

Vi=DirectShowSource(“source”).textsub(“source”)

LanczosResize(Vi,480,272)

(2)

DirectShowSource(“source”).textsub(“source”).LanczosResize(480,272)

所以,写avs脚本是非常自由的,大家可以随意发挥.

接下来再介绍几个常用的处理视频的函数,

AVISource(“source”,audio=false)

加载片源函数,仅用于AVI封装的文件.自动读取fps无需手动干预,仅可屏蔽音频.

AddBorders(x,x,x,x)

画面加黑边函数.四个参数分别为左上右下的象素数.由于压缩视频最终分辨率长宽都必须是16的整数倍,当按照源高宽比缩小后的像素为非

16的倍数时,通常就需要在画面上下方加入黑边. 另一种方法就是直接拉伸到最近的16的倍数,将造成细微变形.

ConvertToYV12()

转换色彩空间为YV12.由于某些片源的色彩空间不被x264支持,可转换为YV12.

Crop(a,b,y,z)

画面裁切函数.a,b,y,z分别代表左侧裁去像素,上方裁去像素,画面剩余宽度,画面剩余高度.

ChangeFPS(fps)

改变视频帧速.采用丢帧方式转换帧速.

ConvertFPS(fps)

同上.采用混合帧方式.

处理音频的方法基本类似,可使用以下脚本,

DirectShowSource("C:",video=false).Amplifydb(3)

由于AC3/DTS音频在2.0声道下声音较小,所以我们需要用到Amplifydb()函数使用音频增益.

Amplifydb(3)

音频增益函数,3表示增益的分贝数为+3,也可用负数,大于8会出现暴音.

ResampleAudio(48000)

音频重采样函数.MP4AVC仅支持采样率为48000的AAC音频,对于其他采样率的音频源需要重新采样.

SSRC(48000)

同上.采样效果更佳,速度也更慢.

MeGUI的使用:

将MeGUI到任何目录后,请先确保.Net Framework已经安装就绪.打开MeGUI主程序后,界面如下:

(提示:如果出现程序运行错误,请删除MeGUIjobs下的所有xml文件)