用Megui -x264压制简介
为什么用Megui -x264?对于H264(AVC)的编码工具其实有不少,比如nero7中的Recode组件也可以进行编码,不过nero的编码比较傻瓜,自己定制的余地很小,而且是商业软件(尽管我们都用的是D版 )。x264则是一个开源的H264规范的编码器。只是x264是命令行模式的工具,对于新手来讲可能很郁闷。所以偶们就用Megui来作为其图形界面。顺便提一下,x264有一个vfw版本,不过因为h264和avi的兼容性的问题,该版本已经停止了开发。
准备的工具
Megui(要MS .NET Framework 2.0):http://sourceforge.net/projects/megui
x264 Cli:http://x264.nl/(其实不需要Megui可以自动更新的)
Avisynth:http://sourceforge.net/projects/avisynth2/
把解压到指定目录(最好不要有中文路径,可能互有问题)
运行megui可以看到主窗口
第一次运行Megui会自动进行更新。可能有个别的服务器有问题,如果用不到可以不更新。如果只是x264编码需要的就是mencode、mp4box、x264、还有profile等几个。
选tool菜单下setting。
main标签下基本可以默认,可以把Open Preview after Avisynth scriptselection的勾去掉。其它的如Default Priority(进程的优先级),Shutdown afterencoding(完成关机)自己酌情选择
Program Path这个标签是为了选择相关文件的关联,检查一下x264.exe文件是否在相应的目录系即可
由于只能读入avs文件所以接下去就是编写avs script。如果熟悉avs的话直接用记事簿写就可以了。
当然也可以使用Megui提供的工具,点开tool菜单下Avisynth Script Creator
选择你所要压制的媒体文件,默认下会有resize根据你自己的片源情况,可以自行考虑需不需要。
在edit标签下你可以自行增删你所需要的avs script。也可以在load DLL选择所需要的滤镜
完成save
Megui会自动把文件添加到vedio部分
Codec自然是选择x264,Container可以选择MP4,也可以MKV,RAW的话出来的文件是.264,不能直接用mmg进行mkv封包,只能用MP4进行打包。我们选择默认MP4
接下去点开Config可以看到有很多东西可以选
在最下方我们下拉Profiles可以看到有很多预置的profile
先解释一下各个Profile的含义,再简单说说那些主要参数的含义 引用:最高画质设置:
HQ-Slow: 速度比较慢,质量接近最好
HQ-Slower: 比HQ-Slow满,压缩中使用更多的参考帧
HQ-Slowest: 比HQ-Slower更慢
HQ-Insane: 所有都是最大设置
(越慢画质相对越好。insane代表疯狂模式,是编码速度最慢的。)
通用2-passes设置
CE-Highprofile: high profile设置 (不兼容QuickTime)
CE-Mainprofile: main profile设置 (不兼容QuickTime)
CE-QuickTime: QuickTime 7兼容设置
CE-Baseline: baseline profile设置 (兼容QuickTime 7)
快速编码设置使用1-pass,对要求快速编码的朋友适用
1P-Maxspeed: 最快速度,几乎所有优化指令都关闭了,最求最快速度。适合编码视频流放到web上实时观看
1P-Intermediate: 中等速度
1P-Goodquality: 速度画质兼顾
恒定画质(constant quality)设置
CQ-Lossless: 无损编码,适合采集视频时用
CQ-ASP_Q2_equiv: 恒定量化值编码,相当于Xvid的Q2
CQ-ASP_Q2_eq(crf): 恒定质量编码,相当于Xvid的Q2
卡通编码设置(2 pass),编码动画片的时候用的
AE-Standard: 2 pass,标准画质(这个标准的定义应该是0day里动画编码的标准)
AE-Goodquality: 高画质,速度慢于standard编码
AE-Maxquality: 速度最慢,画质最好
游戏机、PSP和iPOD video编码设置
PD-PSP: 按照PSP指定规格的设置
PD-Xbox_Hires: XBOX高分辨率设置(需要XBMC),不知道XBMC是什么,有XBOX的朋友可能已经知道了
PD-Xbox_LoRes: XBOX低分辨率设置(需要XBMC)
PD-iPod: iPOD的视频编码设定
我通常选择AE-Goodquality这个profile,依照我的机器配置AMD64 3000+,1G内存。24分钟的片子大约需要2到2.5小时。
解释一下那些参数的具体意义,main标签页下
Mode是可选的模式:
ABR(average bitrate)是码率被设定在一个平均数上下浮动(不适合视频编码)
constant quality恒定画质(一般不用)
constantquantizer,恒定量化值,范围0~51,0为无损压缩,默认26(貌似Megui里无法选0,值越小质量越高,熟悉Xvid编码的知道Xvid的Q值和x264的量化值存在以下关系x264(Q值) = 12 +6*log2(XVIDQ值))因为是恒定量化值,所以最终的文件大小会根据片源情况发生波动
其它的是各种pass,x264的1-pass不编码会形成.stats文件,多pass编码可以勾选前面的Turbo以加快编码速度。可以通过选择Bitrate来控制文件的大小
Enable PSNR calculati不用勾选,这是个画面质量的校验机制,关掉不会影响画质,还会缩短压缩时间。
Number of thread是设置你的CPU数,双核的CPU可以选2
fourCC是媒体文件识别符号,选x264
Deblocking可以进行噪点的处理,根据片源的情况自行选择,正值起到柔化作用,可以减少噪点,负值则起到锐化的作用。如果你在编码时开启deblocking的话,那么在解码时也要打开deblocking,否则会出现色块、马赛克现象。
AVC Profile和AVC level与我们在电脑上看片无关,不用去理会。
Zone标签是用于区域处理,可以对某段帧进行特殊处理,我们不用去理会
RC and ME标签
VBV Buffer size:码率控制缓冲区的大小,单位kbit,默认0
VBV Maximum Bitrate:平均码率模式下,最大瞬时码率,默认0
VBV Initial Buffer:码率控制缓冲区数据保留的最大数据量与缓冲区大小之比,范围0~1.0,默认0.9
Bitrate Variance: 平均码率模式下,瞬时码率可以偏离的倍数,范围0.1~100.0,默认1.0
Quantizer Compression: 线性量化控制,0.0为固定码率,1.0为固定量化值,默认0.6,只用于2-pass和质量模式
Temp. Blur of est. Frame complexity:根据相邻帧平滑量化值比例的最大值,范围0~99.9,默认20.0,只用于2-pass和质量模式
Temp. blur of Quant after CC: 对统计文件结果平滑量化值比例的最大值,范围0~99.9,默认0.5,只用于2-pass
Chroma M.E.: 勾选进行色度的动态预测
M.E. Range: M.E. Algorithm为Hexagon/Exhaustive时的搜索半径,最大64,默认16
Scene Change Sensitivity: 画面动态变化限,当超出此值时插入I帧,默认40
M.E. Algorithm: 对全像素块动态预测搜索的方式,默认"Hexagon",可选项:
Diamond:菱形搜索,半径1 (快)
Hexagon:正六边形搜索,半径2
Multi hex:可变半径六边形搜索
Exhaustive:全面搜索
(建议设为Multi hex,Exhaustive实在太慢了,而且质量提高极不明显。)
Subpixel Refinemen: 动态预测和分区方式,可选项1~7,默认5(与压缩质量和时间关系密切,1是7速度的四倍以上) 1:用全像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索
2:用半像素块进行动态搜索,对每个块再用快速模式进行四分之一像素块精确搜索
3:用半像素块进行动态搜索,对每个块再用质量模式进行四分之一像素块精确搜索
4:用快速模式进行四分之一像素块精确搜索
5:用质量模式进行四分之一像素块精确搜索
6:进行I、P帧像素块的速率失真最优化(rdo)
7:进行I、P帧运动矢量及块内部的速率失真最优化(质量最好)
( 越大质量越好,不过编码速度也会急剧下降。建议:只要机器撑得住,设为7)
Keyframe Interval: 最大IDR帧间距,默认250(一般来说压制动画时,可以增大)
Min. GOP Size: 最小IDR帧间距,默认25(一般来说压制动画时,可以减小)
Noise Reduction:噪声去除,范围0~100000,默认0
Advanced标签
Minimum Quantizer: 设置最小量化值,范围0~51,默认10
Maxmum Quantizer: 设置最大量化值,范围0~51,默认51
Maxmum Quantizer Delta: 设置相邻帧之间的量化值差,范围0~50,默认4
Credits Quantizer: 演员表量化值
Factor between I and P frame Quants: I帧和P帧之间的量化系数,默认1.40
Factor between P and B frame Quants: P帧和B帧之间的量化系数,默认1.30
Chroma QP Offset: 色度和亮度之间的量化差,范围-12~+12,默认0
Trellis: Trellis量化,对每个8x8的块寻找合适的量化值,需要CABAC,默认0
0:关闭
1:只在最后编码时使用
2:一直使用
(提高质量,降低速度。建议开启。)
Number of Refence Frames: 最大参考帧数,范围0~16,默认1(对质量和压缩比都有提高的参数,一般要设>1)
Mixd: 可以在一帧内使用不同参考帧(有效,但对速度影响较大。建议尽量开启)
CABAC:内容自适应二进制算术编码(CABAC,高效率的熵编码)(关闭会提高速度,但严重影响质量)
No Dct Decimatio: 关闭P帧联合编码(可以增加细节,但也会增大体积)
No Fast P-Skip: 关闭快速P帧跳过检测
Macroblock Options: 动态块划分方法,默认"p8x8,b8x8,i8x8,i4x4"。可选项:p8x8/b8x8/i8x8/i4x4;none/all(p4x4需要p8x8. i8x8需要Adaptive DCT)
(分析当然是越多越好。建议:只要机器撑得住,设为all。)
Number of B-Frames: 在IP帧之间可插入的B帧数量最大值,范围0~16,默认0(可以大大提高压缩比的参数,非用于二次压制的片源一般要设>1)
Adaptive B-Frames: 自适应B帧判定(B-Frames设为1时可以不用,其他不推荐)
B-Pyramid: 允许B帧做参考帧(对速度影响很小,一般开启)
RDO for B-Frames: B帧也进行速率失真最优化,需要Subpixel Refinemen在6以上(提高质量,降低速度。建议开启。)
Weighted B-Prediction: 允许B帧加权预测(可以减少相邻B帧质量低的影响)(对质量和压缩比都有提高,且对速度影响极少。建议开启。)
Bidirection M.E.: 可以平均B帧参考块的运动矢量(对质量和压缩比都有提高,且对速度影响极少。建议开启。)
B-Frame mode: 动态预测方式,默认"spatial"。可选项:none/spatial/temporal/auto(建议用auto)
B-Frame bias: 控制插入B帧判定,范围-100~+100,越高越容易插入B帧,默认0
Quantization matrix: 可以选用自定义距阵。附件里提供几个距阵LRM MRM HRM分别对应低中高码率。
OK接下来退出Config页面,按Enqueue按钮。接着转到Queue标签
按start
开始压制。结束后会生成一个MP4文件。
然后处理音频。当然也可以使用Megui。不过处理音频的工具很多,最简单的用foobar2000,winamp都可以实现。
音频处理完就可以用mkvtoolnix中的mmg封成MKV,当然用yamb+mp4box也可以封成Mp4
这样视频文件就完工了
页:
[1]