概述
ffmpeg做h264编码,使用了libx264;想要降低cpu使用率,就需要牺牲图像质量;由于已经使用 baseline,就无需考虑B帧了。
目前能想到的,主要是需要调控以下一些参数:
1.qp值
此值范围为0~51 。值越小,量化步长越小,量化的精度就越高,意味着同样画质的情况下,产生的数据量可能会更大。数值越大,图像越模糊,CPU使用率越低。
2.设置编码速度preset
指定编码速度,速度越慢,画质越好,cpu占用越高,可取值:
ultrafast,superfast,veryfast,faster,fast,
medium,slow,slower,veryslow,placebo
调用方法:
x264_param_default_preset
3.partitions
H.264视频在压缩过程中划分为16x16的宏块。这些宏块可以进一步划分为更小的分割,这就是此选项要控制的部分。分割依不同帧类型(I、P、B)启用。可用的分割:p8x8, p4x4, b8x8, i8x8, i4x4, none, all
- I:i8x8、i4x4。
- P:p8x8(亦会启用p16x8/p8x16)、p4x4(亦会启用p8x4/p4x8)。
- B:b8x8(亦会启用b16x8/b8x16)。
- p4x4通常不怎么有用,而且性价比极低[4]。
4. no-cabac
预设值:b_cabac = 1。停用CABAC切换回效率较低的CAVLC。会降低压缩效率(通常10~20%)和解码的硬件需求。
coder:
熵编码类型,取值:
default
cavlc
cabac
vlc
ac
(具体用法再研究)
最后
以上就是小巧大侠为你收集整理的使用ffmpeg编码h264,降低CPU使用率的几个方法的全部内容,希望文章能够帮你解决使用ffmpeg编码h264,降低CPU使用率的几个方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复