音频格式和编解码器

格式/编解码器 编码器 解码器 细节 支持的文件类型/容器格式
AAC LC 支持单声道/立体声/ 5.0 / 5.1内容,标准采样率为8至48 kHz。 •3GPP(.3gp)
•MPEG-4(.mp4,.m4a)
•ADTS原始AAC(.aac,Android 3.1+解码,Android 4.0+编码,不支持ADIF)
•MPEG-TS(.ts,不可寻求,Android 3.0+)
HE-AACv1(AAC +) • 
(Android 4.1+)
HE-AACv2(增强型AAC +)   支持立体声/ 5.0 / 5.1内容,标准采样率为8至48 kHz。
AAC ELD(增强型低延迟AAC) • 
(Android 4.1+)
• 
(Android 4.1+)
支持单声道/立体声内容,标准采样率为16至48 kHz
AMR-NB 在8kHz下采样4.75到12.2kbps 3GPP(.3gp)
AMR-WB 在16kHz下采样的速率从6.60 kbit / s到23.85 kbit / s 3GPP(.3gp)
FLAC • 
(Android 4.1+)
• 
(Android 3.1+)
单声道/立体声(没有多声道)。采样率高达48 kHz(但对于44.1 kHz输出的设备,建议高达44.1 kHz,因为48至44.1 kHz的下采样器不包括低通滤波器)。推荐16位; 没有抖动适用于24位。 仅限FLAC(.flac)
GSM   Android支持电话设备上的GSM解码 GSM(.gsm)
MIDI   MIDI类型0和1. DLS版本1和2. XMF和移动XMF。支持铃声格式RTTTL / RTX,OTA和iMelody •类型0和1(.mid,.xmf,.mxmf)
•RTTTL / RTX(.rtttl,.rtx)
•OTA 
(.ota)•iMelody(.imy)
MP3   单声道/立体声8-320Kbps恒定(CBR)或可变比特率(VBR) MP3(.mp3)
作品   • 
(Android 5.0+)
  Matroska(.mkv)
PCM / WAVE • 
(Android 4.1+)
8位和16位线性PCM(速率高达硬件限制)。原始PCM记录的采样率为8000,16000和44100 Hz。 WAVE(.wav)
Vorbis格式     •Ogg(.ogg)
•Matroska(.mkv,Android 4.0+)

视频格式和编解码器

格式/编解码器 编码器 解码器 细节 支持的文件类型/容器格式
H.263 在Android 7.0+中支持H.263是可选的 •3GPP(.3gp)
•MPEG-4(.mp4)
H.264 AVC 
基线配置文件(BP)
• 
(Android 3.0+)
  •3GPP(.3gp)
•MPEG-4(.mp4)
•MPEG-TS(.ts,仅AAC音频,不可搜索,Android 3.0+)
H.264 AVC 
主要配置文件(MP)
• 
(Android 6.0+)
需要解码器,建议使用编码器。  
H.265 HEVC   • 
(Android 5.0+)
移动设备的主要配置文件级别3和Android TV的主配置文件级别4.1 •MPEG-4(.mp4)
MPEG-4 SP     3GPP(.3gp)
VP8 • 
(Android 4.3+)
• 
(Android 2.3.3+)
只能在Android 4.0及更高版本中流式传输 • WebM(.webm)
•Matroska(.mkv,Android 4.0+)
VP9   • 
(Android 4.4+)
  • WebM(.webm)
•Matroska(.mkv,Android 4.0+)

视频编码建议

下表列出了使用H.264 Baseline Profile编解码器建议播放的Android媒体框架视频编码配置文件和参数。相同的建议适用于主要配置文件编解码器,仅在Android 6.0及更高版本中可用。

  SD(低质量) SD(高品质) HD 720p(所有设备均为N / A)
视频分辨率 176 x 144像素 480 x 360像素 1280 x 720像素
视频帧率 12 fps 30 fps 30 fps
视频比特率 56 Kbps 500 Kbps 2 Mbps
音频编解码器 AAC-LC AAC-LC AAC-LC
音频频道 1(单声道) 2(立体声) 2(立体声)
音频比特率 24 Kbps 128 Kbps 192 Kbps

下表列出了使用VP8媒体编解码器建议播放的Android媒体框架视频编码配置文件和参数。

  SD(低质量) SD(高品质) HD 720p(所有设备均为N / A) 高清1080p(所有设备均为N / A)
视频分辨率 320 x 180像素 640 x 360像素 1280 x 720像素 1920 x 1080 px
视频帧率 30 fps 30 fps 30 fps 30 fps
视频比特率 800 Kbps 2 Mbps 4 Mbps 10 Mbps

视频解码建议

设备实现必须支持动态视频分辨率和帧速率切换,通过同一流中的标准Android API实时为所有VP8,VP9,H.264和H.265编解码器提供支持,并达到每个编解码器支持的最大分辨率。设备。

支持Dolby Vision解码器的实现必须遵循以下准则:

  • 提供支持杜比视界的提取器。
  • 在设备屏幕或标准视频输出端口(例如HDMI)上正确显示Dolby Vision内容。
  • 将向后兼容的基础层(如果存在)的轨道索引设置为与组合的杜比视觉层的轨道索引相同。

视频流要求

对于通过HTTP或RTSP流式传输的视频内容,还有其他要求:

  • 对于3GPP和MPEG-4容器,moov原子必须先于任何mdat原子,但必须接替 ftyp原子。
  • 对于3GPP,MPEG-4和WebM容器,对应于相同时间偏移的音频和视频样本可以相隔不超过500KB。为了最大限度地减少音频/视频漂移,请考虑以较小的块大小交错音频和视频。

