前言html
本章內容爲開發者指南(Dev Guide)/Appendix/Android Supported Media Formats,版本爲Android3.1 r1,翻譯來自:"jackeylu",歡迎你們訪問他的博客:" http://jackeylu.wordpress.com/",再次感謝"jackeylu" !期待你一塊兒參與翻譯Android的相關資料,聯繫我over140@gmail.com。
原文app
http://developer.android.com/guide/appendix/media-formats.html框架
本文檔描述了Android平臺支持的媒體播放解碼器、網絡協議。ide
做爲一名應用軟件開發者,你能夠自由使用平臺上的媒體解碼器,這些編解碼能夠是平臺提供,或者是特定設備支持。然而,最好習慣於使用媒體編碼配置信息使得應用軟件代碼編寫可以與具體硬件無關。wordpress
網絡協議(Network Protocols)ui
能夠支持下述網絡協議音視頻的播放:編碼
* 實時流傳輸協議RTSP (實時傳輸協議RTP, 會話描述協議SDP)
* Http流式傳輸(譯者注:串流傳輸分兩種:progressive streaming和real time streaming。progressive好處是透過HTTP來傳輸,品質較好,只能單點播送(Unitcast),參見文章這裏。)
* HTTP Live Streaming協議(Android 3.0及以上) (譯者注:HTTP Live Streaming最初是由蘋果公司針對其iPhone、iPod、iTouch和iPad等移動設備而開發的流媒體協議,點這裏下載。)
注意:暫時不支持HTTPS
類型 |
格式 /編碼 |
編碼器 |
解碼器 |
詳細說明 |
支持文件類型 /容器格式 |
Audio |
AAC LC/LTP |
• |
• |
單聲道/立體聲 知足各類標準比特率組合,最高可達160kbsp,採樣率從8到48kHz |
3GPP (.3gp) and MPEG-4 (.mp4, .m4a). No support for raw AAC (.aac) |
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) |
|
MP3 |
|
• |
單聲道/立體聲 8-320kbps常數(CBR)或可變比特率(VBR) |
MP3 (.mp3) |
|
MIDI |
|
• |
0和1的MIDI類型。DLS版本1和2。XMF和移動XMF。支持鈴聲格式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和16位線性PCM(速率受硬件限制) |
WAVE (.wav) |
|
Image |
JPEG |
• |
• |
Base+progressive |
JPEG (.jpg) |
GIF |
|
• |
|
GIF (.gif) |
|
PNG |
• |
• |
|
PNG (.png) |
|
BMP |
|
• |
|
BMP (.bmp) |
|
Video |
H.263 |
• |
• |
|
3GPP (.3gp) and MPEG-4 (.mp4) |
H.264 AVC |
• |
• |
Baseline Profile (BP)(譯者注:H.264 Baseline Profile壓縮算法,參見這裏) |
3GPP (.3gp) and MPEG-4 (.mp4) |
|
MPEG-4 SP |
|
• |
|
3GPP (.3gp) |
媒體格式(Core Media Formats)
下表列出了Android平臺內置支持的媒體格式。請注意,任何一種移動設備都有可能提供更多的不在表中的格式支持。
注意:具體的媒體編解碼不必定在全部的Android平臺版本上都支持,相應的會經過括號標註出來,例如」(Android 3.0+)」
視頻編碼建議(Video Encoding Recommendations)
表二列出了Android媒體播放框架支持的視頻編碼配置和參數的例子。除了這些推薦的編碼參數,設備支持的視頻錄像配置信息能夠經過代理得到媒體回放功能參數。這些配置信息能夠經過API級別8開始加入的CamcorderProfile
類來獲得。
表二:支持視頻編碼配置和參數的例子
|
低質量 |
高質量 |
Video codec |
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 (單聲道) |
2(立體聲) |
音頻比特率 |
24 Kbps |
128 Kbps |
對於經過HTTP或RTSP傳輸視頻數據還有額外要求:
* 對於3GPP和MPEG-4,moov單元必須先於任何mdat原子。
* 對於3GPP、MPEG-4和WebM,音頻和視頻對應在同一時間誤差可能不到500KB就分開。爲了儘可能減小這種音頻/視頻誤差,能夠考慮較小的在較小的塊中交叉音頻和視頻。