是否可以使用Android MediaCodec解码视频:avc1视频?

时间:2014-04-26 20:20:02

标签: android youtube mediacodec

我从YouTube下载了一个1080p视频,该视频只包含一个曲目(视频一个,没有音轨)。我正在尝试编写一个Android应用程序作为练习,使用MediaCodec和MediaExtractor在我的智能手机中播放视频。

当我提取视频信息时,它会在类型字段中显示vide:avc1。我不确定的是,Android MediaCodec能解码吗?我在MediaCodec网页上找到的是它支持"video/avc" - H.264/AVC video,而不是vide:avc1

任何人都可以提供帮助吗?

--------------------------更新-------------------- ------

我尝试使用在线发现的一些示例代码,视频播放完美。有趣的是,当我使用MediaExtractor对其进行解析时,视频格式为video/avc,MediaExtractor是Android网页上所述的受支持格式。

我得到了&v; vide / avc1&#39;使用GPAC&#39; MP4Box -info <media file>命令键入。我在ftyp框中找到avc1,但没有找到与vide相关的任何内容。所以我猜这可能是GPAC中的一些错字?我不太确定。

1 个答案:

答案 0 :(得分:1)

在mp4容器视频中打包时没有开始代码,通常多路复用器只是删除了用帧长度代替它们的起始代码。您可以在MP4文件标准中找到更多详细信息。这种视频类型称为avc1。 普通的h.264类型称为avc,我假设MediaExtractor将开始代码添加到avc1视频帧,因此从提取器获得正常的h.264。