发表于 : 2007-07-25 10:31
所以最好要么不调这个选项,要么只对其作少量调整。然而,如果你的源视频素材已经有一些块效应或噪声效果你想要去除,那么可能将这个选项调高一点是个不错的办法。
(no)cabac
使用CABAC模式(Context-Adaptive Binary Arithmetic Coding,上下文自适应的二进制算术编码)(默认值:开启)。稍稍减慢编码和解码的速度,但应该可以节省10-15%的比特率。除非你要解码速度,否则你不该禁用这个选项。
qp_min=<1−51>(用于ABR或二阶段编码模式)
最小量化参数,10−30似乎是一个有用的范围(默认值:10)。
qp_max=<1−51>(用于ABR或二阶段编码模式)
最大量化参数(默认值:51)
qp_step=<1−50>(用于ABR或二阶段编码模式)
量化参数在帧之间增加/降低的最大数值(默认值:4)
ratetol=<0.1−100.0>(用于ABR或二阶段编码模式)
相对于平均比特率的所允许的变化程度(不针对特定编码单元)(默认值:1.0)
vbv_maxrate=<value>(用于ABR或二阶段编码模式)
局部最大的比特率,单位为千比特/ 秒(默认值:禁用)
vbv_bufsize=<value>(用于ABR或二阶段编码模式)
计算vbv_maxrate时所使用的平均化周期,单位为千比特(默认值:无,如果启用了vbv_maxrate那么必须指定这个选项)
vbv_init=<0.0−1.0>(用于ABR或二阶段编码模式)
初始缓冲占用量,为相对于vbv_bufsize值的一个分数(默认值:0.9)
ip_factor=<value>
I帧和P帧间的量化参数因数(默认值:1.4)
pb_factor=<value>
P帧和B帧间的量化参数因数(默认值:1.3)
qcomp=<0−1>(用于ABR或二阶段编码模式)
量化器压缩率(默认值:0.6)。值越小使比特率越恒定,而值越大使量化参数越恒定。
cplx_blur=<0−999>(仅用于二阶段编码模式)
估计出的帧复杂度的时间模糊度,应用于曲线压缩之前(默认值:20)。值越低则让量化参数值浮动得越多,值越高则使其变化得越平滑。 cplx_blur保证每个I帧的质量与其后的P帧相当,并保证复杂度高低交替变化的帧(例如,低帧率的动画)不会因为量化参数的波动而浪费比特。
qblur=<0−99>(仅用于二阶段编码模式)
量化参数的时间模糊度,应用于曲线压缩之后(默认值:0.5)。值越低则允许量化参数浮动得越多,值越高则使其变化得越平滑。
zones=<zone0>[/<zone1>[/...]]
用户指定的用于影片特定部分(片尾、演职员表、……)的质量值。每个zone的格式是<start-frame>,<end-frame>,<option>,其中option可能是
q=<0−51>
量化参数
b=<0.01−100.0>
比特率的倍数
注意: 量化参数选项不是严重执行的。其影响的只是码率控制过程中的计划阶段,并且仍然受制于溢出补偿和qp_min/qp_max选项。
direct_pred=<name>
决定用于B帧中直接模式宏块的运动预测的类型。
none
不使用直接模式的宏块。
spatial
运动矢量由邻接块推断出来。(默认值)
temporal
运动矢量由其后的P帧推断出来。
auto
编解码器为每个帧分别选择是用spatial还是用temporal。
spatial和temporal速度上和PSNR上大致相同,选择两者中的哪一个取决于视频的内容。 auto稍稍好一些,但运行慢一些。当与多阶段编码模式一同使用时,auto非常有效。 direct_pred=none不仅运行速度较慢而且质量也较差。
(no)weight_b
使用B帧中带权重的预测模式。不用这个选项的话,双向预测出的宏块给每个所参照的帧相等的权重值。使用了这个选项后,权重值是根据B帧相对参照帧的时间位置而决定的。要求bframes > 1。
partitions=<list>
启用一些可选的宏块类型(默认值:p8x8,b8x8,i8x8,i4x4)。
p8x8
启用p16x8、p8x16、p8x8类型。
p4x4
启用p8x4、p4x8、p4x4类型。 p4x4只在subq >= 5,并且分辨率低时才推荐使用。
b8x8
启用b16x8、b8x16、b8x8类型。
i8x8
启用i8x8类型。除非启用了8x8dct,否则i8x8没有任何效果。
i4x4
启用i4x4类型。
all
启用以上所有类型。
none
禁用以上所有类型。
不管这个选项设为何值,p16x16、b16x16和i16x16三种宏块类型总是启用的。
其思想是找到最适合描绘画面某一区域的宏块类型和尺寸。例如,全局摇摄镜头较好以16x16的块来表示,而小型移动物体较好以小一点的块来表示。
(no)8x8dct
自适应空间变换尺寸:允许宏块在4x4和8x8的DCT间选择一种。同时允许使用i8x8的宏块类型。不使用这个选项,则只使用4x4的DCT。
me=<name>
选择全像素运动估计算法。
dia
菱形搜索,半径为1(运行快)
hex
六边形搜索,半径为2(默认值)
umh
非均匀的多六边形搜索(运行慢)
esa
彻底性搜索(运行非常慢,而且不比umh好多少)
me_range=<4−64>
彻底性运动搜索或多六边形运动搜索的半径(默认值:16)
subq=<1−7>
调整亚像素优化质量。该参数控制的是运动估计决策过程中质量与速度的权衡。 subq=5能比subq=1多压缩掉10%。
1
对于所有候选宏块类型运行全像素精度的运动估计操作。然后选择最佳的类型。然后优化这种类型的运动值,使其达到快速四分之一像素模式的精度(运行最快)。
2
对于所有候选宏块类型运行半像素精度的运动估计操作。然后选择最佳的类型。然后优化这种类型的运动值,使其达到快速四分之一像素模式的精度。
3
与2相似,但采用较慢的四分之一像素优化模式。
4
对于所有候选宏块类型运行快速四分之一像素精度的运动估计操作。然后选择最佳的类型。然后完成对于此种类型的四分之像素模式的优化操作。
5
在选择最佳类型之前,对于所有候选宏块类型运行最佳质量的四分之一像素精度的运动估计操作(默认值)。
6
启用I帧和P帧中宏块类型的码率失真优化模式。
7
启用运动矢量和帧内模式的码率失真优化模式。(最佳)
以上内容中,“所有的候选宏块类型”并不恰恰意味着所有已启用的类型: 4x4、4x8、8x4只有当8x8比16x16好时才尝试采用。
(no)chroma_me
在亚像素运动搜索中考虑色度信息(默认值:启用)。要求subq>=5。
(no)mixed_refs
允许每个8x8或16x8的运动部分独立地选取一个参照帧。不用这个选项的话,整个宏块必须采用同一个参照帧。要求frameref>1。
(no)brdo
启用B帧中宏块类型的码率失真优化。要求subq>=6。
(no)bime
优化双向宏块中所用的两个运动矢量,而不是重复使用向前和向后搜索中得到的矢量。没有B帧时这个选项没有任何作用。
trellis=<0−2>
码率失真最优的量化模式
0
禁用(默认值)
1
仅对最终编码启用
2
启用所有模式下的决策(运行慢,要求subq>=6)
deadzone_inter=<0−32>
设置非格子因子量化模式中帧间亮度量化无效区的大小(默认值:21)。较小的值有助于保留最好的细节和影片的粒度感(特别是对于高比特率/质量编码有用),而较大的值有助于滤除这些细节从而省下比特以用在其它宏块和帧上(特别是对于低比特率的编码有用)。推荐你在更改这个参数先调试一下deadzone_intra。
deadzone_intra=<0−32>
置非格子因子量化模式中帧内亮度量化无效区的大小(默认值:11)。该选项与deadzon_inter有相同的效果,不同在于其影响的是内部帧。推荐你在更改deadzone_inter之前先调试一下这个参数。
(no)fast_pskip
执行P帧中的早期跳跃侦测功能(默认值:启用)。该选项通常不花任何代价而提升编码速度,但其有时可能在缺乏细节的画面区域,如天空,产生画面损伤。
(no)dct_decimate
去除只含有单个微小系数的P帧中的DCT块(默认值:启用)。该选项会去除一切画面细节,所以其会省下一些比特以用在其它帧上,从而有可能提升整体的主观质量。如果你正以较高的目标比特率压缩非动画视频内容,那么你可能希望禁用这个选项以尽可能保留画面细节。
nr=<0−100000>
噪声削减强度,0表示禁用。 100−1000对于典型内容来说是一个有用的范围,但你可能希望对噪声很强的视频内容调高一些这个选项。考虑到这个选项对于运行速度影响小,你可能希望倾向于使用这个选项,而不是使用诸如 denoise3d或hqdn3d之类的视频滤镜来滤除噪声。
chroma_qp_offset=<-12−12>
相对于亮度来说为色度使用一个不同的量化参数。有用值的范围是<-2−2>(默认值:0)。
cqm=<flat|jvt|<filename>>
要么使用一个预先定义好的自定义量化矩阵,要么加一个JM格式的矩阵文件。
flat
使用预先定义好的平坦16矩阵(默认值)。
jvt
使用预先定义好的JVT矩阵。
<filename>
使用所给出的JM格式矩阵文件。
注意: Windows CMD.EXE的用户如果尝试使用全部CQM列表时,可能在解析命令行时遇到问题。这是因为命令行长度有限制。在这种情况下推荐将列表存在一个JM格式的CQM文件中,然后像上面所说那样加载进来。
cqm4iy=<list>(另参见cqm)
自定义的4x4帧内亮度矩阵,以由16个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm4ic=<list>(另参见cqm)
自定义的4x4帧内色度矩阵,以由16个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm4py=<list>(另参见cqm)
自定义的4x4帧间亮度矩阵,以由16个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm4pc=<list>(另参见cqm)
自定义的4x4帧间色度矩阵,以由16个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm8iy=<list>(另参见cqm)
自定义的8x8帧内亮度矩阵,以由64个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm8py=<list>(另参见cqm)
自定义的8x8帧间亮度矩阵,以由64个逗号分隔值域为1−255的值组成的列表的形式给出。
level_idc=<10−51>
将比特率的等级设置为H.264标准附件A中定义的值(默认值:51 - 5.1级)。该选项用于告诉解码器其需要支持怎么样的性能。只有当你知道这个参数是什么意思,并且需要设置它时,才使用这个参数。
threads=<0−16>
生成线程以在多个CPU上平行编码(默认值:1)。该选项对于压缩质量稍有一些影响。 0或‘auto’告诉x264让其侦测你有多个CPU,并选取一个适当的线程数。
(no)global_header
使SPS和PPS只出现一次,即在比特流的开始部分(默认值:禁用)。某些播放器,诸如Sony PSP,需要使用这个选项。默认的行为是使SPS和PPS在每个IDR帧前重复出现。
(no)interlaced
将视频内容作为隔行扫描内容对待。
log=<-1−3>
调整打印在屏幕上的日志信息的量。
-1
无
0
只打印错误信息。
1
警告信息
2
当编码结束时打印PSNR以及其它分析统计信息(默认值)
3
每个帧的PSNR、QP、帧类型、大小,以及其它统计信息
(no)psnr
打印信噪比统计信息。
注意: PSNR的‘Y’、‘U’、‘V’和‘Avg’域在数学上并不完美(这些值只是逐帧PSNR的平均值)。这些只是为了与JM标准的编解码器相比较,而保留下来的。出于其它目的的话,请采用log=3打印的‘Global’PSNR,或是逐帧的PSNR。
(no)ssim
打印结构相似度计量结果。该值为PSNR的一种替代计量值,并且可能与压缩后视频上观察到的质量有更好的相关性。
(no)visualize
启用x264在编码时的可视化效果。如果你系统上的x264支持这个选项,那么在编码过程中将打开一个新窗口,在这个窗口中, x264会尝试总体性地显示出每一帧是如何编码。在可视化模式下影片的每种块类型将以如下方式着色:
红/粉红
帧内块
蓝
帧间块
绿
跳跃
黄
B块
该功能可以认为是实验性,并且容易变化。特别是,其需要x264编译时启用可视化功能。注意在写这部分内容时,x264在编码并可视化显示每一帧后会暂停,等待用户按一个键,在此之后才编码下一帧。
xvfw(−xvfwopts)
使用Windows视频编解码器编码基本上是过时的做法,除非你希望编码为某种难懂而极端的编解码器格式。
codec=<name>
用于编码的二进制编解码器文件的文件名。
compdata=<file>
vfw2menc创建的编解码器设置文件的文件名(如firstpass.mcf)。
MPEG muxer(−mpegopts)
MPEG muxer可以生成5种类型的视频流,每种都有较好的默认参数,而用户可以更改这些参数。通常,当生成MPEG文件时,建议禁用MEncoder的跳帧指令(参见−noskip、−mc以及视频滤镜harddup和softskip)。
示例:
format=mpeg2:tsaf:vbitrate=8000
format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2>
视频流格式(默认值:mpeg2)。 pes1与pes2是非常有问题的格式(没有打包头,没有填充),但VDR使用这些格式;不要选用这些格式,除非你确切知道你在做什么。
size=<最大65535>
单位为字节的打包大小,不要更改这个值除非你确切知道你在做什么(默认值:2048)。
muxrate=<int>
打包头部信息中的单位kbit/s的标称复合流速率(默认值:1800 kb/s)。当‘format=mpeg1’或‘mpeg2’时将根据需要获得更新。
tsaf
如果可能,在所有帧上设置时间戳值;推荐当format=dvd时使用。如果dvdauthor报警输出信息,例如“..audio sector out of range...”时,那么你可能不该启用这个选项。
interleaving2
使用一种更好的算法来交织音频和视频数据包,其所基于的原则是流合并器将总是尝试在空闲空间所占百分比最大的条件下填充流。
vdelay=<1−32760>
初始视频延迟时间,单位为毫秒(默认值:0),如果你想让视频相对音频有一定延后,那么就使用这个选项。这个选项在使用了:drop时无效。
adelay=<1−32760>
初始音频延迟时间,单位为毫秒(默认值:0),如果你想让音频相对视频有一定延后,那么就使用这个选项。
drop
当与vdelay一起使用时,流合并器将丢弃先于视频出现的那部分音频。
vwidth, vheight=<1−4095>
当视频是MPEG-1/2时,设置视频的宽度和高度。
vpswidth, vpsheight=<1−4095>
当视频是MPEG-2时,设置全景显示模式(pan-scan)下视频的宽度和高度。
vaspect=<1 | 4/3 | 16/9 | 221/100>
设置MPEG-2视频的显示宽高比。不要对MPEG-1视频使用这个选项,否则产生的宽高比将完全错误。
vbitrate=<int>
设置MPEG-1/2视频单位为kbit/s的视频比特率。
vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >
设置MPEG-1/2视频的帧率。如果与telecine选项一同使用,那么将忽略这个选项。
telecine
启用3:2下拉软性电视图像化模式:流合并器将使视频流看上去像是以30000/1001fps编码的。只有当输出帧率为24000/1001fps时这个选项才对MPEG-2有效,如需要则使用−ofps改变输出帧率。其它的帧率与该选项不兼容。
film2pal
启用FILM和NTSC至PAL软性电视图像化模式:流合并器将使视频流看上去像是以25fps编码的。只有当输出帧率为24000/1001fps时这个选项才对MPEG-2有效,如需要则使用−ofps改变输出帧率。其它的帧率与该选项不兼容。
tele_src and tele_dest
使用Donand Graft的DGPulldown代码启用任意电视图像化模式。你需要指定原始帧率和所期望的帧率;流合并器将使视频流看上去像是以所期望的帧率编码的。只有当输入的帧率比输出的帧率小,并且帧率的增加量 <= 1.5时,这个选项才对MPEG-2视频有效。
示例:
tele_src=25,tele_dest=30000/1001
PAL至NTSC的电视图像化处理
vbuf_size=<40−1194>
设置视频解码器的缓冲大小,以千字节为单位表示。只有当视频流的比特率对于所选的格式来说太高了,并且你完全了解你在做什么时,才指定这个选项。太高的值可能导致影片无法播放,这取决于播放器的能力。当合并HDTV视频流时,400的值应该足够了。
abuf_size=<4−64>
设置音频解码器的缓冲大小,以千字节为单位表示。针对vbuf_size的原则在此同样适用。
FFmpeg libavformat demuxers(−lavfdopts)
probesize=<value>
在侦测阶段所探测的最大数据量。在MPEG-TS的情况下,这个值指定了所扫描TS包的最大个数。
FFmpeg libavformat muxers(−lavfopts)(另参见−of lavf)
delay=<value>
当前只对MPEG[12]有意义:单位为秒的,对于任意出现的流,输出流参照计时器(SCR)和解码时间戳(DTS)之间的最大所允许的差距。默认值为0.7(与MPEG标准所定义的强制执行值相同)。较高的值要求较大的缓冲,因而不应使用。
format=<container_format>
重新定义所合并输出的是哪种容器格式(默认值:根据输出文件的扩展名自动侦测)。
mpg
MPEG-1系统以及MPEG-2 PS
asf
高级流媒体格式
avi
音视频交织文件
wav
波形音频
swf
Macromedia Flash
flv
Macromedia Flash视频文件
rm
RealAudio和RealVideo
au
SUN AU格式
nut
NUT开放容器格式(实验性)
mov
QuickTime
mp4
MPEG-4格式
dv
Sony数字视频容器格式
i_certify_that_my_video_stream_does_not_use_b_frames
当视频流中有B帧时,MEncoder不能正确设置时间戳,从而导致编码问题。如果你希望使用lavf流合并器,那么你必须不让视频编解码器使用B帧(参见每个编解码器的相关文档),并且你也必须指定这个选项。
muxrate=<rate>
流合流时的标称比特率,单位为比特每秒;当前该选项只对MPEG[12]有意义。有时需要提高这个值以防止“缓冲下溢”。
packetsize=<size>
所选格式单个数据包的大小,以字节为单位表示。当将流合并至MPEG[12]的实现格式时,默认值为:对于VCD为2324,对于所有其它格式为2048。
preload=<distance>
当前只对MPEG[12]有意义:单位为秒,对于任意出现的流,输出流参照计时器(SCR)和解码时间戳(DTS)间的初始差距(流分离至解码间的延迟)。
(no)cabac
使用CABAC模式(Context-Adaptive Binary Arithmetic Coding,上下文自适应的二进制算术编码)(默认值:开启)。稍稍减慢编码和解码的速度,但应该可以节省10-15%的比特率。除非你要解码速度,否则你不该禁用这个选项。
qp_min=<1−51>(用于ABR或二阶段编码模式)
最小量化参数,10−30似乎是一个有用的范围(默认值:10)。
qp_max=<1−51>(用于ABR或二阶段编码模式)
最大量化参数(默认值:51)
qp_step=<1−50>(用于ABR或二阶段编码模式)
量化参数在帧之间增加/降低的最大数值(默认值:4)
ratetol=<0.1−100.0>(用于ABR或二阶段编码模式)
相对于平均比特率的所允许的变化程度(不针对特定编码单元)(默认值:1.0)
vbv_maxrate=<value>(用于ABR或二阶段编码模式)
局部最大的比特率,单位为千比特/ 秒(默认值:禁用)
vbv_bufsize=<value>(用于ABR或二阶段编码模式)
计算vbv_maxrate时所使用的平均化周期,单位为千比特(默认值:无,如果启用了vbv_maxrate那么必须指定这个选项)
vbv_init=<0.0−1.0>(用于ABR或二阶段编码模式)
初始缓冲占用量,为相对于vbv_bufsize值的一个分数(默认值:0.9)
ip_factor=<value>
I帧和P帧间的量化参数因数(默认值:1.4)
pb_factor=<value>
P帧和B帧间的量化参数因数(默认值:1.3)
qcomp=<0−1>(用于ABR或二阶段编码模式)
量化器压缩率(默认值:0.6)。值越小使比特率越恒定,而值越大使量化参数越恒定。
cplx_blur=<0−999>(仅用于二阶段编码模式)
估计出的帧复杂度的时间模糊度,应用于曲线压缩之前(默认值:20)。值越低则让量化参数值浮动得越多,值越高则使其变化得越平滑。 cplx_blur保证每个I帧的质量与其后的P帧相当,并保证复杂度高低交替变化的帧(例如,低帧率的动画)不会因为量化参数的波动而浪费比特。
qblur=<0−99>(仅用于二阶段编码模式)
量化参数的时间模糊度,应用于曲线压缩之后(默认值:0.5)。值越低则允许量化参数浮动得越多,值越高则使其变化得越平滑。
zones=<zone0>[/<zone1>[/...]]
用户指定的用于影片特定部分(片尾、演职员表、……)的质量值。每个zone的格式是<start-frame>,<end-frame>,<option>,其中option可能是
q=<0−51>
量化参数
b=<0.01−100.0>
比特率的倍数
注意: 量化参数选项不是严重执行的。其影响的只是码率控制过程中的计划阶段,并且仍然受制于溢出补偿和qp_min/qp_max选项。
direct_pred=<name>
决定用于B帧中直接模式宏块的运动预测的类型。
none
不使用直接模式的宏块。
spatial
运动矢量由邻接块推断出来。(默认值)
temporal
运动矢量由其后的P帧推断出来。
auto
编解码器为每个帧分别选择是用spatial还是用temporal。
spatial和temporal速度上和PSNR上大致相同,选择两者中的哪一个取决于视频的内容。 auto稍稍好一些,但运行慢一些。当与多阶段编码模式一同使用时,auto非常有效。 direct_pred=none不仅运行速度较慢而且质量也较差。
(no)weight_b
使用B帧中带权重的预测模式。不用这个选项的话,双向预测出的宏块给每个所参照的帧相等的权重值。使用了这个选项后,权重值是根据B帧相对参照帧的时间位置而决定的。要求bframes > 1。
partitions=<list>
启用一些可选的宏块类型(默认值:p8x8,b8x8,i8x8,i4x4)。
p8x8
启用p16x8、p8x16、p8x8类型。
p4x4
启用p8x4、p4x8、p4x4类型。 p4x4只在subq >= 5,并且分辨率低时才推荐使用。
b8x8
启用b16x8、b8x16、b8x8类型。
i8x8
启用i8x8类型。除非启用了8x8dct,否则i8x8没有任何效果。
i4x4
启用i4x4类型。
all
启用以上所有类型。
none
禁用以上所有类型。
不管这个选项设为何值,p16x16、b16x16和i16x16三种宏块类型总是启用的。
其思想是找到最适合描绘画面某一区域的宏块类型和尺寸。例如,全局摇摄镜头较好以16x16的块来表示,而小型移动物体较好以小一点的块来表示。
(no)8x8dct
自适应空间变换尺寸:允许宏块在4x4和8x8的DCT间选择一种。同时允许使用i8x8的宏块类型。不使用这个选项,则只使用4x4的DCT。
me=<name>
选择全像素运动估计算法。
dia
菱形搜索,半径为1(运行快)
hex
六边形搜索,半径为2(默认值)
umh
非均匀的多六边形搜索(运行慢)
esa
彻底性搜索(运行非常慢,而且不比umh好多少)
me_range=<4−64>
彻底性运动搜索或多六边形运动搜索的半径(默认值:16)
subq=<1−7>
调整亚像素优化质量。该参数控制的是运动估计决策过程中质量与速度的权衡。 subq=5能比subq=1多压缩掉10%。
1
对于所有候选宏块类型运行全像素精度的运动估计操作。然后选择最佳的类型。然后优化这种类型的运动值,使其达到快速四分之一像素模式的精度(运行最快)。
2
对于所有候选宏块类型运行半像素精度的运动估计操作。然后选择最佳的类型。然后优化这种类型的运动值,使其达到快速四分之一像素模式的精度。
3
与2相似,但采用较慢的四分之一像素优化模式。
4
对于所有候选宏块类型运行快速四分之一像素精度的运动估计操作。然后选择最佳的类型。然后完成对于此种类型的四分之像素模式的优化操作。
5
在选择最佳类型之前,对于所有候选宏块类型运行最佳质量的四分之一像素精度的运动估计操作(默认值)。
6
启用I帧和P帧中宏块类型的码率失真优化模式。
7
启用运动矢量和帧内模式的码率失真优化模式。(最佳)
以上内容中,“所有的候选宏块类型”并不恰恰意味着所有已启用的类型: 4x4、4x8、8x4只有当8x8比16x16好时才尝试采用。
(no)chroma_me
在亚像素运动搜索中考虑色度信息(默认值:启用)。要求subq>=5。
(no)mixed_refs
允许每个8x8或16x8的运动部分独立地选取一个参照帧。不用这个选项的话,整个宏块必须采用同一个参照帧。要求frameref>1。
(no)brdo
启用B帧中宏块类型的码率失真优化。要求subq>=6。
(no)bime
优化双向宏块中所用的两个运动矢量,而不是重复使用向前和向后搜索中得到的矢量。没有B帧时这个选项没有任何作用。
trellis=<0−2>
码率失真最优的量化模式
0
禁用(默认值)
1
仅对最终编码启用
2
启用所有模式下的决策(运行慢,要求subq>=6)
deadzone_inter=<0−32>
设置非格子因子量化模式中帧间亮度量化无效区的大小(默认值:21)。较小的值有助于保留最好的细节和影片的粒度感(特别是对于高比特率/质量编码有用),而较大的值有助于滤除这些细节从而省下比特以用在其它宏块和帧上(特别是对于低比特率的编码有用)。推荐你在更改这个参数先调试一下deadzone_intra。
deadzone_intra=<0−32>
置非格子因子量化模式中帧内亮度量化无效区的大小(默认值:11)。该选项与deadzon_inter有相同的效果,不同在于其影响的是内部帧。推荐你在更改deadzone_inter之前先调试一下这个参数。
(no)fast_pskip
执行P帧中的早期跳跃侦测功能(默认值:启用)。该选项通常不花任何代价而提升编码速度,但其有时可能在缺乏细节的画面区域,如天空,产生画面损伤。
(no)dct_decimate
去除只含有单个微小系数的P帧中的DCT块(默认值:启用)。该选项会去除一切画面细节,所以其会省下一些比特以用在其它帧上,从而有可能提升整体的主观质量。如果你正以较高的目标比特率压缩非动画视频内容,那么你可能希望禁用这个选项以尽可能保留画面细节。
nr=<0−100000>
噪声削减强度,0表示禁用。 100−1000对于典型内容来说是一个有用的范围,但你可能希望对噪声很强的视频内容调高一些这个选项。考虑到这个选项对于运行速度影响小,你可能希望倾向于使用这个选项,而不是使用诸如 denoise3d或hqdn3d之类的视频滤镜来滤除噪声。
chroma_qp_offset=<-12−12>
相对于亮度来说为色度使用一个不同的量化参数。有用值的范围是<-2−2>(默认值:0)。
cqm=<flat|jvt|<filename>>
要么使用一个预先定义好的自定义量化矩阵,要么加一个JM格式的矩阵文件。
flat
使用预先定义好的平坦16矩阵(默认值)。
jvt
使用预先定义好的JVT矩阵。
<filename>
使用所给出的JM格式矩阵文件。
注意: Windows CMD.EXE的用户如果尝试使用全部CQM列表时,可能在解析命令行时遇到问题。这是因为命令行长度有限制。在这种情况下推荐将列表存在一个JM格式的CQM文件中,然后像上面所说那样加载进来。
cqm4iy=<list>(另参见cqm)
自定义的4x4帧内亮度矩阵,以由16个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm4ic=<list>(另参见cqm)
自定义的4x4帧内色度矩阵,以由16个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm4py=<list>(另参见cqm)
自定义的4x4帧间亮度矩阵,以由16个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm4pc=<list>(另参见cqm)
自定义的4x4帧间色度矩阵,以由16个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm8iy=<list>(另参见cqm)
自定义的8x8帧内亮度矩阵,以由64个逗号分隔值域为1−255的值组成的列表的形式给出。
cqm8py=<list>(另参见cqm)
自定义的8x8帧间亮度矩阵,以由64个逗号分隔值域为1−255的值组成的列表的形式给出。
level_idc=<10−51>
将比特率的等级设置为H.264标准附件A中定义的值(默认值:51 - 5.1级)。该选项用于告诉解码器其需要支持怎么样的性能。只有当你知道这个参数是什么意思,并且需要设置它时,才使用这个参数。
threads=<0−16>
生成线程以在多个CPU上平行编码(默认值:1)。该选项对于压缩质量稍有一些影响。 0或‘auto’告诉x264让其侦测你有多个CPU,并选取一个适当的线程数。
(no)global_header
使SPS和PPS只出现一次,即在比特流的开始部分(默认值:禁用)。某些播放器,诸如Sony PSP,需要使用这个选项。默认的行为是使SPS和PPS在每个IDR帧前重复出现。
(no)interlaced
将视频内容作为隔行扫描内容对待。
log=<-1−3>
调整打印在屏幕上的日志信息的量。
-1
无
0
只打印错误信息。
1
警告信息
2
当编码结束时打印PSNR以及其它分析统计信息(默认值)
3
每个帧的PSNR、QP、帧类型、大小,以及其它统计信息
(no)psnr
打印信噪比统计信息。
注意: PSNR的‘Y’、‘U’、‘V’和‘Avg’域在数学上并不完美(这些值只是逐帧PSNR的平均值)。这些只是为了与JM标准的编解码器相比较,而保留下来的。出于其它目的的话,请采用log=3打印的‘Global’PSNR,或是逐帧的PSNR。
(no)ssim
打印结构相似度计量结果。该值为PSNR的一种替代计量值,并且可能与压缩后视频上观察到的质量有更好的相关性。
(no)visualize
启用x264在编码时的可视化效果。如果你系统上的x264支持这个选项,那么在编码过程中将打开一个新窗口,在这个窗口中, x264会尝试总体性地显示出每一帧是如何编码。在可视化模式下影片的每种块类型将以如下方式着色:
红/粉红
帧内块
蓝
帧间块
绿
跳跃
黄
B块
该功能可以认为是实验性,并且容易变化。特别是,其需要x264编译时启用可视化功能。注意在写这部分内容时,x264在编码并可视化显示每一帧后会暂停,等待用户按一个键,在此之后才编码下一帧。
xvfw(−xvfwopts)
使用Windows视频编解码器编码基本上是过时的做法,除非你希望编码为某种难懂而极端的编解码器格式。
codec=<name>
用于编码的二进制编解码器文件的文件名。
compdata=<file>
vfw2menc创建的编解码器设置文件的文件名(如firstpass.mcf)。
MPEG muxer(−mpegopts)
MPEG muxer可以生成5种类型的视频流,每种都有较好的默认参数,而用户可以更改这些参数。通常,当生成MPEG文件时,建议禁用MEncoder的跳帧指令(参见−noskip、−mc以及视频滤镜harddup和softskip)。
示例:
format=mpeg2:tsaf:vbitrate=8000
format=<mpeg1 | mpeg2 | xvcd | xsvcd | dvd | pes1 | pes2>
视频流格式(默认值:mpeg2)。 pes1与pes2是非常有问题的格式(没有打包头,没有填充),但VDR使用这些格式;不要选用这些格式,除非你确切知道你在做什么。
size=<最大65535>
单位为字节的打包大小,不要更改这个值除非你确切知道你在做什么(默认值:2048)。
muxrate=<int>
打包头部信息中的单位kbit/s的标称复合流速率(默认值:1800 kb/s)。当‘format=mpeg1’或‘mpeg2’时将根据需要获得更新。
tsaf
如果可能,在所有帧上设置时间戳值;推荐当format=dvd时使用。如果dvdauthor报警输出信息,例如“..audio sector out of range...”时,那么你可能不该启用这个选项。
interleaving2
使用一种更好的算法来交织音频和视频数据包,其所基于的原则是流合并器将总是尝试在空闲空间所占百分比最大的条件下填充流。
vdelay=<1−32760>
初始视频延迟时间,单位为毫秒(默认值:0),如果你想让视频相对音频有一定延后,那么就使用这个选项。这个选项在使用了:drop时无效。
adelay=<1−32760>
初始音频延迟时间,单位为毫秒(默认值:0),如果你想让音频相对视频有一定延后,那么就使用这个选项。
drop
当与vdelay一起使用时,流合并器将丢弃先于视频出现的那部分音频。
vwidth, vheight=<1−4095>
当视频是MPEG-1/2时,设置视频的宽度和高度。
vpswidth, vpsheight=<1−4095>
当视频是MPEG-2时,设置全景显示模式(pan-scan)下视频的宽度和高度。
vaspect=<1 | 4/3 | 16/9 | 221/100>
设置MPEG-2视频的显示宽高比。不要对MPEG-1视频使用这个选项,否则产生的宽高比将完全错误。
vbitrate=<int>
设置MPEG-1/2视频单位为kbit/s的视频比特率。
vframerate=<24000/1001 | 24 | 25 | 30000/1001 | 30 | 50 | 60000/1001 | 60 >
设置MPEG-1/2视频的帧率。如果与telecine选项一同使用,那么将忽略这个选项。
telecine
启用3:2下拉软性电视图像化模式:流合并器将使视频流看上去像是以30000/1001fps编码的。只有当输出帧率为24000/1001fps时这个选项才对MPEG-2有效,如需要则使用−ofps改变输出帧率。其它的帧率与该选项不兼容。
film2pal
启用FILM和NTSC至PAL软性电视图像化模式:流合并器将使视频流看上去像是以25fps编码的。只有当输出帧率为24000/1001fps时这个选项才对MPEG-2有效,如需要则使用−ofps改变输出帧率。其它的帧率与该选项不兼容。
tele_src and tele_dest
使用Donand Graft的DGPulldown代码启用任意电视图像化模式。你需要指定原始帧率和所期望的帧率;流合并器将使视频流看上去像是以所期望的帧率编码的。只有当输入的帧率比输出的帧率小,并且帧率的增加量 <= 1.5时,这个选项才对MPEG-2视频有效。
示例:
tele_src=25,tele_dest=30000/1001
PAL至NTSC的电视图像化处理
vbuf_size=<40−1194>
设置视频解码器的缓冲大小,以千字节为单位表示。只有当视频流的比特率对于所选的格式来说太高了,并且你完全了解你在做什么时,才指定这个选项。太高的值可能导致影片无法播放,这取决于播放器的能力。当合并HDTV视频流时,400的值应该足够了。
abuf_size=<4−64>
设置音频解码器的缓冲大小,以千字节为单位表示。针对vbuf_size的原则在此同样适用。
FFmpeg libavformat demuxers(−lavfdopts)
probesize=<value>
在侦测阶段所探测的最大数据量。在MPEG-TS的情况下,这个值指定了所扫描TS包的最大个数。
FFmpeg libavformat muxers(−lavfopts)(另参见−of lavf)
delay=<value>
当前只对MPEG[12]有意义:单位为秒的,对于任意出现的流,输出流参照计时器(SCR)和解码时间戳(DTS)之间的最大所允许的差距。默认值为0.7(与MPEG标准所定义的强制执行值相同)。较高的值要求较大的缓冲,因而不应使用。
format=<container_format>
重新定义所合并输出的是哪种容器格式(默认值:根据输出文件的扩展名自动侦测)。
mpg
MPEG-1系统以及MPEG-2 PS
asf
高级流媒体格式
avi
音视频交织文件
wav
波形音频
swf
Macromedia Flash
flv
Macromedia Flash视频文件
rm
RealAudio和RealVideo
au
SUN AU格式
nut
NUT开放容器格式(实验性)
mov
QuickTime
mp4
MPEG-4格式
dv
Sony数字视频容器格式
i_certify_that_my_video_stream_does_not_use_b_frames
当视频流中有B帧时,MEncoder不能正确设置时间戳,从而导致编码问题。如果你希望使用lavf流合并器,那么你必须不让视频编解码器使用B帧(参见每个编解码器的相关文档),并且你也必须指定这个选项。
muxrate=<rate>
流合流时的标称比特率,单位为比特每秒;当前该选项只对MPEG[12]有意义。有时需要提高这个值以防止“缓冲下溢”。
packetsize=<size>
所选格式单个数据包的大小,以字节为单位表示。当将流合并至MPEG[12]的实现格式时,默认值为:对于VCD为2324,对于所有其它格式为2048。
preload=<distance>
当前只对MPEG[12]有意义:单位为秒,对于任意出现的流,输出流参照计时器(SCR)和解码时间戳(DTS)间的初始差距(流分离至解码间的延迟)。