以下为译文备查,未完陆续更新中
关键帧(IDR-frames)之间的最大距离。类似分节符,压缩数据的起始点。没有任何帧能够跨越IDR-frames作为参考帧,IDR帧是I帧的一种。
由于I-frames数据量非常大,它的值对于低码率流影响很大。在大多数情况下,使用默认值即可。
另见 —min-keyint, —scenecut, –intra-refresh
关键帧之间的最小距离。在特殊情况下可能会导致关键帧之间距离太小(如频繁闪动的画面),以此作出限制。mini-keyint最大值限制为:–keyint/2+1
X264会计算每一帧与上一帧的区别程度,这个值小于scenecut时就代表发生了“场景变换”。如果此时距离上一个IDR-frames小于min-keyint则插入一个I-frame,否则插入一个IDR-frames。
另见 —keyint, —min-keyint
禁用IDR-frames,X264使用内编码水平方向刷新。这有利于低延迟流的数据稳定性,抗丢包性更好。严重影响压缩效率,按需开启。
设置X264可用的最大b-frames并发数。如果设置-bframes 2,则两个相邻的P-frames就可以用B-frames代替。合理搭配B/P帧可以显著提升压缩比,他们的平均质量受–pbratio控制。
另见 –b-pyramid, –ref, —pbratio
自适应B-frames,决定X264使用b-frames还是p-frames。
0-总是使用B-frames;1-快速,通常设置为16,2-最优,较慢,配合高设置值。
允许B-frames作为参考帧,关闭后将只使用I/P帧作为参考帧。对蓝光编码时建议设为"none"或者“strict”
none-不允许;strict-一个图像组内允许一个;normal-允许任意多个。
no-cabac 默认值:未设置
关闭cabac压缩编码,降低10%-20%的压缩率,提高编码和解码速度。
ref 默认值:3
参考帧,控制解码图像缓存。介于0-16之间,决定P-frames能使用之前多少帧作为参照。每个level有不同ref上限。
码率控制方法之一,使用固定的质量编码。给出的数据将决定P-frames,而I/B-frames则由–ipratio and –pbratio共同决定。设为0时将生成无损输出,通常qp模式相同画质下输出大小比crf大。输出大小不可预测,速度比crf稍快。
另见 —bitrate, —crf, —ipratio, —pbratio
码率控制方法之二,码率模式输出大小确定但画质不定。
最后一种控制方法。crf模式通过降低“不易察觉”而又耗费大量码率的帧的质量来平衡码率。在高速运动和复杂场景降低不易察觉的细节,用在更适合的帧。crf模式输出大小不确定,速度比bitrate 2pass快。
为mb-tree ratecontrol和vbv-lookahead设置可用帧数最大值限250.对于mb-tree而言值越大结果越好,速度也更慢。最大缓冲值是rc-lookahead和keyint中较小的那个。对于vbv-lookahead而言值越大码率更稳定精确。
另见 –no-mbtree, —vbv-bufsize, —vbv-maxrate
设置VBV最大码率,此设置降低画质,仅需要时才开启。
设置VBV缓冲区大小,单位是kb。此设置降低画质,仅需要时才开启。
定义X264可使用的最小量化值。数值越小,输出画质越接近原画质。
定义X264可使用的最大量化值,51相当于没有设置。通常30-40可以得到较低品质,更低则没有太大意义。
设定相邻帧之间量化器最大差值。
设置I-frames与p-frames的比值,更高的值i-frames质量更好。
设置B-frames与P-frames之间的比值,更高的值B-frames质量更差。开启mbtree时参数无效,X264将自动计算。
自适应量化器,使X264更好的分配码流。
0-关闭;1-允许在整个视频重分配码流;2-根据前一帧决定(实验性)
关闭macroblock流控制,导致压缩比下降,速度稍快。
虽不明但觉厉~
没有背景知识,这文看起来就像天书一样难解
存在即合理
好久没来了,你的更新依然给力啊!
PS:什么时候上一篇封装视频的教程啊
压制貌似很简单的说,这些都是基础了
有时候,抽空 整理出来,以后用也还是蛮不错的。。。
原来博主在这方面也有研究啊
你用哪个GUI,还是直接用commandline啊?
其实一般都用mediacoder,方便好用,肯定被高手不齿了
要干精细活的时候用meGUI