NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 22027|回复: 18

[原创]压制x264快速上手教程 ver 2.0

[复制链接]
发表于 2006-3-13 21:42 | 显示全部楼层 |阅读模式
半年多笔者曾经前写过一份 x264 新手上路教程。由于x264的飞速发展,有很多新的概念和选项加入了。因此笔者特地在原文基础上,编写了这份2.0版的教程,并对原先不太正确的部分进行了修正。

什么是x264:

x264是一个能够编码H.264/AVC视频流的免费库。其代码由 Laurent Aimar, Eric Petit(OS X), Min Chen (vfw/nasm), Justin Clay(vfw), Måns Rullgård 和 Loren Merritt 编写。它在GNU GPL许可协议下分发
网站: http://www.videolan.org/x264.html

上路:

首先介绍一下要使用到的工具。由于这是新手教程,因此我们暂且不提命令行压制,而采用GUI方式进行。

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

注意,关于x264输出格式:
mp4:通常情况下mp4输出是第一选择。因为通常输出mp4以后,可以将视频和音频、字幕等一起封装在mkv中(推荐)。mmg对mp4的支持是native mode,兼容性很好;而对于avi中的avc则不能很好地封装。
avi:通常只有在成品必须要是avi的情况下才用这个选项。avi可以很容易地被VDM处理,而且拆分avi不需要独立的拆分器(splitter)。但就笔者实际测试下来看,如果你用MPC播放avc in avi,当你沿关键帧进行跳跃的时候,会容易产生非法操作。因此不推荐。
因此,在本文中,我们只讨论输出mp4的情况。

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

首先请下载压制所需要的工具(并解压或者安装):
.NET Framework 2.0 .net 2.0 运行库 (22.4 MB)
最新版本的 x264 CLI (版本最好要400以上)
meGUI (本文以0.2.3.2107为例讲解) (272 KB)
AVISynth 2.55

解压完成以后,请运行meGUI,在tools - settings - program paths中定位好x264的路径。
如果你想在压制的时候同时做其它事情,那么main - default priority请选择low。
x264 encoder请选择x264。

压制:

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

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

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

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

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

credits quantizer 是一部影片最后的演员表的量化。设置成多少无关紧要,因为我们通常不会用到这个选项。

相关的图片:
(x264_v2_1.png)
(x264_v2_2.png)
(x264_v2_3.png)

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

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

x264的1st-pass(with Turbo)压制速度比XviD的常规速度要慢一些。实际输出文件的那一遍pass更慢一些,所以要有耐心哦。

压制完成后,我们得到mp4文件。mp4可以用MMG来合成mkv(别忘记加音频啊)。

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

[ 本帖最后由 MeteorRain 于 2006-3-13 21:44 编辑 ]
x264_v2_1.png
x264_v2_2.png
x264_v2_3.png
发表于 2006-3-14 12:38 | 显示全部楼层
Nb. thread 是线程数。开1线和2线差距不大。但是如果你是双cpu或者是双核心,开2线程可以大大提高压制速度。HT我没有条件试,不过据说效果不太好。

理论上是“大大提高速度”,但是实际上测试后感觉并不明显。
CPU:P4 540(3.2G 775 1M HT)
内存:1G DDR400
 楼主| 发表于 2006-3-15 09:21 | 显示全部楼层
P4 540是双核的?HT的话肯定不行。HT的效果是你可以一边打游戏一边压片,基本不受影响。但是一边压片一边压片,效果就很华丽了囧
发表于 2006-3-15 12:10 | 显示全部楼层
不是双核,只有HT。
“一边压片一边压片”是指什么= =||
 楼主| 发表于 2006-3-15 22:36 | 显示全部楼层
一边压片一边压片当然就是指用2线程在HT环境下压片罗
发表于 2006-3-16 11:53 | 显示全部楼层
哪位有钱人去测试一下在P4EE上的表现 囧
发表于 2006-3-20 16:35 | 显示全部楼层
我也强烈期待双核的测试结果啊!貌似搞这个的都是穷人,哈哈,自己汗下...我的AMD2800+,编码起来相当费劲...
发表于 2006-3-20 16:40 | 显示全部楼层
X264的megui不能直接封装DTS音轨比较可惜,还要再打包成MKV,而MKV的分割那个MKV....(软件名忘记了,大家知道我指的是什么了...)软件MS比较傻气,也可是俺比较弱弱没找到正确的方法,汗...这都是能人,俺说话总是有点战慄不安啊
发表于 2006-3-20 17:40 | 显示全部楼层
分割MKV的话,MKVMERGE就可以哦。
在MKVMerge GUI里面,有一个Global标签里面,有一个选项叫Enable Splitting的选项,打上对勾之后可以选择按照容量或时间分割。
发表于 2006-4-3 21:08 | 显示全部楼层
为什么会这样?另问弄成AVI格式需要修改那些设置



[ 本帖最后由 风月 于 2006-4-3 21:09 编辑 ]
9999999999.JPG
发表于 2006-4-4 15:39 | 显示全部楼层
使用MeGUI输出的只有mp4或者MKV
想要avi使用VDM压制。
发表于 2006-4-4 19:42 | 显示全部楼层
另外我那个图片的看了没?输出MP4可他没压缩..
如何用VDM压缩?

[ 本帖最后由 风月 于 2006-4-4 19:44 编辑 ]
 楼主| 发表于 2006-4-6 11:23 | 显示全部楼层
不推荐输出AVI。
如果要输出AVI,用VDM调用x264 VfW压缩。

你那张图我没看懂啊……背景是MeGUI,前景是x264gui?
发表于 2006-5-9 20:21 | 显示全部楼层
大大可以把压H264的工具传上来么..找不全
发表于 2006-5-10 08:17 | 显示全部楼层
发表于 2006-6-25 00:11 | 显示全部楼层
为什么我在CODEC这个下拉选项中只看到LMP4,X264,Snow,XVID,而没有看到LZ说的AVC选项呢?
 楼主| 发表于 2006-6-26 12:10 | 显示全部楼层
那就是x264了。话说其实新版的meGUI我还没怎么用过呢囧
发表于 2008-9-26 21:36 | 显示全部楼层
楼主可以更新了,MEGUI的界面更改了好多,看不懂了
发表于 2010-1-8 20:19 | 显示全部楼层
很不懂、需要进来看看 、、
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2024-4-20 08:13 , Processed in 0.281887 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表