返回列表 发布新帖

[家庭影院/碟机] 用Megui -x264压制简介

5484 0
发表于 2010-1-16 11:16:42 | 查看全部 阅读模式

来吧兄弟,一起玩一起讨论!

您需要 登录 才可以下载或查看,没有账号?注册

×
为什么用Megui -x264?
对于H264(AVC)的编码工具其实有不少,比如nero7中的Recode组件也可以进行编码,不过nero的编码比较傻瓜,自己定制的余地很小,而且是商业软件(尽管我们都用的是D版 [s:14])。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

这样视频文件就完工了
这个世界,真理只存在于导弹的射程范围内

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

淘宝小店

邀请码

VIP会员

微信客服

公众号

微信群

投诉/建议联系

support@gebi1.cn

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 隔壁网 版权所有 All Rights Reserved. 粤ICP备14056481号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表