图像支持

格式/编解码器 编码器 解码器 细节 支持的文件类型/容器格式
BMP     BMP(.bmp)
GIF     GIF(.gif)
JPEG 基地+逐行 JPEG(.jpg)
PNG   PNG(.png)
WebP的 • 
(Android 4.0+)
(无损,透明,Android 4.2.1+)
• 
(Android 4.0+)
(无损,透明,Android 4.2.1+)
  WebP(.webp)
HEIF   • 
(Android 8.0+)
  HEIF(.heic; .heif)

网络协议

音频和视频播放支持以下网络协议:

    • RTSP(RTP,SDP)
    • HTTP / HTTPS渐进式流式传输
    • HTTP / HTTPS直播流:
      • 仅限MPEG-2 TS媒体文件
      • 协议版本3(Android 4.0及更高版本)
      • 协议版本2(Android 3.x)
      • Android 3.0之前不支持

Android 媒体格式的更多相关文章

  1. Android MediaMetadataRetriever 读取多媒体文件信息,元数据(MetaData)

    音乐播放器通常需要获取歌曲的专辑.作者.标题.年代等信息,将这些信息显示到UI界面上. 1.一种方式:解析媒体文件   命名空间:android.media.MediaMetadataRetrieve ...

  2. Android多媒体--MediaCodec 中文API文档

    *由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不 ...

  3. android音视频点/直播模块开发

      音视频 版权声明:本文为博主原创文章,未经博主允许不得转载. 前言 随着音视频领域的火热,在很多领域(教育,游戏,娱乐,体育,跑步,餐饮,音乐等)尝试做音视频直播/点播功能,那么作为开发一个小白, ...

  4. Ubuntu下搭建Android编译环境

    Ubuntu一台新机器的一些环境搭建新增一个3TB的硬盘,挂载方法,大于2TB的得parted来进行分区1: sudo parted /dev/sda2: mklabel gpt3: unit TB4 ...

  5. Android官方多媒体API Mediacodec翻译(一)

    因近期工作调整,关于Mediacodec部分的翻译会暂停,后续有时间一定补上,非常抱歉. 本文章为根据Android Mediacodec官方英文版的原创翻译,转载请注明出处:http://www.c ...

  6. Android 系统架构

    Android 系统从下至上分为四层:Linux 内核.Android 核心库及Android 运行时环境(Android Runtime). 应用程序框架以及应用程序等. Linux 内核(Linu ...

  7. Android开发 MMS支持 创建和编辑MMS

    Composing and editing MMS在Android Mms 应用里面的具体实现形式,或数据结构是SlideshowModel,它是一个每个节点为SlideModel的 ArrayLis ...

  8. 使用Vitamio打造自己的Android万能播放器(1)——准备

    前言 虽然Android已经内置了VideoView组件和MediaPlayer类来支持开发视频播放器,但支持格式.性能等各方面都十分有限,这里与大家一起利用免费的Vitamio来打造属于自己的And ...

  9. 我的Android进阶之旅------>经典的大牛博客推荐(排名不分先后)!!

    本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超 ...

随机推荐

  1. iOS----------证书的制作

    https://developer.umeng.com/docs/66632/detail/66748#createappid Certificates-> 卫生许可证 identifiers ...

  2. IT兄弟连 HTML5教程 CSS3属性特效 transition过渡

    CSS3的transition允许css的属性值在一定的时间区间内平滑地过渡.这种效果可以在鼠标单击.获得焦点.被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值. transitio ...

  3. 【mail邮件系统】linux上安装部署sendmail邮件系统

    sendmail是linux系统中一个邮箱系统,在系统中配置好sendmail就可以直接使用它来发送邮箱.sendmail的配置文件 /etc/mail/sendmail.cf :Sendmail的主 ...

  4. Java面向对象之继承(一)

    目录 Java面向对象之继承 引言 继承的特点 语法格式 父子类的关系 继承要点 重写父类方法 继承中的构造器 继承中的super关键字 ... Java面向对象之继承 继承是面向对象的第二大特征,是 ...

  5. 高级Java开发人员最常访问的几个网站

    这是高级Java开发人员最常访问的几个网站. 这些网站提供新闻,一般问题或面试问题的答案,精彩的讲座等.质量是优秀网站的关键因素,这此网站都有较高的质量内容.下面逐一介绍: 1. Stackoverf ...

  6. centos7下安装客户端rabbitmq9.0

    下载目前最新rabbitmq客户端版本: wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz php扩展 : wget ht ...

  7. Hibernate 框架 -HQL 语法

    HQL ( Hibernate Query Language ) 查询语言是面向对象的查询语言,也是在 Hibernate 中最常见的.其语法和 SQL 语法有一些相似,功能十分强大,几乎支持除特殊 ...

  8. 搭建mount+nfs远程挂载

    需求背景: 192.168.10.100 源服务器 目录:/root/test 目录属主属组普通用户,权限777 192.168.10.111 目标服务器 目录:/root/test111 目录属主属 ...

  9. 「SAP技术」A项目关联公司间退货STO流程

    [SAP技术]A项目关联公司间退货STO流程 1)创建公司间退货STO单据. 如下图示的公司间退货STO 4500000572, 2),VL10B, 创建交货单. 如下图交货单号:80044918, ...

  10. Android utils 之 日志工具类

    工具类 在开发的过程中,我们时常会对代码执行特定的处理,而这部分处理在代码中可能多次用到,为了代码的统一性.规范性等,通过建工具类的方式统一处理.接下来我会罗列各种工具类. 日志工具类 在utils文 ...