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每塊。考慮到在更小塊數據中的交叉音頻和視頻,請盡量縮小音頻/視頻偏差。
最後更新:2017-04-02 06:51:58