Android 媒體 IV-支持的媒體格式

概述:

該文檔介紹了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

AAC-LC

AAC-LC

Audio通道

1(mono)

2(stereo)

2(stereo)

Audio比特率

24Kbps

128Kbps

192Kbps

下表列出了可以支持的VP8視頻編碼參數:

 

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

除了這些編碼參數建議之外, 一個設備的可用的視頻記錄配置(video recording profiles)可以作爲媒體播放能力的代理. 這些配置文件可以使用CamcorderProfile類進行檢查, 該類在API 8及以上可用.

對於通過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

 

 

 

 

發佈了81 篇原創文章 · 獲贊 4 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章