参数解释
1. profile
profile 翻译成中文是“配置文件”的意思,可以理解为通过这个参数对 x264 编码的一些基本参数进行了限制。
可以取的值包括:
/* x264_param_apply_profile:
* Applies the restrictions of the given profile.
* Currently available profiles are, from most to least restrictive: */
static const char * const x264_profile_names[] = { "baseline", "main", "high", "high10", "high422", "high444", 0 };
baseline
这个级别是设置最严格的配置文件,支持 I/p 帧不支持 B 帧,只支持无交错(逐行Progressive、隔行interlaced)和 CAVLC 编码,一般用于低阶和需要额外容错的应用,例如视频通话和会议电视等实时视频通信。
main
支持 I/P/B 帧,支持无交错(progressive)和交错(interlaced),同样提供对 CAVLC 和 CABAC 的支持,用于主流的消费电子类产品,如低规格的 mp4、便携的视频播放器等。
high
在 main 级别的基础上增加了 8*8 内部预测、自定义量化、无损视频编码和更多的 YUV 格式,用于广播及视频碟片存储、高清电视应用等。
三种 profile 应用的领域不同,baseline 多应用于实时通信领域