【问题标题】:How to enable H264 on Android webRTC如何在 Android webRTC 上启用 H264
【发布时间】:2016-08-14 11:37:39
【问题描述】:

如何在 Android WebRTC 上启用 H264。
PeerConnectioncreateOffer SDP 中没有 h264 描述。

【问题讨论】:

    标签: android webrtc sdp


    【解决方案1】:

    出于某种原因,默认情况下 Google 会阻止他们自己的软件编解码器,因此如果您的芯片组中没有硬件解码(或者如果您使用模拟器),那么当 webrtc 检查它们时,您将不会获得 h264 编解码器。

    如果您进入 webrtc 代码并从 https://chromium.googlesource.com/external/webrtc/+/HEAD/sdk/android/src/java/org/webrtc/MediaCodecUtils.java#33 中删除“OMX.google”,然后根据该代码为 android 创建自定义构建的 webrtc,软件编码器将被解锁。

    编辑:删除了我错误地认为可以链接到的专有信息 ?

    【讨论】:

    • 嘿,保罗,我正在使用你的 aar 文件,但我的应用程序仍然抛出以下错误,你能帮我找到根本原因吗? E/ACodec: [OMX.MTK.VIDEO.DECODER.VPX] ERROR(0x80001005) E/ACodec: signalError(omxError 0x80001005, internalError -2147483648) E/MediaCodec: Codec 报告错误 0x80001005, actionCode 0, while in state 6 E/ org.webrtc.Logging:AndroidVideoDecoder:deliverDecodedFrame 失败
    • 当然,您要播放什么类型的视频?您使用的是什么类型的设备?我的直觉是 OMX.MTK.VIDEO.DECODER.VPX 告诉我们这是 VPX 编码视频,而不是 h264?
    【解决方案2】:

    Google 当前的 WebRTC 实施仅支持 Android 上的硬件 H.264 解码和编码,并且仅支持部分芯片组。因此,如果特定设备不支持硬件 H.264 或具有不受支持的芯片组,您将只能获得 VP8/VP9。

    【讨论】:

    • 请在下面查看我的答案,我已经能够为此创建一个解决方法。
    【解决方案3】:

    H.264 在 Android M57 上的 Chrome 中与 WebRTC 配合使用。

    【讨论】:

      猜你喜欢
      • 2019-06-22
      • 2021-05-17
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-30
      相关资源
      最近更新 更多