小编Rob*_*ner的帖子

使用MediaCodec API从OMX.google.h264.encoder发出奇怪的错误

当使用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)
Run Code Online (Sandbox Code Playgroud)

而代码适用于其他设备.我如何弄清楚为什么OMX.google.h264.encoder失败并出现如此无用的错误?

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

编辑:发现失败AVCENC_LEVEL_FAIL但仍不确定这是告诉我的.据我所知,不可能设置AVC编码器应该使用的级别.

android

8
推荐指数
1
解决办法
3893
查看次数

标签 统计

android ×1