X264参数设定详细解释.docx
《X264参数设定详细解释.docx》由会员分享,可在线阅读,更多相关《X264参数设定详细解释.docx(17页珍藏版)》请在冰点文库上搜索。
X264参数设定详细解释
X264参数设定详细解释
x264core:
65r1074Mb6bb3d4
Syntax:
x264[options]-ooutfileinfile[widthxheight]
语法(命令行写法):
x264[参数]-o输出文件名输入文件名[宽x高]
范例:
x264--crf26--ref3--mixed-refs--bframes3--b-adapt2--b-pyramid--weightb--deblock-1:
-1--trellis2--partitionsall--8x8dct--meumh--threadsauto--thread-input--aud--progress--no-psnr--no-ssim-ooutput.mp4input.avs720x480InfilecanberawYUV4:
2:
0(inwhichcaseresolutionisrequired),
orYUV4MPEG4:
2:
0(*.y4m),
orAVIorAvisynthifcompiledwithAVISsupport(yes).
输入文件可以是RAWYUV4:
2:
0(在某些情况下分辨率是必需的)
或者YUV4MPEG4:
2:
0(*.y4m)
或者AVI或Avisynth(后面的yes说明支持AVS输入)Outfiletypeisselectedbyfilename:
.264->Rawbytestream
.mkv->Matroska
.mp4->MP4ifcompiledwithGPACsupport(yes)
输出文件类型由输出文件名指定:
.264->Raw格式
.mkv->MKV格式
.MP4->MP4格式(yes说明支持MP4输出)Options:
可选参数:
-h,--helpListthemorecommonlyusedoptions
--longhelpListalloptions
-h,--help显示常用参数
--longhelp显示全部参数
注:
-h,--help代表-h与--help两者都可以,-h是简化写法
举个例子:
x264-h与x264--help两者效果等价——————————————————————————————————————Frame-typeoptions:
帧-类型选项:
-I,--keyintMaximumGOPsize[250]
说明:
指定两个IDR帧之间的最大间隔,默认250
推荐值:
默认或者FPS的10倍
范例:
--keyint300
注:
[250]代表默认值为250
提示:
若想使用默认值,不使用参数即可-i,--min-keyintMinimumGOPsize[25]
说明:
指定两个IDR帧之间的最小间隔,默认25
推荐值:
默认或者FPS的大小
范例:
--min-keyint30问题:
如何查看FPS?
去上面的网站下载mediainfo查看--scenecutHowaggressivelytoinsertextraI-frames[40]
说明:
指定强制使用IDR帧的阀值,值越大强度越高,默认为40
推荐值:
默认
范例:
--scenecut40--pre-scenecutFaster,lessprecisescenecutdetection.
Requiredandimpliedbymulti-threading.
说明:
效果同scenecut,速度比scenecut快,但是精度稍低,默认设定为当threads>1时,永远使用--pre-scenecut
推荐值:
默认-b,--bframesNumberofB-framesbetweenIandP[0]
说明:
设定I帧与P帧之间的最大B帧数量,范围0~16
推荐值:
3-6
范例:
--bframes3--b-adaptAdaptiveB-framedecisionmethod[1]
Highervaluesmaylowerthreadingefficiency.
-0:
Disabled
-1:
Fast
-2:
Optimal(slowwithhigh--bframes)
说明:
B帧自适应方法,默认为1
-0:
关闭
-1:
高速
-2:
最优化(--bframes的值越高速度越慢)
推荐值:
2
范例:
--b-adapt2--b-biasInfluenceshowoftenB-framesareused[0]
说明:
影响B帧使用的频繁程度,默认为0
推荐值:
0
范例:
--b-bias0--b-pyramidKeepsomeB-framesasreferences
说明:
允许其它帧参考B帧,默认不使用
推荐值:
开启
范例:
--b-pyramid--no-cabacDisableCABAC
说明:
关闭CABAC,默认不使用-r,--refNumberofreferenceframes[1]
说明:
设定参考帧的数量,范围0~16,默认值为1,过大的值可能导致无法硬解,参考以下公式计算良好硬解的最大参考帧
最大参考帧数量计算公式:
maximumref=12288*1024/(width*height*1.5)
推荐值:
3-6
范例:
--ref3--no-deblockDisableloopfilter
说明:
关闭deblockfilter,默认不使用
推荐值:
默认
范例:
--no-deblock-f,--deblockLoopfilterAlphaC0andBetaparameters[0:
0]
说明:
设定deblockfilter参数,alpha为Deblockingstrength,beta为Deblockingthreshold,值越大deblocking效果越好,画面越干净,但是会损失一些细节并有些许模糊,反之亦然,上下限不要超过-3,3,默认0,0
推荐值:
默认
范例:
--deblock0:
0--interlacedEnablepure-interlacedmode
说明:
隔行编码模式,默认关闭
范例:
--interlaced——————————————————————————————————————Ratecontrol:
压缩比控制:
-q,--qpSetQP(0=lossless)[26]
说明:
固定量化模式,值越小质量越好,默认为26,qp=crf+--qcomp1
推荐值:
使用crf,见crf部分
范例:
--qp26-B,--bitrateSetbitrate(kbit/s)
说明:
目标码率模式,生成的视频码率大小为指定的bitrate的值,一般搭配--pass使用
推荐值:
720P以下码率为800-2100kbps之间,720P为3-6Mbps,1080P为8-15Mbps以上
范例:
--bitrate1000--crfQuality-basedVBR(nominalQP)
说明:
固定压缩因子模式,值越小质量越好,一般搭配--qcomp使用
推荐值:
16-26
范例:
--crf26--qcompQPcurvecompression:
0.0=>CBR,1.0=>CQP[0.60]
说明:
压缩曲线,范围为0~1之间,数值越小曲线越平坦,与crf搭配使用,默认为0.6
推荐值:
默认
范例:
--qcomp0.6--vbv-maxrateMaxlocalbitrate(kbit/s)[0]
说明:
设定VBV模式的最大码率,如果需要硬解必须开启VBV模式,默认为0
范例:
--vbv-maxrate50000--vbv-bufsizeEnableCBRandsetsizeoftheVBVbuffer(kbit)[0]
说明:
设定VBV缓冲区的最大尺寸,其大小一般由硬件设备决定,默认为0
范例:
--vbv-bufsize50000--vbv-initInitialVBVbufferoccupancy[0.9]
说明:
设定VBV缓冲区的初始填充尺寸,默认为0.9
范例:
--vbv-init0.9--qpminSetminQP[10]
说明:
设定qp的下限,默认为10
范例:
--qpmin10--qpmaxSetmaxQP[51]
说明:
设定qp的上限,默认为51
范例:
--qpmax51--qpstepSetmaxQPstep[4]
说明:
设定qp的最大步长,默认为4
范例:
--qpstep4--ratetolAllowedvarianceofaveragebitrate[1.0]
说明:
允许最终码率偏离指定平均码率的百分比,只在1pass中起作用,默认为1.0
范例:
--ratetol1.0--ipratioQPfactorbetweenIandP[1.40]
说明:
设定I帧相对于P帧的量化比
推荐值:
默认
范例:
--ipratio1.40--pbratioQPfactorbetweenPandB[1.30]
说明:
设定P帧相对于B帧的量化比
推荐值:
默认
范例:
--ipratio1.30--chroma-qp-offsetQPdifferencebetweenchromaandluma[0]
说明:
chroma与luma的QP差异值,这个值会随着--psy-rd的使用自动调整为-2
推荐值:
默认
范例:
--chroma-qp-offset0--aq-modeAQmethod[1]
-0:
Disabled
-1:
VarianceAQ(complexitymask)
说明:
自适应量化方法,可以改善某些场景过于模糊等问题,默认开启-0:
关闭
-1:
可变AQ
推荐值:
默认
范例:
--aq-mode1--aq-strengthReducesblockingandblurringinflatand
texturedareas.[1.0]
-0.5:
weakAQ
-1.5:
strongAQ
说明:
指定AQ的强度,减小低细节宏块的量化值,默认1.0
-0.5:
较弱的AQ
-1.5:
较强的AQ
推荐值:
默认
范例:
--aq-strength1.0-p,--passEnablemultipassratecontrol
-1:
Firstpass,createsstatsfile
-2:
Lastpass,doesnotoverwritestatsfile
-3:
Nthpass,overwritesstatsfile
说明:
多重压缩模式,1pass或Npass生成stats文件,2pass调用生成的stats文件对压缩进行优化,更合理的分配码率,一般没必要进行Npass
-1:
第1pass,生成stats文件
-2:
最终pass,不覆盖stats文件
-3:
第Npass,覆盖stats文件
推荐值:
2
范例:
--pass2--statsFilenamefor2passstats["x264_2pass.log"]
说明:
指定stats文件名,默认为"x264_2pass.log"
推荐值:
默认
范例:
--stats"x264_2pass.log"--cplxblurReducefluctuationsinQP(beforecurvecompression)[20.0]
说明:
减小QP的波动(在曲线压缩以前),范围0~999
推荐值:
默认
范例:
--cplxblur20--qblurReducefluctuationsinQP(aftercurvecompression)[0.5]
说明:
减小QP的波动(在曲线压缩之后),范围0~99
推荐值:
默认
范例:
--qblur0.5--zones//...Tweakthebitrateofsomeregionsofthevideo
Eachzoneisoftheform
,
whereiseither
q=(forceQP)
orb=(bitratemultiplier)
说明:
调整视频中某一范围内的码率
每个区域已以下形式出现
,
为下面的任意一个
q=(强制QP)
或b=(指定bitrate)
范例:
--zone0,1000,qp=30/30000,32000,b=0.5--qpfileForceframetypesandQPs
说明:
强制指定帧类型与QP
推荐值:
默认Analysis:
分析:
-A,--partitionsPartitionstoconsider["p8x8,b8x8,i8x8,i4x4"]
-p8x8,p4x4,b8x8,i8x8,i4x4
-none,all
(p4x4requiresp8x8.i8x8requires--8x8dct.)
说明:
宏块分割方式,默认["p8x8,b8x8,i8x8,i4x4"]
-p8x8,p4x4,b8x8,i8x8,i4x4
-none,all
(p4x4需要p8x8.i8x8需要--8x8dct.)
推荐值:
默认
范例:
--partitions"p8x8,b8x8,i8x8,i4x4"--directDirectMVpredictionmode["spatial"]
-none,spatial,temporal,auto
说明:
Direct预测方法,默认"spatial"
-none,spatial,temporal,auto
推荐值:
"auto"
范例:
--direct"auto"--direct-8x8Directpredictionsize[1]
-0:
4x4
-1:
8x8
--1:
smallestpossibleaccordingtolevel
说明:
Direct预测大小,默认为-1
-0:
4x4
-1:
8x8
--1:
根据Level确定一个最小值
范例:
--direct1-w,--weightbWeightedpredictionforB-frames
说明:
允许对B帧进行加权预测
范例:
--weightb--meIntegerpixelmotionestimationmethod["hex"]
-dia:
diamondsearch,radius1(fast)
-hex:
hexagonalsearch,radius2
-umh:
unevenmulti-hexagonsearch
-esa:
exhaustivesearch
-tesa:
hadamardexhaustivesearch(slow)
说明:
全像素动态预测方法,越往下精度越高,速度越慢,默认"hex"
-dia:
菱形搜索,半径1(高速)
-hex:
六边形搜索,半径2
-umh:
不规则多边形搜索
-esa:
全面搜索
-tesa:
hadamard变换全面搜索(最慢)
推荐值:
"umh"
范例:
--me"umh"--merangeMaximummotionvectorsearchrange[16]
说明:
最大动态矢量搜索范围,结合--me使用,对于dia与hex,允许的范围为4~16,umh以上可以超过16,值越大编码速度越慢,默认为16
范例:
--merange16--mvrangeMaximummotionvectorlength[-1(auto)]
说明:
最大动态矢量长度
推荐值:
默认
范例:
--mvrange-1--mvrange-threadMinimumbufferbetweenthreads[-1(auto)]
说明:
线程之间的最小缓冲区大小
推荐值:
默认
范例:
--mvrange-thread-1-m,--submeSubpixelmotionestimationandmodedecision[6]
-0:
fullpelonly(notrecommended)
-1:
SADmodedecision,oneqpeliteration
-2:
SATDmodedecision
-3-5:
Progressivelymoreqpel
-6:
RDmodedecisionforI/P-frames
-7:
RDmodedecisionforallframes
-8:
RDrefinementforI/P-frames
-9:
RDrefinementforallframes
说明:
子像素动态预测模式策略,值越大效果越好,速度越慢,默认6
-0:
仅fullpel(不推荐)
-1:
SAD模式策略,1qpel迭代
-2:
SATD模式策略
-3-5:
依次qpel增加
-6:
I/P-帧RD模式策略
-7:
所有帧RD模式策略
-8:
I/P-帧RDrefinement模式策略
-9:
所有帧RDrefinement模式策略
推荐值:
6以上
范例:
--subme7--psy-rdStrengthofpsychovisualoptimization["1.0:
0.0"]
#1:
RD(requiressubme>=6)
#2:
Trellis(requirestrellis,experimental)
说明:
视觉优化,--psy-rd1.0:
0.0代表#1为1.0,#2为0.0,#2还在测试阶段,默认1.0:
0.0
#1:
RD(需要subme>=6)
#2:
Trellis(需要trellis,测试阶段)
推荐值:
#1(0~1.0),#20.0
范例:
--psy-rd1.0:
0.0--mixed-refsDecidereferencesonaperpartitionbasis
说明:
对每个宏块区进行参考帧判断,开启后可以提升质量,但会降低速度
推荐值:
开启
范例:
--mixed-refs--no-chroma-meIgnorechromainmotionestimation
说明:
在动态预测中忽略chroma
推荐值:
默认
范例:
--no-chroma-me-8,--8x8dctAdaptivespatialtransformsize
说明:
自适应空间变换大小
推荐值:
使用
范例:
--8x8dct-t,--trellisTrellisRDquantization.RequiresCABAC.[0]
-0:
disabled
-1:
enabledonlyonthefinalencodeofaMB
-2:
enabledonallmodedecisions
说明:
TrllisRD量化.需要CABAC,值越大速度越慢,默认0
-0:
关闭
-1:
基于宏块
-2:
在所有模式策略中使用
推荐值:
1
范例:
--trellis1--no-fast-pskipDisablesearlySKIPdetectiononP-frames
说明:
关闭早期的P帧快速检测,开启可以提升质量,但会减低一些速度,默认不使用
推荐值:
使用
范例:
--no-fast-pskip--no-dct-decimateDisablescoefficientthresholdingonP-frames
说明:
关闭P帧的系数阀值,默认不使用
推荐值:
默认
范例:
--no-dct-decimate--nrNoisereduction[0]
说明:
降噪,默认0
推荐值:
默认
范例:
--nr0--deadzone-interSetthesizeoftheinterlumaquantizationdeadzo
ne[21]
--deadzone-intraSetthesizeoftheintralumaquantizationdeadzo
ne[11]
Deadzonesshouldbeintherange0-32.
说明:
设定inter/intralumadeadzone量化值的大小,范围0-32
推荐值:
默认
范例:
--deadzone-inter21--deadzone-intra11--cqmPresetquantmatrices["flat"]
-jvt,flat
说明:
预设量化矩阵-jvt,flat
推荐值:
默认
范例:
--cqm"flat"--cqmfileReadcustomquantmatricesfromaJM-compatiblefile
Overridesanyother--cqm*options.
说明:
读取自定义JM兼容的量化矩阵文件,无视任何以--cqm开头的参数
范例:
--cqm"mycqm"--cqm4Setall4x4quantmatrices
Takesacomma-separatedlistof16integers.
说明:
设定所有4x4量化矩阵,它是一张以逗号分割的16个整数的表
范例:
--cqm"16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16"--cqm8Setall8x8quantmatrices
Takesacomma-separatedlistof64integers.
说明:
设定所有8x8量化矩阵,它是一张以逗号分割的64个整数的表
范例:
参考--cqm4--cqm4i,--cqm4p,--cqm8i,--cqm8p
Setbothlumaandchromaquantmatrices
说明:
设定luma与chroma的量化矩阵
范例:
参考--cqm4--cqm4iy,--cqm4ic,--cqm4py,--cqm4pc
Setindividualquantmatrices
说明:
单独设定量化矩阵
范例:
参考--cqm4VideoUsabilityInfo(AnnexE):
TheVUIsettingsaren