虽然不是全部,但很多Android设备支持H.264视频编解码器的硬件加速,但不支持VP9 8/VP9 9编解码器。为了提供更高质量的用户体验,我们希望在可能的情况下选择硬件加速的编解码器。因此,希望运行时检测特定设备是否具有H.264硬件加速支持,并基于此设置在SDP中用于webRTC对等连接会话协商的特定编解码器。也就是说,如果硬件支持H.264,则将其设置为较高优先级的编解码器,而不是VP9 8/VP9 9。如果对此有任何想法,我们将不胜感激。
发布于 2016-08-27 19:55:43
使用MediaCodecList API迭代可用的编码器和解码器。以OMX.google.
开头的编码器是SW编解码器--任何其他编解码器都可以或多或少地被假定为HW编解码器。最简单的方法可能是使用findEncoderForFormat
(和findDecoderForFormat
)并查看返回的名称。如果需要更多细节,可以手动遍历列表。
发布于 2016-10-25 11:30:57
根据Justin的评论这里,如果安卓WebRTC上有HW编码器,你将只在安卓WebRTC中使用 get H.264。因此,您可以简单地设置WebRTC选择H.264 -如果有一个HW编码器,将使用HWH.264。如果不是,那就是VP9 8/VP9 9。
https://stackoverflow.com/questions/39166122
复制相似问题