Android 媒体 IV-支持的媒体格式
2016-01-01 14:01
411 查看
概述:
该文档介绍了Android平台可以支持的媒体编解码, 容器和网络协议. 作为一个APP开发者, 我们可以自由的使用任何Android设备上的媒体编解码器, 包括那些Android提供的和设备指定的. 但是使用设备无关的媒体编码配置文件是最好的做法.支持的网络协议:
Android可以支持下列网络协议用来播放音视频:RTSP(RTP,SDP).
HTTP/HTTPS 渐进式数据流
HTTP/HTTPS 直播流, 包括MPEG-2 TS媒体文件, Protocolversion 3(Android 4.0及以上), Protocol version2(Android3.x), Android3.0以前不支持.
Android3.1之前不支持HTTPS.
核心媒体格式:
下表描述了Android平台可以支持的媒体格式. 有些移动设备可能会支持额外的媒体格式或者文件格式. 媒体编解码不保证在所有的Android平台版本都可以支持, 会在表中注明.类型 | 格式 | 编码 | 解码 | 详情 | 支持的文件类型 |
Audio | AAC LC | | | Support for mono/stereo /5.0/5.1 content with standard sampling rates from 8 to 48 kHz. | • 3GPP (.3gp) •MPEG-4 (.mp4, .m4a) • ADTS raw AAC (.aac, decode in Android 3.1+, encode in Android 4.0+, ADIF not supported) • MPEG-TS (.ts, not seekable, Android 3.0+) |
HE-AACv1 (AAC+) | Android 4.1+ | | |||
HE-AACv2 (enhanced AAC+) | | | Support for stereo/5.0/5.1 content with standard sampling rates from 8 to 48 kHz. | ||
AAC ELD (enhanced low delay AAC) | Android 4.1+ | Android 4.1+ | Support for mono/stereo content with standard sampling rates from 16 to 48 kHz | ||
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) • RTTTL/RTX (.rtttl, .rtx) • OTA (.ota) • iMelody (.imy) | |
Vorbis | | | | • Ogg (.ogg) • Matroska (.mkv, Android 4.0+) | |
PCM/WAVE | Android 4.1+ | | 8- and 16-bit linear PCM (rates up to limit of hardware). Sampling rates for raw PCM recordings at 8000, 16000 and 44100 Hz. | WAVE (.wav) | |
Opus | | Android 5.0+ | | Matroska (.mkv) | |
Image | JPEG | | | | JPEG(.jpg) |
GIF | | | | GIF(.gif) | |
PNG | | | | PNG(.png) | |
BMP | | | | BMP(.bmp) | |
WebP | (Android 4.0+) (Lossless, Transparency, Android 4.2.1+) | (Android 4.0+) (Lossless, Transparency, Android 4.2.1+) | | WebP(.webp) | |
Video | H.263 | | | | • 3GPP (.3gp) • MPEG-4 (.mp4) |
H.264 AVC | Android 3.0+ | | | • 3GPP (.3gp) • MPEG-4 (.mp4) • MPEG-TS (.ts, AAC audio only, not seekable, Android 3.0+) | |
H.265 HEVC | | Android 5.0+ | | • MPEG-4 (.mp4) | |
MPEG-4 SP | | | | • 3GPP (.3gp) | |
VP8 | Android 4.3+ | Android 2.3.3+ | | • WebM (.webm) • Matroska (.mkv, Android 4.0+) | |
VP9 | | Android 4.4+ | | • WebM (.webm) • Matroska (.mkv, Android 4.0+) |
下表列出了Android媒体框架在H.264BP编解码中可以支持的视频编码配置文件和参数.
| SD(Low quality) | SD(High quality) | HD 720p(N/A on all device) |
Video分辨率 | 176x144px | 480x360px | 1280x720px |
Video帧率 | 12fps | 30fps | 30fps |
Video比特率 | 56Kbps | 500Kbps | 2Mbps |
Audio编解码格式 | AAC-LC | AA ad16 C-LC | AAC-LC |
Audio通道 | 1(mono) | 2(stereo) | 2(stereo) |
Audio比特率 | 24Kbps | 128Kbps | 192Kbps |
| SD(Low quality) | SD(High quality) | HD 720p(N/A on all devices) | HD 1080p(N/A on all devices) |
Video分辨率 | 320x180px | 640x360px | 1280x720px | 1920x1080px |
Video帧率 | 30fps | 30fps | 30fps | 30fps |
Video比特率 | 800Kbps | 2Mbps | 4Mbps | 10Mbps |
对于通过HTTP或者RTSP传输的视频流, 有这些额外的要求:
1. 对于3GPP和MPEG-4容器, moov atom必须先于任何mdat atoms, 但是必须在ftyp atom后面.
2. 对于3GPP, MPEG-4和WebM容器, 音频和视频采样率相对于相同的时移可以不超过500KB. 为了尽量减少这种音视频的偏移, 可以考虑使用更小的音视频块.
参考: https://developer.android.com/guide/appendix/media-formats.html
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories