Android提供了一种查询支持的编码配置文件的方法.但是在设置编码器时,我找不到指定要使用的所需配置文件的方法.
在android中使用MediaCodec
API,一旦选择了编码器组件,就可以调用getCodecInfo().这将返回MediaCodecInfo对象,该对象提供有关正在使用的编解码器组件的详细信息. getCapabilitiesForType()返回CodecCapabilities对象,详细说明编解码器的功能.它包含一个CodecProfileLevel数组,详细说明了支持的支持的配置文件和级别.
试图设置配置文件
我看不到为MedieCodec或MediaFormat设置配置文件的字段.
MediaFormat有一个KEY_AAC_PROFILE,但在引用中它明确指出这仅适用于aac音频.
在MediaCodec中,有一种方法可以使用setParameters()将一组额外参数传递给编解码器.这似乎没有通用文档,并且接受的参数在编解码器(不同设备)之间会有所不同.
背景
配置文件指定要使用的一组编码功能.简单的配置文件计算量较小,但通常会牺牲给定比特率的质量.级别指定给定配置文件支持的最大分辨率/比特率.我期望水平通常与解码能力相关联,但由于它描述的是必须实时运行的硬件编码器,因此具有最大设置对我来说是有意义的.