媒体和相机:支持的媒体格式

本文详细介绍了Android平台上支持的媒体编解码器、封装格式及网络协议。内容覆盖了音频、视频和图像的编解码器支持情况,并提供了针对不同媒体格式的编码建议。

本文档介绍了Android平台提供支持的媒体编解码器,封装和网络协议。


作为应用开发人员,您可以随意使用任何Android设备上可用的任何媒体编解码器,包括Android平台提供的媒体编解码器和特定于设备的设备。 但是,使用与设备无关的媒体编码配置文件是最佳做法。



一、网络协议

音频和视频播放支持以下网络协议:

1、RTSP(RTP,SDP)协议

2、HTTP / HTTPS渐进式流协议

3、HTTP / HTTPS实时流草案协议:

 1)、仅MPEG-2 TS媒体文件

 2)、协议版本3(Android 4.0及更高版本)

 3)、协议版本2(Android 3.x)

 4)、Android 3.0之前不支持


注意:Android 3.1之前不支持HTTPS。



二、核心媒体格式

下表介绍了Android平台内置的媒体格式支持。 请注意,任何给定的移动设备可能会为表中未列出的其他格式或文件类型提供支持。


注意:在所有Android平台版本上不能保证可用的媒体编解码器因此在括号中注明,例如“(Android 3.0+)”


一)、音频格式和编解码器支持

Format / Codec Encoder Decoder Details Supported File Type(s) / Container Formats
AAC LC 支持标准采样率为8至48 kHz的单声道/立体声/ 5.0 / 5.1内容。 • 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+)   支持标准采样率为8到48 kHz的立体声/ 5.0 / 5.1内容。.
AAC ELD (enhanced low delay AAC)
(Android 4.1+)

(Android 4.1+)
支持16到48 kHz标准采样率的单声道/立体声内容
AMR-NB 在8kHz下采样4.75至12.2 kbps 3GPP (.3gp)
AMR-WB 在16kHz下采样率为6.60 kbit / s至23.85 kbit / s 3GPP (.3gp)
FLAC  
(Android 3.1+)
单声道/立体声(无多声道)。采样率高达48千赫(但到44.1kHz的建议与44.1kHz的输出设备,如48到44.1千赫下采样器不包括一个低通滤波器)。 16位推荐; 没有抖动应用于24位。 FLAC (.flac) only
MIDI   MIDI类型0和1. DLS版本1和2.XMF和Mobile XMF。 • Type 0 and 1 (.mid, .xmf, .mxmf)
• RTTTL/RTX (.rtttl, .rtx)
• OTA (.ota)
• iMelody (.imy)
MP3   单声道/立体声8-320Kbps常数(CBR)或可变比特率(VBR) MP3 (.mp3)
Opus  
(Android 5.0+)
  Matroska (.mkv)
PCM/WAVE
(Android 4.1+)
8位和16位线性PCM(速率高达硬件限制)。 8000,16000和44100 Hz的原始PCM录音采样率。 WAVE (.wav)
Vorbis     • Ogg (.ogg)
• Matroska (.mkv, Android 4.0+)

二)、视频格式和编解码器支持

Format / Codec Encoder Decoder Details Supported File Type(s) / Container Formats
H.263   • 3GPP (.3gp)
• MPEG-4 (.mp4)
H.264 AVC
(Android 3.0+)
Baseline Profile (BP) • 3GPP (.3gp)
• MPEG-4 (.mp4)
• MPEG-TS (.ts, AAC audio only, not seekable, Android 3.0+)
H.265 HEVC  
(Android 5.0+)
Main Profile Level 3 for mobile devices and Main Profile Level 4.1 for Android TV • MPEG-4 (.mp4)
MPEG-4 SP     3GPP (.3gp)
VP8
(Android 4.3+)

(Android 2.3.3+)
Streamable only in Android 4.0 and above • WebM (.webm)
• Matroska (.mkv, Android 4.0+)
VP9  
(Android 4.4+)
  • WebM (.webm)
• Matroska (.mkv, Android 4.0+)

三)、图像格式和编解码器支持

Format / Codec Encoder Decoder Details Supported File Type(s) / Container Formats
BMP     BMP (.bmp)
GIF     GIF (.gif)
JPEG Base+progressive JPEG (.jpg)
PNG   PNG (.png)
WebP
(Android 4.0+)
(Lossless, Transparency, Android 4.2.1+)

(Android 4.0+)
(Lossless, Transparency, Android 4.2.1+)


三、视频编码建议

下表列出了Android媒体框架支持在H.264基线配置文件编解码器中播放的视频编码配置文件和参数的示例。

SD (Low quality) SD (High quality) HD 720p (N/A on all devices)
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

下表列出了Android媒体框架支持在VP8媒体编解码器中播放的视频编码配置文件和参数的示例。

SD (Low quality) SD (High quality) HD 720p (N/A on all devices) HD 1080p (N/A on all devices)
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

除了这些编码参数建议之外,设备的可用录像配置文件可以用作媒体播放功能的代理。 这些配置文件可以使用CamcorderProfile类进行检查,该级别自API级别为8可用。


对于通过HTTP或RTSP流式传输的视频内容,还有其他要求:

1、对于3GPP和MPEG-4封装,moov原子必须在任何mdat原子之前,但必须成功的ftyp原子。

2、对于3GPP,MPEG-4和WebM封装,对应于相同时间偏移的音频和视频样本可以不超过500KB。 为了最小化这种音频/视频漂移,请考虑以较小的块大小交织音频和视频。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值