关于视频压缩x264参数(2)
2023-04-08 来源:文库网
默认: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)
设置7~10。低于默认值不推荐。速度快选择7~9配合--trellis 1(默认值)
_
trellis
默认:1
使用网格编码来增加效率
0——关闭
1——在宏块最终编码时候启用
2——所有模式下启用
同样也是值越高编码速度越慢。
_
aq-mode
默认:1
自适应量化器模式。可以使整个视频内的宏快里面更好的分配码率。
0——关闭(不推荐)
1——允许
2——自动决策
3——自动决策的升级。码率分配更好一些。
推荐设置为3。因为并不会怎么影响到编码速度。同时效果更好一些。
_
aq-strength
默认1.0
调整自适应量化的强度。削弱细节来做到宏块内的码率分配。一般来说降低到0.9就足矣了。多保留一些细节。
_
keyint
默认:250
设置视频的最大IDR帧间距。也就是说多少帧后会有一个关键帧可以作为视频的检索点。B站规定是至少10秒一个。那么30FPS的视频最大就是300。(视频帧数X10)
越大的话,视频压缩率越高。因为体积更小的P帧和B帧更多了。所以建议改为视频帧率的10倍。超过10倍的话不符合B站标准会被二压。
_
psy-rd
默认:1.0:0.0
第1个数字是psy-RDO的强度(subme大于等于6时激活)。第2个数字是Psy-Trellis的强度(subme大于等于1时激活)。这个参数咋说呢是个心里算法。前面的数字会让视频变得多出来很多毛边/噪点。后面是细节的多少。对于视频里面有文字的来说默认值总是会坏事的。因为文字外面会多许多毛边。前面这个值我个人觉得高于0.5是会坏事的。后面的值的提高会增加码率。所以个人建议设置为 0.3:0.0如果要视频更平滑一些设置为 0.0:0.0。
这个参数详细的解释为:【the human eye doesnt just want the image to look similar to the original, it wants the image to have similar complexity. Therefore, we would rather see a somewhat distorted but still detailed block than a non-distorted but completely blurred block. The result is a bias towards a detailed and/or grainy output image, a bit like xvid except that its actual detail rather than ugly blocking.】简单说就是人眼不仅希望图像看起来与原始图像相似,还希望图像具有类似的复杂性。
因此,我们宁愿看到稍微扭曲但仍然详细的图像,而不是一个不失真但完全模糊的图像。
但是我压视频出来的实际效果为相反。我倒是更喜欢模糊一点而没有毛边和噪点扭曲的视频。
此值越大压缩速度越慢。
控制搜索的最大像素范围。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)
设置7~10。低于默认值不推荐。速度快选择7~9配合--trellis 1(默认值)
_
trellis
默认:1
使用网格编码来增加效率
0——关闭
1——在宏块最终编码时候启用
2——所有模式下启用
同样也是值越高编码速度越慢。
_
aq-mode
默认:1
自适应量化器模式。可以使整个视频内的宏快里面更好的分配码率。
0——关闭(不推荐)
1——允许
2——自动决策
3——自动决策的升级。码率分配更好一些。
推荐设置为3。因为并不会怎么影响到编码速度。同时效果更好一些。
_
aq-strength
默认1.0
调整自适应量化的强度。削弱细节来做到宏块内的码率分配。一般来说降低到0.9就足矣了。多保留一些细节。
_
keyint
默认:250
设置视频的最大IDR帧间距。也就是说多少帧后会有一个关键帧可以作为视频的检索点。B站规定是至少10秒一个。那么30FPS的视频最大就是300。(视频帧数X10)
越大的话,视频压缩率越高。因为体积更小的P帧和B帧更多了。所以建议改为视频帧率的10倍。超过10倍的话不符合B站标准会被二压。
_
psy-rd
默认:1.0:0.0
第1个数字是psy-RDO的强度(subme大于等于6时激活)。第2个数字是Psy-Trellis的强度(subme大于等于1时激活)。这个参数咋说呢是个心里算法。前面的数字会让视频变得多出来很多毛边/噪点。后面是细节的多少。对于视频里面有文字的来说默认值总是会坏事的。因为文字外面会多许多毛边。前面这个值我个人觉得高于0.5是会坏事的。后面的值的提高会增加码率。所以个人建议设置为 0.3:0.0如果要视频更平滑一些设置为 0.0:0.0。
这个参数详细的解释为:【the human eye doesnt just want the image to look similar to the original, it wants the image to have similar complexity. Therefore, we would rather see a somewhat distorted but still detailed block than a non-distorted but completely blurred block. The result is a bias towards a detailed and/or grainy output image, a bit like xvid except that its actual detail rather than ugly blocking.】简单说就是人眼不仅希望图像看起来与原始图像相似,还希望图像具有类似的复杂性。
因此,我们宁愿看到稍微扭曲但仍然详细的图像,而不是一个不失真但完全模糊的图像。
但是我压视频出来的实际效果为相反。我倒是更喜欢模糊一点而没有毛边和噪点扭曲的视频。