当前位置: 主页 > 处理视频 > 视频压制教程 > 图文教程:用MeGUI压制MP4AVC

图文教程:用MeGUI压制MP4AVC

2009-06-04   hn135.com / 七彩天堂 点击: 标签:MeGUI AVS 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,或者访问doom9.org.

AviSynth初识:

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


让我们看一个最简单的用于处理视频的avs脚本,
DirectShowSource("C:\test\Terminator\The.Terminator.BDRe.x264.mkv",23.976,audio=false)
textsub("C:\test\Terminator\The.Terminator.BDRe.x264.srt")
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:\test\Terminator\The.Terminator.BDRe.x264.mkv",video=false).Amplifydb(3)
由于AC3/DTS音频在2.0声道下声音较小,所以我们需要用到Amplifydb()函数使用音频增益.
Amplifydb(3)
音频增益函数,3表示增益的分贝数为+3,也可用负数,大于8会出现暴音.
ResampleAudio(48000)
音频重采样函数.MP4AVC仅支持采样率为48000的AAC音频,对于其他采样率的音频源需要重新采样.
SSRC(48000)
同上.采样效果更佳,速度也更慢.

顶一下
(3)
42.9%
踩一下
(4)
57.1%
栏目热点
  • MeGUI压制使用说明书 MeGUI压制使用说明书 MeGUI 压制使用说明书 绪论: 视频压制的概念 一些尚未入门的爱好者常常会把视频压制与视频转换混为一谈。视频压制是一种入门比较简单,但深入有点深奥的视频压缩技术,用
精彩推荐