![](/img/trans.png)
[英]DJI "Video Stream Decoding Sample" : MediaCodec configured with null Surface issue
[英]Android MediaCodec usage for decoding MPEG2 video stream
我正在尝试使用MediaCodec
API来解码和显示MPEG2
编码的流。 我使用MediaExtractor
从MPEG传输流( TS
)中提取流。
我注意到解码器的configure()
在我尝试过的所有设备上都失败了 - Nexus7(2012),Nexus7(2013),Nexus10,错误代码为0x80001001。
使用configure()
API时唯一可能出错的参数是提供的MediaFormat
配置,这是从Android MediaExtractor
获得的。 我不明白会出现什么问题导致这个问题引起注意。
MediaFormat
对象中的配置参数是:
1. `CSD-0` - Containing Sequence header and sequence extension header.
Seq_Hdr - 00 00 01 B3 2D 01 E0 24 09 C4 23 80
Seq_extnsn - 00 00 01 B5 14 8A 00 01 00 80
2. Height - 480
3. Width - 720
4. KEY_MIME - `video/mpeg2`
所有设备上的错误都有些类似,这可能意味着错误可能源自MediaCodec
堆栈中的公共实体。 以下是Nexus7(2013)的错误。 (0x80001001 - OMX_ErrorUndefined)
E/ACodec ( 6504): [OMX.qcom.video.decoder.mpeg2] configureCodec returning error -1010
E/MediaCodec( 6504): Codec reported an error. (omx error 0x80001001, internalError -1010)
这是因为MPEG2
不是Android平台上支持的强制编解码器,还是我做错了什么? 任何有关MPEG2
解码器行为的信息都将受到高度赞赏。
在您的设备上,查看/system/etc/media_codecs.xml
以查看列表。
我的理解是,在目前的Nexus设备上,不支持MPEG-2视频压缩。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.