搜索 社区服务 统计排行 帮助
  • 15315阅读
  • 32回复

[原创]x.264 新手上路教程

楼层直达
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
随着H.264编码器质量的不断提升,基于H.264的编码也越来越流行。今天本人就带给各位x.264的基本压制教程。
首先介绍一下要使用到的工具。由于这是新手教程,因此我们暂且不提命令行压制,而采用GUI方式进行。

x264是一款免费的H.264编码器。有VFW(适用于VDM)和CLI(命令行界面)两种。
mencoder可以用来调用x264的库进行编码。
meGUI - x264 CLI & mencoder (XviD, lavc, Snow) GUI with (HE)AAC encoding and MP4 mux,看名字就知道,是x264 CLI、mencoder的GUI界面,而且同时可以进行(he-)aac音频编码和mp4的视频/音频合并工作。

我们的压制工作将使用meGUI挂接mencoder/x264 CLI来完成。

首先请下载压制所需要的工具(并解压或者安装):
.NET Framework 1.1 .net运行库 - 如果你没有安装VS.net 2003的话,还是下载吧……
最新版本的 x264 CLI
最新版本的 mplayer 需要注意的是,最新版本是在最下面。请选用适合你的CPU的版本。mplayer内附有mencoder程序。
mencoder必须的一个动态链接库 下载完后,请把它安放在与mencoder相同的目录下。否则是无法压制x264的。
meGUI 不好意思忘记了最重要的东东的链接……就在那贴的附件

解压完成以后,请运行meGUI,在tools - settings中定位好mencoder和x264的路径。
下方的default priority请选择low。
x264 encoder这个选项与你想要的输出格式有关。输出mp4请使用x264,输出avi则使用mencoder。
注意:关于输出格式:
mp4:通常情况下mp4输出是第一选择。因为通常输出mp4以后,可以将视频和音频、字幕等一起封装在mkv中(推荐)。mmg对mp4的支持是native mode,兼容性很好;而对于avi中的avc则不能很好地封装。
avi:通常只有在成品是avi的情况下才用这个选项。avi可以很容易地被VDM处理,而且拆分avi不需要独立的拆分器(splitter)。但就我实际测试下来看,MPC在播放avc的avi时,当你沿关键帧进行跳跃的时候,会产生非法操作。因此不推荐。



压制:
首先这里处理的都是avs,因此如果你要进行avi压制,那就得自己开一个avs写上avisource()
在MeGUI里打开avs,然后选codec为AVC,单击旁边的config,配置AVC的设置。
除了压制方法外,图中给出的是我的推荐设置。
关于压制方法的说明:
ABR: 类似普通rmvb的压制法,一次成形。码率的分配来自即时验算。通常不应该使用这个模式。
CQ: 固定量化值输出。与xvid中的qr模式相同。每一类帧采用相同的量化值来量化,使得全片的质量大体相近。这里指定的应该是P帧的qr。I和B帧的qr由第2页的比例计算来得到。CQ模式适用与追求质量而不计全片码率和文件大小的片子使用。
2pass - 1st/2nd: 手动进行2pass压制。和rmvb一样。1st时可以用turbo以加快压制速度。在1st pass时MeGUI不会输出任何的视频信息,也不会生成一个空的mp4/avi。(而VDM会。)
automated 2pass: 自动2pass压制。一次设置就能生成2个任务,加快了处理速度。
3pass: 高级功能,供高级用户使用。xvid做过3pass的朋友应该会比较熟悉。由于这是初心教程,所以跳过……




第2页如图
其中min/max quantizer 分别是量化的限制。如果你压的片码率较高,可以把这两个数值往下调。反之亦然。也可以放宽两者的差,但会造成不同帧的质量差距较大。

Nb. thread 是线程数。开1线和2线差距不大。但是如果你是双cpu或者是双核心,开2线程可以大大提高压制速度。HT我没有条件试。试过的朋友别忘记说一下效果。

Factor between I and P (P and B) frame quants 就是我之前说过的那个ipb量化比例。设置为1/1能够在提供比较好的质量的情况下降低码率提高压缩比。特别是B帧,用得越多,整体画质就越好。

credits quantizer 是一部影片最后的演员表的量化。设置成多少无关紧要,因为我们通常采用相同的量化值来压制。

最底下的 logfile 就是我们在XviD里说的stats file了,记录了1st-pass的信息。如果你想保留这些文件而不被重复覆盖,那么为每个任务设置不同的文件名是很重要的。

第3页是区域设置
通常情况下我们进行全局压制。区域只有在有特殊要求的时候才使用,用于控制某一段的质量。



一切设置完成以后,单击OK出来,然后设置好文件的输出地址及名称,单击右边的Queue按钮就可以将任务添加到任务队列中。然后到MeGUI的第2页(Queue),按下Start按钮,就开始压制了。
值得注意的是,压制很耗费内存,请留出足够的内存以供压制……

x.264的1st-pass(with Turbo)压制速度比XviD的常规速度要慢一些。实际输出文件的pass更慢一些。不过显然比Nero的AVC编码器要快得多。

压制完成后,我们得到mp4/avi文件。mp4可以用MMG来合成mkv(别忘记加音频啊)。avi则用VDM处理(要用1.5.x+版本才行哦)!

