Android 2.3 Dev Guide (55)-- Android Supported Media Formats

简介:

Android支持的媒体格式

本文档描述Android平台支持的媒体编解码器,容器和网络协议。

作为一名应用程序开发者,你可以在任何基于Android的设备上(包括那些由Android平台提供的和指定的设备)随意使用任何可用的媒体编解码器。不管怎样,最好去练习与设备无关的媒体编码规范。

网络协议

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

  • RTSP (RTP, SDP)
  • HTTP progressive streaming
  • HTTP live streaming draft protocol (Android 3.0 及以上)

注意:  HTTPS 协议目前还不支持。

主要媒体格式

下表描述了Android平台内建的媒体支持格式。请注意任何提供的移动设备可能对没有列在表格中的额外的格式或者文件类型提供支持。

注意: 不能保证在所有Android平台上可用的媒体编解码器已经相应地在括号内进行标注。例如:"(Android 3.0+)".

表格 1. 主要媒体格式和编解码器支持

类型 格式/编解码器 编码器 解码器 详细 支持文件格式/封装格式
音频 AAC LC/LTP Mono/Stereo content in any combination of standard bit rates up to 160 kbps and sampling rates from 8 to 48kHz 3GPP (.3gp), and MPEG-4 (.mp4, .m4a). ADTS raw AAC (.aac, decode only, ADIF not supported, Android 3.1+).
HE-AACv1 (AAC+)  
HE-AACv2 (enhanced AAC+)  
AMR-NB 4.75 to 12.2 kbps sampled @ 8kHz 3GPP (.3gp)
AMR-WB 9 rates from 6.60 kbit/s to 23.85 kbit/s sampled @ 16kHz 3GPP (.3gp)
FLAC  
(Android 3.1+)
Mono/Stereo (no multichannel). Sample rates up to 48 kHz (but up to 44.1 kHz is recommended on devices with 44.1 kHz output, as the 48 to 44.1 kHz downsampler does not include a low-pass filter). 16-bit recommended; no dither applied for 24-bit. FLAC (.flac) only
MP3   Mono/Stereo 8-320Kbps constant (CBR) or variable bit-rate (VBR) MP3 (.mp3)
MIDI   MIDI Type 0 and 1. DLS Version 1 and 2. XMF and Mobile XMF. Support for ringtone formats RTTTL/RTX, OTA, and iMelody  Type 0 and 1 (.mid, .xmf, .mxmf). Also RTTTL/RTX (.rtttl, .rtx), OTA (.ota), and iMelody (.imy)
Ogg Vorbis     Ogg (.ogg)
PCM/WAVE   8- and 16-bit linear PCM (rates up to limit of hardware) WAVE (.wav)
图像 JPEG Base+progressive JPEG (.jpg)
GIF     GIF (.gif)
PNG   PNG (.png)
BMP     BMP (.bmp)
视频 H.263   3GPP (.3gp) and MPEG-4 (.mp4)
H.264 AVC
(Android 3.0+)
Baseline Profile (BP) 3GPP (.3gp) and MPEG-4 (.mp4). MPEG-TS (.ts, AAC audio only, not seekable, Android 3.0+)
MPEG-4 SP     3GPP (.3gp)
VP8  
(Android 2.3.3+)
  WebM (.webm)

视频编码建议

下面的表格2,列出了Android媒体框架支持回放的视频编码资料和参数。另外,除了这些推荐的编码参数, 一个支持视频录制的设备可以被用作一个具有媒体回放能力的代理。这些配置可以使用 CamcorderProfile 类(API level 8及以上可用)来检查。

表格 2.  被支持的视频编解码参数示例

  低品质 高品质
视频编解码器 H.264 Baseline Profile H.264 Baseline Profile
视频分辨率 176 x 144 px 480 x 360 px
视频帧率 12 fps 30 fps
视频比特率 56 Kbps 500 Kbps
音频编解码器 AAC-LC AAC-LC
音频通道 1 (mono) 2 (stereo)
音频比特率 24 Kbps 128 Kbps

对于通过HTTP或者RTSP协议传递的视频流,还有一些额外的要求:

  • 对于3GPP 和 MPEG-4 封装格式,  moov 原子必须在任何 mdat 原子之前。
  • 对于3GPP,MPEG-4, 和 WebM 封装格式,对应同一时间偏移量的音频和视频采样数据不能超过500KB每块。考虑到在更小块数据中的交叉音频和视频,请尽量缩小音频/视频偏差。
相关文章
|
7月前
|
Android开发
Android Service Call /dev/xxx SELinux
Android Service Call /dev/xxx SELinux
110 1
|
7月前
|
存储 编解码 API
Android Media Framework(一)OpenMAX 框架简介
OpenMAX IL是Khronos Group为嵌入式和移动设备设计的低层级接口,用于统一调用音频、视频和图像编解码器,确保跨平台兼容性。它包括Core API(管理组件加载和方法调用)和Component API(组件实现,如源、接收器、编解码器等)。组件通过端口进行数据交互,客户端使用Core API加载和控制组件。Android引入OMX IL以支持不同芯片上的编解码器。组件状态包括Loaded、Idle、Executing和Invalid。组件架构涉及参数配置、命令处理和缓冲区管理,数据交换通过回调函数完成,端口持有预分配或组件自分配的缓冲区。
|
7月前
|
Android开发
android 12 /mnt/media
android 12 /mnt/media
37 0
|
缓存 数据库 Android开发
新建文件夹,复制文件,glide保存文件android 获取sdcard,获取data.data 目录file.mkdirs() file.mkdir()Dev
新建文件夹,复制文件,glide保存文件android 获取sdcard,获取data.data 目录file.mkdirs() file.mkdir()Dev
164 0
|
存储 Android开发
【Android 逆向】Android 系统文件分析 ( 外部存储设备文件 | sbin 命令程序目录 | dev 字符设备目录 )
【Android 逆向】Android 系统文件分析 ( 外部存储设备文件 | sbin 命令程序目录 | dev 字符设备目录 )
184 0
【Android 逆向】Android 系统文件分析 ( 外部存储设备文件 | sbin 命令程序目录 | dev 字符设备目录 )
|
前端开发 Android开发
React Native之react-native bundle --platform android --dev false --entry-file index.js --bundle失败
React Native之react-native bundle --platform android --dev false --entry-file index.js --bundle失败
153 0
|
Android开发
[译] Android Dev Summit 2018 应用(instant app 的总结 + 开源)
创建 Android Dev Summit 应用并发布具有即时体验的应用程序包的总结。
708 0
|
前端开发 移动开发
RN Exception: Failed to load http://localhost:8081/index.delta?platform=android&dev=true&minify=f...
异常 React Native调试时报如下错误 Failed to load http://localhost:8081/index.delta?platform=android&dev=true&minify=false: No 'Access-Co...
3021 0