Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用MediaCodec类解码H.264流_Android_Video_H.264_Decoder - Fatal编程技术网

Android 如何使用MediaCodec类解码H.264流

Android 如何使用MediaCodec类解码H.264流,android,video,h.264,decoder,Android,Video,H.264,Decoder,我被要求在android中显示一个视频流(该流不是来自HTTP),该流是原始的H.264,在PC中记录和编码,我通过WIFI获得 当我获得流时,可以使用MediaCodec解码器解码流并显示它吗?请参阅视频编码建议是。将MediaCodec配置为“视频/avc”解码器,并将输出表面传递给Configure()调用 MediaCodecodeAPI是相当低级的,并且没有很多可用的示例代码。使用MediaPlayer可能更容易 更新: 现在有一堆示例代码。它大部分都使用了安卓4.3(API 18)的

我被要求在android中显示一个视频流(该流不是来自HTTP),该流是原始的H.264,在PC中记录和编码,我通过WIFI获得


当我获得流时,可以使用MediaCodec解码器解码流并显示它吗?

请参阅视频编码建议

是。将MediaCodec配置为“视频/avc”解码器,并将输出表面传递给Configure()调用

MediaCodecodeAPI是相当低级的,并且没有很多可用的示例代码。使用
MediaPlayer
可能更容易

更新:
现在有一堆示例代码。它大部分都使用了安卓4.3(API 18)的功能,但如果你不需要
MediaMuxer
MediaCodec
的表面输入,它将在API 16上工作。

但是,我找不到一种方法来用MediaPlayer处理H.264流。有什么理想吗?让我再补充一步。具体的格式是什么——基本流,PES。。。?MediaCodec接受基本流数据,但不接受它是流;它需要一系列“访问单元”,因此如果它是基本流,则需要保留或恢复“数据包”边界。您还需要确保传入的第一个缓冲区具有它所需的编解码器信息,而这些信息目前没有文档记录。您的最佳选择可能是将PC端的流转换为MediaPlayer可以处理的内容。