您的位置:首页 > 移动开发 > Android开发

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

下表列出了可以支持的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
 

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息