【问题标题】:Multiple instances of MediaCodec used as video encoder in Android在 Android 中用作视频编码器的多个 MediaCodec 实例
【发布时间】:2014-08-27 11:13:04
【问题描述】:

是否可以使用两个 Android MediaCodec 实例作为视频编码器同时编码两个视频?

我知道 MediaCodec 本身可以有多个实例,用于视频/音频编码/解码。但是除了性能的影响之外,编码多个视频的硬件/Android版本是否有任何限制?

更具体地说,如果仅考虑 Android 4.3 或更高版本,视频编码器的多个实例是否有效或仍然取决于设备?

【问题讨论】:

    标签: android video multiple-instances android-mediacodec encoder


    【解决方案1】:

    根据我的经验,它完全取决于设备。而且有些设备一次只能支持一个视频编码器实例

    【讨论】:

    • 它也可以取决于分辨率。例如,您可以在视频编辑器中执行的一项更具挑战性的事情是 1080p 的交叉淡入淡出——您必须同时解码两个 1080p 视频流并编码一个 1080p 流。有些设备没有足够的带宽来完成所有这些工作,尽管它们能够进行两次 1080p 解码和一次 720p 编码。
    • 很好的评论,谢谢。此外,由于 CTS 测试没有 1080p 编码测试,而且 Goolge 还不需要 1080p 编码,许多设备不支持通过 MediaCodec 正确进行 1080p 编码,所以现在最好不要使用 1080p 分辨率进行编码或添加额外的画质检查设备是否正确处理 1080p
    • 有些设备甚至可能不支持 720p。您可以通过 MediaCodec 能力查询来检查级别。例如,检查 developer.android.com/reference/android/media/… 以测试 720p 支持。 (当前的 CTS 测试不检查这一点;这可能会在未来发生变化。)
    • 谢谢两位。我会更加小心地在我的 APP 中测试设备能力。
    • 一些消息:根据developer.android.com/preview/api-overview.html#video,即将发布的“M”版本将添加MediaCodecInfo.CodecCapabilities.getMaxSupportedInstances() API。听起来很有希望。
    【解决方案2】:

    是的,就像@Marlon 所说的那样,这完全取决于您使用的设备。 比如我用OPPO A39,它只能同时创建8个mediacodec实例。

    【讨论】:

      猜你喜欢
      • 2014-09-04
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2015-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多