祝大家压制愉快 ^_^
MR
6.24
转载请务必保留出处及本人大名,否则将追究责任!!!
期待大家的讨论!!!

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 骑士
注册时间:
2001-11-21
在线时间:
0小时
发帖:
1366
只看该作者 1楼 发表于: 2005-06-24
第一、差很多东西没说,上不了路

第二、ateme avc和x264的压制速度很难说谁快谁慢,选项开的多自然就慢,开得少自然就快,如果说都用最快速度来压,差不多;都用最慢速度来压,差不多。然而x264有不少hp的选项可用,确实不错。而ateme的操控选项要少得多,如果说到新手上路,反而更应该是ateme而不是x264。



Heaven is a girl I know so well
She makes me feel good when I feel like hell
Heaven is a girl that I've got to have
She makes me feel better when I'm feelin' bad
Heaven is a girl that makes dreams come true
Oh, no one does it good like heaven do, no
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 2楼 发表于: 2005-06-24
引用
最初由 hylx 发布
第一、差很多东西没说,上不了路
问一句,什么东西没说?我补上-_-|||
第一次写教程没什么经验,见效了……

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 骑士
注册时间:
2001-11-21
在线时间:
0小时
发帖:
1366
只看该作者 3楼 发表于: 2005-06-24
至少应该有cabac,weighted prediction,debloking……等等,这些算是基本的了,我觉得大虾写的那个都比你这个强



Heaven is a girl I know so well
She makes me feel good when I feel like hell
Heaven is a girl that I've got to have
She makes me feel better when I'm feelin' bad
Heaven is a girl that makes dreams come true
Oh, no one does it good like heaven do, no
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 4楼 发表于: 2005-06-24
引用
最初由 hylx 发布
至少应该有cabac,weighted prediction,debloking……等等,这些算是基本的了,我觉得大虾写的那个都比你这个强
本来就比我的强…………说了是初心者教程>_<

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 骑士
注册时间:
2001-11-21
在线时间:
0小时
发帖:
1366
只看该作者 5楼 发表于: 2005-06-24
初心者用x264基本就是自虐啊,参数都不懂的话,推荐设置怎么来的……不是很诡异吗?



Heaven is a girl I know so well
She makes me feel good when I feel like hell
Heaven is a girl that I've got to have
She makes me feel better when I'm feelin' bad
Heaven is a girl that makes dreams come true
Oh, no one does it good like heaven do, no
级别: 超级版主
注册时间:
2003-03-27
在线时间:
997小时
发帖:
2419
只看该作者 6楼 发表于: 2005-06-24
呵呵,大虾那个好像也不是他自己写的,转贴而已 XD
级别: 新手上路
注册时间:
2004-12-19
在线时间:
0小时
发帖:
2
只看该作者 7楼 发表于: 2005-06-24
进来看看
级别: 骑士
注册时间:
2001-11-21
在线时间:
0小时
发帖:
1366
只看该作者 8楼 发表于: 2005-06-24
好像是他翻的,孩子小,应该多鼓励他不是吗?



Heaven is a girl I know so well
She makes me feel good when I feel like hell
Heaven is a girl that I've got to have
She makes me feel better when I'm feelin' bad
Heaven is a girl that makes dreams come true
Oh, no one does it good like heaven do, no
级别: 新手上路
注册时间:
2004-12-19
在线时间:
0小时
发帖:
2
只看该作者 9楼 发表于: 2005-06-24
引用
最初由 hylx 发布
好像是他翻的,孩子小,应该多鼓励他不是吗?
恩恩,有没有连接,师傅最近不上msn啊,找不到您?
级别: 骑士
注册时间:
2001-11-21
在线时间:
0小时
发帖:
1366
只看该作者 10楼 发表于: 2005-06-24
pm你了



Heaven is a girl I know so well
She makes me feel good when I feel like hell
Heaven is a girl that I've got to have
She makes me feel better when I'm feelin' bad
Heaven is a girl that makes dreams come true
Oh, no one does it good like heaven do, no
级别: 侠客
注册时间:
2003-11-08
在线时间:
0小时
发帖:
608
只看该作者 11楼 发表于: 2005-06-24
那个……meGUI,我转了doom9.org、free-codecs、华军等很多地方都找不到啊!当关键词用百度也搜不出来。能给个有这东西的地方吗?

级别: 超级版主
注册时间:
2003-03-27
在线时间:
997小时
发帖:
2419
只看该作者 12楼 发表于: 2005-06-24
引用
最初由 meamdfan 发布
那个……meGUI,我转了doom9.org、free-codecs、华军等很多地方都找不到啊!当关键词用百度也搜不出来。能给个有这东西的地方吗?



这东西就是doom9本人自己写的,怎么可能在doom9找不到,细心找找,就在坛子里…… -____-
级别: 侠客
注册时间:
2003-11-08
在线时间:
0小时
发帖:
608
只看该作者 13楼 发表于: 2005-06-24
找到了,原来在这里……
http://forum.doom9.org/showthread.php?t=96032

只是奇怪怎么百度用 site:http://forum.doom9.org/"megui" 搜不出来呢?

级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 14楼 发表于: 2005-06-25
失误了……忘记最重要的组件的链接了>_<
已经补上了……

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164