天天看點

Android支援的媒體格式

作為一個應用開發者,你可以免費使用Android裝置支援的任何多媒體編解碼器,包括Android系統提供的和裝置特有的。但是,使用裝置無關的多媒體編碼配置是最佳的。

網絡協定

以下網絡協定都支援音頻和視訊播放:

  • RTSP (RTP, SDP)
  • HTTP/HTTPS progressive streaming
  • HTTP/HTTPS live streaming draft protocol
    • MPEG-2 TS media files only
    • Protocol version 3 (Android 4.0 and above)
    • Protocol version 2 (Android 3.x)
    • Not supported before Android 3.0
注意:HTTPS在Android3.1之前是不支援的
           

核心多媒體格式

下表展示了Android系統内置支援的多媒體格式,任何移動裝置都可能支援該表格以外的其他格式或者檔案類型。

注意: 不保證在所有的Android平台上都支援的那些多媒體編解碼器都用括号将支援的平台标注出來了。例如:(Android 3.0+)
           

表1 核心格式和編解碼器支援

(吐槽:用MarkDown畫這個大表格太痛苦了,截圖之)

Android支援的媒體格式

視訊編碼推薦

下面的表格2列出了Android Media架構原生支援的視訊編碼配置和參數。除了這些編碼參數推薦,通過一個裝置的可用的視訊錄制(格式)配置,可以一窺該裝置的多媒體播放能力,這些配置能夠使用 CamcorderProfile類來得到。(API level8以上)。

表2:

- SD (低品質) SD (高品質) HD (不一定都支援)
視訊編解碼 H.264 Baseline Profile H.264 Baseline Profile H.264 Baseline Profile
視訊分辨率 176 x 144 px 480 x 360 px 1280 x 720 px
視訊幀率 12 fps 30 fps 30 fps
視訊比特率 56 Kbps 500 Kbps 2 Mbps
音頻編解碼 AAC-LC AAC-LC AAC-LC
音頻聲道 1 (mono) 2 (stereo) 2 (stereo)
音頻比特率 24 Kbps 128 Kbps 192 Kbps

對于通過HTTP或者RTSP傳輸的視訊流,有如下額外的要求:

  • For 3GPP and MPEG-4 containers, the moov atom must precede any mdat atoms, but must succeed the ftyp atom.
  • For 3GPP, MPEG-4, and WebM containers, audio and video samples corresponding to the same time offset may be no more than 500 KB apart. To minimize this audio/video drift, consider interleaving audio and video in smaller chunk sizes.