【发布时间】:2016-06-15 06:05:37
【问题描述】:
我正在使用mediacodec 在三星 S6、android 5.1.1 上解码 h264 流,发现 mediacodec 的输入缓冲区必须以“0001”开头(并且不需要设置 pps、sps),或者ACodec会报错。
我也尝试使用 mediaextractor 播放 mp4 文件,它工作正常,但媒体编解码器的缓冲区不是以“0001”开头。
我不知道为什么解码一个h264流有这样的限制,目前我需要分析来自socket的流,并将数据切割成小包(每个包以0001开头)然后将它们交给mediacodec,但它效率低下。
MediaFormat format = MediaFormat.createVideoFormat(MediaFormat.MIMETYPE_VIDEO_AVC, 1024, 1024);
【问题讨论】:
-
MediaCodec 在 NAL 单元上运行。它需要开始前缀。参看。 stackoverflow.com/questions/1685494/…
标签: android samsung-mobile android-mediacodec mediaextractor