Android Media Player 支持的所有多媒体格式(多媒体CTS规范)
本文档描述了Android平台提供的媒体编解码器、容器和网络协议支持。作为应用程序开发人员,您可以使用任何Android设备上可用的任何媒体编解码器,包括由Android平台提供的媒体编解码器和特定于设备的媒体编解码器。但是,最好使用与设备无关的媒体编码配置文件。下表描述了安卓平台内置的媒体格式支持。不能保证在所有Android平台版本上都可用的编解码器在括号中注明,例如:...
本文档描述了Android平台提供的媒体编解码器、容器和网络协议支持。
作为应用程序开发人员,您可以使用任何Android设备上可用的任何媒体编解码器,包括由Android平台提供的媒体编解码器和特定于设备的媒体编解码器。但是,最好使用与设备无关的媒体编码配置文件。
下表描述了安卓平台内置的媒体格式支持。
不能保证在所有Android平台版本上都可用的编解码器在括号中注明,例如:(Android 3.0+)。请 注意,任何给定的移动设备都可能支持表中未列出的其他格式或文件类型。
Android兼容性定义的第5节规定了设备必须支持的与Android 8.1兼容的媒体格式。
音频支持
格式/编码格式 | 编码器 | 解码器 | 详细 | 支持的文件类型和格式容器范围 |
---|---|---|---|---|
AAC LC | • | • | 支持单声道/立体声/5.0/5.1内容,标准采样率为8至48 kHz。 | • 3GPP (.3gp) |
HE-AACv1 (AAC+) | • | • | ||
HE-AACv2 (enhanced AAC+) |
| • | 支持立体声/5.0/5.1内容,标准采样率为8至48 kHz。 | |
AAC ELD (enhanced low delay AAC) | • | • | 支持标准采样率为16至48 kHz的单声道/立体声内容 | |
AMR-NB | • | • | 在8kHz下采样4.75至12.2 kbps | 3GPP (.3gp) |
AMR-WB | • | • | 在16kHz时,采样率从6.60 kbit/s到23.85 kbit/s为9。
| 3GPP (.3gp) |
FLAC | • | • | 单声道/立体声(无多声道)。采样率高达48 kHz(但对于输出为44.1 kHz的设备,建议采样率高达44.1 kHz,因为48至44.1 kHz的下采样器不包括低通滤波器)。建议16位;24位不应用抖动。 | FLAC (.flac) only |
GSM |
| • | Android支持在电话设备上进行GSM解码 | GSM(.gsm) |
MIDI |
| • | MIDI类型0和1。DLS版本1和2。XMF和移动XMF。支持铃声格式rtttl/rtx、ota和imelody | • Type 0 and 1 (.mid, .xmf, .mxmf) |
MP3 |
| • | 单声道/立体声音质(CBR)8恒定或可变比特率(VBR) | MP3 (.mp3) |
Opus | • | Matroska (.mkv) | ||
PCM/WAVE | • | • | 8位和16位线性PCM(速率达到硬件限制)。8000、16000和44100 Hz下原始PCM记录的采样率。 | WAVE (.wav) |
Vorbis |
| • |
| • Ogg (.ogg) |
视频支持
格式/编码格式 | 编码器 | 解码器 | 详细说明 | 支持的文件类型/容器格式 |
---|---|---|---|---|
H.263 | • | • | 在Android 7.0+中,对H.263的支持是可选的。
| • 3GPP (.3gp) |
H.264 AVC | • | • | • 3GPP (.3gp) | |
H.264 AVC | • | • | 需要解码器,建议使用编码器。 | |
H.265 HEVC | • | 移动设备的主配置文件级别3和Android TV的主配置文件级别4.1 | • MPEG-4 (.mp4) | |
MPEG-4 SP |
| • |
| 3GPP (.3gp) |
VP8 | • | • | 仅在Android 4.0及更高版本中可流式传输 | • WebM (.webm) |
VP9 | • | • WebM (.webm) |
视频编码建议
下表列出了Android Media Framework视频编码配置文件和建议使用H.264基线配置文件编解码器播放的参数。同样的建议也适用于主配置文件编解码器,该编解码器仅在Android 6.0及更高版本中可用。
| SD (低质量) | SD (高质量) | HD 720p (不适用于所有设备) |
---|---|---|---|
Video resolution(视频分辨率) | 176 x 144 px | 480 x 360 px | 1280 x 720 px |
Video frame rate(视频帧率) | 12 fps | 30 fps | 30 fps |
Video bitrate(视频比特率) | 56 Kbps | 500 Kbps | 2 Mbps |
Audio codec(编码方式) | AAC-LC | AAC-LC | AAC-LC |
Audio channels(音频频道) | 1 (mono) | 2 (stereo) | 2 (stereo) |
Audio bitrate(音频比特率) | 24 Kbps | 128 Kbps | 192 Kbps |
下表列出了建议使用VP8媒体编解码器播放的Android Media Framework视频编码配置文件和参数。
| SD (低质量) | SD (高质量) | HD 720p (不适用于所有设备) | HD 1080p (不适用于所有设备) |
---|---|---|---|---|
Video resolution(分辨率) | 320 x 180 px | 640 x 360 px | 1280 x 720 px | 1920 x 1080 px |
Video frame rate(帧率) | 30 fps | 30 fps | 30 fps | 30 fps |
Video bitrate(比特率) | 800 Kbps | 2 Mbps | 4 Mbps | 10 Mbps |
设备实现必须支持通过同一流中的标准Android API对所有VP8、VP9、H.264和H.265编解码器进行动态视频分辨率和帧速率切换,并实时达到设备上每个编解码器支持的最大分辨率。
支持杜比视觉解码器的实现必须遵循以下准则:
1.提供一个杜比视觉提取。
2.在设备屏幕或标准视频输出端口(如HDMI)上正确显示Dolby Vision内容。
3.将向后兼容基础层(如果存在)的跟踪索引设置为与组合的Dolby视觉层的跟踪索引相同。
视频流要求
1.对于通过HTTP或RTSP传输的视频内容,还有其他要求:
2.对于3gpp和mpeg-4容器,moov原子必须位于任何mdat原子之前,但必须继承ftyp原子。
3.对于3gpp、mpeg-4和webm容器,与同一时间偏移相对应的音频和视频采样间隔不得超过500 kb。要最小化这种音频/视频偏移,请考虑以较小的块大小交错存储音频和视频。
图片支持
格式/编码格式 | 编码器 | 解码器 | 详细说明 | 支持文件类型/容器格式 |
---|---|---|---|---|
BMP |
| • |
| BMP (.bmp) |
GIF |
| • |
| GIF (.gif) |
JPEG | • | • | Base+progressive | JPEG (.jpg) |
PNG | • | • |
| PNG (.png) |
WebP | • | • |
| WebP (.webp) |
HEIF |
| • |
| HEIF (.heic; .heif) |
网络协议
音频和视频播放支持以下网络协议:
——RTSP(RTP,SDP)
——HTTP/HTTPS渐进流
——HTTP/HTTPS直播流:
——仅限MPEG-2 TS媒体文件
—— 协议版本3(Android 4.0及更高版本)
—— 协议版本2(Android 3.x)
——Android 3.0之前不支持
注意:在Android 3.1之前不支持HTTPS。
本文来自翻译:Supported media formats
更多推荐
所有评论(0)