android MediaCodec API 保证支持哪些视频编码器?

Which video encoders are guaranteed to be supported by android MediaCodec API?

在多个设备中使用 MediaCodec API 测试视频编码,我注意到它们都有 h264、h263 和 MPEG-4 编码器。

是否保证所有至少具有 Jelly Bean 的设备都支持这些中的任何一个,即使 MediaCodec 完成的实际编码是由软件而不是硬件完成的?

不确定是否有保证编解码器列表,但您可以列出特定设备支持的编解码器:

 int numCodecs = MediaCodecList.getCodecCount();
 for (int i = 0; i < numCodecs; i++) {
     MediaCodecInfo codecInfo = MediaCodecList.getCodecInfoAt(i);
     [...]
 }

文档中的更多信息:https://developer.android.com/reference/android/media/MediaCodecInfo.html

Android 兼容性定义文档 (CDD) 定义了一组强制性功能。 Google "Android <version> CDD" 找到合适的。

例如,如果您打开4.3 CDD,然后向下翻到第5.1节("Media Codecs"),您可以找到table个编解码器。第 5.2 节 ("Video Encoding") 有一些额外的细节。