关于视频压缩x264参数(2)
2023-03-16 来源:你乐谷
crf
默认:23.0
可以设置为任意浮点数。CRF通过降低耗费码率难以用肉眼察觉的帧的码率来给高速运动的场景或者一些更有效的帧里。因为省略了2pass的第一遍编码。所以最终出来的视频码率是不可预测的。而且不同种类的视频用到的CRF的值也会不一样。(2Pass模式下不用打此参数)
_
ref
默认:3
此值会影响编码速度。值越大速度越慢。视频压缩率越高。
可以在0-16的值选择,P帧可以选择之前的多少帧作为参照帧。最小1,只参照自己前面一帧。还有一种说法是值越大P帧越多(个人觉得第一个解释正确一些)。网上说是level4.1下1080P最大4,720P最大9。不过我实际改过16压视频。出来的也能正常观看。但是保险起见还是建议720P最大改为9。
_
bframes
默认:3
此值会影响编码速度。值越大速度越慢。视频压缩率越高。
设置可使用的B帧最大连续数。B帧体积最小所以越多B帧可以很大的提升视频压缩率。最大值16,不建议低于10。因为压缩率会下降,如果b-adapt=2时候,时间上实在接受不了再低于10。
_
b-adapt
默认:1
这个值会影响x264如何使用P帧和B帧。
0——总是使用B帧
1——快速算法bframes越大速度越快。
2——最佳算法bframes越大越慢。效果更好。
如果是在意速度的话配合--bframes 16用1,如果追求效果用2。
_
me
默认:hex
设置全局运动预测的方法
dia(四边形搜索)最简单的搜索
hex(六边形搜索)比dia更有效同时耗时增加的不多。
umh(不均匀的多六边形搜索)比hex更慢,和前面两个参数不同的是,merange参数控制搜索半径。
esa(全局搜索)比umh要好一些不过并不会带来多大提升。时间也要慢一些。
tesa(变换全局搜索)比esa效果好一点。但是耗时也会增加。
推荐设置为umh。如果说是最求极致的话tesa。不过我相信你接受不了tesa的压制时间的。
_
merange
默认:16
此值越大压缩速度越慢。
控制搜索的最大像素范围。dia和hex被控制在4-16。umh及以上可以超过16。主要还是对快速运动的视频有用。玩游戏镜头移动比较快的,类似KF2等。推荐设置为20即可。当然可以更高。追求极致可以设置为30。
_
subme
默认:7
设置设置亚像素估计的复杂度。越高效果越好,耗时越长。级别8会开启RDO显著增加耗时。
0 —— fullpel only
1 —— QPel SAD 1 iteration
2 —— QPel SATD 2 iterations
3 —— HPel on MB then QPel
4 —— Always QPel
5 —— Multi QPel bi-directional motion estimation
6 —— RD on I/P frames
7 —— RD on all frames
8 —— RD refinement on I/P frames
9 —— RD refinement on all frames
10 —— QP-RD (需要–trellis=2, –aq-mode0)
默认:23.0
可以设置为任意浮点数。CRF通过降低耗费码率难以用肉眼察觉的帧的码率来给高速运动的场景或者一些更有效的帧里。因为省略了2pass的第一遍编码。所以最终出来的视频码率是不可预测的。而且不同种类的视频用到的CRF的值也会不一样。(2Pass模式下不用打此参数)
_
ref
默认:3
此值会影响编码速度。值越大速度越慢。视频压缩率越高。
可以在0-16的值选择,P帧可以选择之前的多少帧作为参照帧。最小1,只参照自己前面一帧。还有一种说法是值越大P帧越多(个人觉得第一个解释正确一些)。网上说是level4.1下1080P最大4,720P最大9。不过我实际改过16压视频。出来的也能正常观看。但是保险起见还是建议720P最大改为9。
_
bframes
默认:3
此值会影响编码速度。值越大速度越慢。视频压缩率越高。
设置可使用的B帧最大连续数。B帧体积最小所以越多B帧可以很大的提升视频压缩率。最大值16,不建议低于10。因为压缩率会下降,如果b-adapt=2时候,时间上实在接受不了再低于10。
_
b-adapt
默认:1
这个值会影响x264如何使用P帧和B帧。
0——总是使用B帧
1——快速算法bframes越大速度越快。
2——最佳算法bframes越大越慢。效果更好。
如果是在意速度的话配合--bframes 16用1,如果追求效果用2。
_
me
默认:hex
设置全局运动预测的方法
dia(四边形搜索)最简单的搜索
hex(六边形搜索)比dia更有效同时耗时增加的不多。
umh(不均匀的多六边形搜索)比hex更慢,和前面两个参数不同的是,merange参数控制搜索半径。
esa(全局搜索)比umh要好一些不过并不会带来多大提升。时间也要慢一些。
tesa(变换全局搜索)比esa效果好一点。但是耗时也会增加。
推荐设置为umh。如果说是最求极致的话tesa。不过我相信你接受不了tesa的压制时间的。
_
merange
默认:16
此值越大压缩速度越慢。
控制搜索的最大像素范围。dia和hex被控制在4-16。umh及以上可以超过16。主要还是对快速运动的视频有用。玩游戏镜头移动比较快的,类似KF2等。推荐设置为20即可。当然可以更高。追求极致可以设置为30。
_
subme
默认:7
设置设置亚像素估计的复杂度。越高效果越好,耗时越长。级别8会开启RDO显著增加耗时。
0 —— fullpel only
1 —— QPel SAD 1 iteration
2 —— QPel SATD 2 iterations
3 —— HPel on MB then QPel
4 —— Always QPel
5 —— Multi QPel bi-directional motion estimation
6 —— RD on I/P frames
7 —— RD on all frames
8 —— RD refinement on I/P frames
9 —— RD refinement on all frames
10 —— QP-RD (需要–trellis=2, –aq-mode0)