gpt4 book ai didi

android - 使用 MediaCodec API 来自 OMX.google.h264.encoder 的奇怪错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:08:18 24 4
gpt4 key购买 nike

当使用 OMX.google.h264.encoder 时,我无法创建媒体/avc 编码器,我得到一些非常奇怪的输出:

I/VideoStreamer﹕ Selected color format: 21
I/VideoStreamer﹕ Format: {height=480, slice-height=480, crop-left=0, width=640, crop-bottom=480, crop-top=0, mime=video/avc, stride=640, crop-right=640}
I/VideoStreamer﹕ Width: 640 Height: 480
I/OMXClient﹕ Using client-side OMX mux.
I/SoftAVCEncoder﹕ Construct SoftAVCEncoder
I/ACodec﹕ setupVideoEncoder succeeded
E/OMXNodeInstance﹕ OMX_GetExtensionIndex failed
E/SoftAVCEncoder﹕ Failed to initialize the encoder: -8
E/ACodec﹕ [OMX.google.h264.encoder] ERROR(0x80001001)
E/MediaCodec﹕ Codec reported an error. (omx error 0x80001001, internalError -2147483648)

而代码可在其他设备上运行。我怎样才能弄清楚为什么 OMX.google.h264.encoder 会因这样无用的错误而失败?

供引用:我探测可用编码器列表,然后探测支持的颜色格式列表。我通过强制使用颜色格式 21 来解决设备在颜色格式 19 上崩溃的一些错误。我可以提供代码示例,但它是这个特定的编码器,我不知道如何弄清楚这个错误告诉我什么.

编辑:发现故障 AVCENC_LEVEL_FAIL但仍然不确定这是在告诉我什么。据我所知,不可能设置 AVC 编码器应使用的级别。

最佳答案

您设备的问题在于它可能缺少硬件编码器。软件 h264 编码器的功能非常有限 - 除其他外,它 cuts out high quality profiles ,因为它们可能在低端设备上表现不佳。

如果您在自己的自定义设备上工作,您可能希望通过设置 encoder level 来消除此限制。到 AVC_LEVEL5_1。这将解锁您的怯场库,您将能够使用软件编解码器对高质量视频进行编码。

关于android - 使用 MediaCodec API 来自 OMX.google.h264.encoder 的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25294050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com