音频格式和编解码器

格式/编解码器 编码器 解码器 细节 支持的文件类型/容器格式
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. 墨者 - X-FORWARDED-FOR注入漏洞实战

    X-FORWARDED-FOR 首先,X-Forwarded-For 是一个 HTTP 扩展头部.HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引 ...

  2. Axure5.1.0.1699 RP汉化版

    Axure是一款产品原型(Prototype)设计软件,可通过这个软件编辑一些常见的事件和在特点条件下才会触发的情况,可以快速的生成HTML Demo页面. 使用Axure的用户很多,据淘宝UED消息 ...

  3. 剑指offer-39:平衡二叉树

    题目描述 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 解题思路 在做这题是,我第一反应就是遍历两次二叉树.第一遍记录每个节点的深度,并将信息存入HashMap中,key = node,value ...

  4. numpy的基本API(四)——拼接、拆分、添加、删除

    numpy的基本拼接.拆分.添加.删除API iwehdio的博客园:https://www.cnblogs.com/iwehdio/ 1.np.concatenate((a, b), axis=0) ...

  5. DDD 实战记录——实现「借鉴学习计划」

    「借鉴学习计划」的核心是:复制一份别人的学习计划到自己的计划中,并同步推送学习任务给自己,并且每个操作都要发送通知给对方. 它们的类图如下: 它们的关系是一对多: // Schedule entity ...

  6. Vue 04

    目录 创建Vue项目 Vue项目环境搭建 Vue项目创建 pycharm配置并启动vue项目 vue项目目录结构分析 项目生命周期 添加组件-路由映射关系 文件式组件结构 配置全局css样式 子组件的 ...

  7. 如何利用随机数产生验证码(java基础知识)

    以前我们通用的验证码都是五个不同的大小写字母,那么今天我就带大家学习一下利用Java基础怎么生成验证码.首先我们应该有一个清晰的思路:首先定义一个固定长度的数组用来存储需要生成的字母:其次生成随机数, ...

  8. Abusing SUDO Advance for Linux Privilege Escalation

    Index What is SUDO? Scenario. Sudoer FIle Syntax. Exploiting SUDO zip tar strace tcpdump nmap scp ex ...

  9. sharepoint2010 部署到Windows server 2012 R2服务器遇到的问题

    最近由于客户服务器升级到windows server2012 R2 版本,生产环境需要相应升级. 查看很多资料,服务器升级到windows server2012 R2 版本,sharepoint要升级 ...

  10. solo升级以及自动化更新的方法

    使用solo过程总涉及到更新问题,所以就在这里把solo更新的方法总结一下.希望能给小伙伴们一些帮助.如何选择更新方法主要是跟你的部署方式有关,如果你是通过 docker方式进行部署,那么你可以还可以 ...