【问题标题】:How to detect Android H.264 hardware acceleration capability如何检测Android H.264硬件加速能力
【发布时间】:2016-08-26 12:14:56
【问题描述】:

大量(但不是全部)Android 设备支持 H.264 视频编解码器的硬件加速,但不支持 VP8/VP9 编解码器。为了提供更高质量的用户体验,我们希望尽可能选择硬件加速的编解码器。因此,希望在运行时检测特定设备是否支持 H.264 硬件加速,并基于此设置在 SDP 中用于 webRTC 对等连接的会话协商的特定编解码器。即,如果硬件支持 H.264,则将其设置为优先级更高的编解码器,而不是 VP8/VP9。对此的任何想法将不胜感激。

【问题讨论】:

标签: android webrtc android-mediacodec


【解决方案1】:

使用MediaCodecList API 迭代可用的编码器和解码器。名称以OMX.google. 开头的编码器是软件编解码器 - 任何其他编解码器或多或少都可以假定为硬件编解码器。最简单的可能是使用findEncoderForFormat(和findDecoderForFormat)并查看返回的名称。如果您需要更多详细信息,可以手动遍历列表。

【讨论】:

    【解决方案2】:

    根据 Justin Uberti 的评论 here,如果设备上有硬件编码器,您将在 Android WebRTC 中获得 H.264。因此,您可以简单地将 WebRTC 设置为首选 H.264 - 如果有硬件编码器,将使用 HW H.264。如果不是,那就是VP8/VP9。

    【讨论】:

      猜你喜欢
      • 2014-07-24
      • 2018-10-05
      • 2012-05-05
      • 2011-10-11
      • 1970-01-01
      • 2014-05-24
      • 2016-08-21
      • 2012-05-25
      • 2016-08-31
      相关资源
      最近更新 更多