2

我一直在尝试通过与媒体播放器服务绑定来列出使用IOMX的 android 设备中所有支持的编解码器,如此处所示。我让我的代码正常工作并获得了组件列表。但我观察到没有编码器组件。仅列出了所有解码器组件。然后我转到android提供的内置相机应用程序并开始录制以mp4文件格式存储的视频。当我从 VLC 播放器检查 mp4 文件的编解码器信息时,它显示“H264 mpeg4 part10 avc”。所以我的疑问来了。如果没有列出 h264/avc 编码的组件,那么 android 如何编码 h264 格式的帧?

有什么建议吗?谢谢。

4

1 回答 1

0

在 android 发行版中,有一套由 Google 捆绑的编解码器,通常称为“plain vanilla codecs”。在 H.264 的情况下,捆绑了一个编码器,其源位于frameworks/av/media/libstagefright/codecs/avc/enc/. 因此,当您从相机编码时,此默认编解码器用于对帧进行编码。为了验证这一点,您可以启用登录OMXCodecACodec并观察编码器组件的名称是OMX.google.h264.encoder

编解码器的完整列表SoftOMXPlugin.cpp位于frameworks/av/media/libstagefright/omx/

于 2013-02-26T00:25:51.580 回答