Android API Guides---ExoPlayer Supported Media Formats

来源:互联网 发布:ubuntu下硬盘安装win7 编辑:程序博客网 时间:2024/06/05 14:58

ExoPlayer  

播放视频和音乐是在Android设备上的热门活动。 Android框架提供的MediaPlayer,作为播放媒体用最少的代码一个快速解决方案,并提供用于构建自定义媒体播放器MediaCodec和MediaExtractor类。该开源项目,ExoPlayer,这两个选项之间的解决方案,提供了预建的球员,你可以扩展。
ExoPlayer不支持目前的MediaPlayer所提供的功能,包括通过HTTP(DASH)动态自适应流媒体,平滑流和通用加密。它的设计很容易定制和扩展,这让很多组件与定制实现替换。因为ExoPlayer是您在您的应用程序包括图书馆,它可以轻松地与您的应用程序更新一起。
注:ExoPlayer是一个开源项目,是不是Android框架的一部分,是从Android SDK中单独发布。请访问以下链接,了解更多信息。
ExoPlayer - 项目主页。
开发者指南 - 提供了丰富的信息,以帮助您开始。
GitHub的项目 - 包含源代码,还有一个演示应用程序。

Supported Media Formats

文档描述了媒体编解码器,容器,和网络协议由Android平台提供了支持。


作为一个应用程序开发人员,您可以自由使用任何媒体编解码器可用任何Android设备,包括由Android平台提供的和那些有特定于设备上。但是,它是使用的设备无关的媒体编码配置文件的最佳实践。


网络协议


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


RTSP(RTP,SDP)
HTTP / HTTPS渐进式流
HTTP / HTTPS协议的直播流媒体草案:
只有MPEG-2 TS媒体文件
协议版本3(Android 4.0及以上)
协议版本2(的Andr​​oid 3.X)
Android 3.0的前不支持
注:HTTPS的Andr​​oid 3.1之前,不支持。


核心媒体格式


下表描述内置于Android平台的媒体格式支持。请注意,任何给定的移动设备可以提供额外的格式或文件类型表中未列出的支持。


注:媒体是不能保证适用于所有Android平台版本的编解码器进行相应注意到括号,如“(Android 3.0以上版本)”。


表1.核心媒体格式和编解码器的支持。
类型格式/编解码解码器详细信息支持的文件类型(S)/容器格式
音频AAC LC••支持单声道/立体声/ 5.0 / 5.1的内容与标准的采样率从8到48千赫。 •3GPP(名为.3gp)
•MPEG-4(.MP4,.m4a)将
•ADTS原料AAC(.AAC,在解码的Andr​​oid 3.1以上版本,编码在Android 4.0以上版本,不支持ADIF)
•MPEG-TS(.TS,不可搜索,Android 3.0以上版本)
HE-AACv1(AAC +)•
(Android 4.1以上版本)•
HE-AACv2(增强型AAC +)•支持立体声/ 5.0 / 5.1的内容与标准的采样率从8到48千赫。
AAC ELD(增强低延迟AAC)•
(Android 4.1以上版本)•
(Android 4.1以上版本),单声道/立体声内容与标准的采样率从16到48 kHz的频率
AMR-NB••4.75至12.2 kbps的,采样率8kHz 3GPP(名为.3gp)
AMR-WB••从6.60 kbit / s的9速率23.85 kbit / s的采样@ 16kHz的3GPP(名为.3gp)
•FLAC
(Android的3.1+)单声道/立体声(无多声道)。采样率高达48千赫(但高达44.1千赫,建议与44.1千赫输出设备,如48到44.1千赫采样器不包括一个低通滤波器)。 16位建议;无抖动适用于24位。 FLAC(.FLAC)只
MP3•单声道/立体声8-320Kbps常数(CBR)或可变比特率(VBR)MP3(.MP3)
MIDI•MIDI类型0和1 DLS版本1和2 XMF和移动XMF。对于铃声格式RTTTL / RTX,OTA和IMELODY•支持类型0和1(.MID,.xmf,.mxmf)
•RTTTL / RTX(.rtttl,.rtx)
•OTA(.ota)
•IMELODY(.imy)
Vorbis格式••奥格(.OGG)
•的Matroska(的.mkv,Android 4.0以上版本)
PCM / WAVE•
(Android 4.1以上版本)•8位和16位线性PCM(速率高达限制硬件)。在8000,16000和44100 Hz的采样为原料PCM录音速率。 WAVE(.WAV)
•作品
(Android 5.0以上版本)的Matroska(.mkv)视频
图像JPEG••基地+渐进式JPEG(.JPG)
GIF•GIF(.gif注意)
PNG••PNG文件(.png)
BMP•BMP位图(.bmp)
•的WebP
(Android 4.0以上版本)
(无损,透明度的Andr​​oid 4.2.1+)•
(Android 4.0以上版本)
(无损,透明度的Andr​​oid 4.2.1+)的WebP(.WEBP)
视频H.263•••3GPP(名为.3gp)
•MPEG-4(MP4)
H.264 AVC•
(Android 3.0以上版本)•基准配置文件(BP)•3GPP(名为.3gp)
•MPEG-4(MP4)
•MPEG-TS(.TS,AAC音频而已,不可搜索,Android 3.0以上版本)
H.265 HEVC•
(Android 5.0以上版本),为移动设备和主类4.1级为Android电视•MPEG-4主配置文件级别3(.MP4)
MPEG-4 SP•3GPP(名为.3gp)
•VP8
(4.3+ Android版)•
(Android版2.3.3+)可流仅在Android 4.0及以上•WebM的(.webm)
•的Matroska(的.mkv,Android 4.0以上版本)
VP9•
(Android的4.4或以上版本)•WebM的(.webm)
•的Matroska(的.mkv,Android 4.0以上版本)
视频编码建议


下面的表2列出的视频编码配置文件和参数Android的媒体框架支持的H.264 Baseline Profile的编解码器播放的例子。而该框架支持在VP8媒体编解码器播放表3列出的例子。


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


表2. H.264 Baseline Profile的编解码器支持的视频编码参数的例子。
 SD(低质量)SD(高品质)高清720p(在所有设备上N / A)
视频分辨率为176×144像​​素480 * 360像素1280×720像素
视频帧率12 fps的30帧每秒30帧
视频码率56Kbps的500 Kbps的2 Mbps的
音频编解​​码器AAC-LC AAC-LC AAC-LC
音频通道1(单声道)2(立体声)2(立体声)
音频比特率24 Kbps的128 Kbps的192 Kbps的
表3. VP8编解码器支持的视频编码参数的例子。
 SD(低质量)SD(高品质)高清720p(在所有设备上N / A)高清1080p(在所有设备上N / A)
视频分辨率320×180像素640×360像素1280×720像素1920×1080像素
视频帧率30帧每秒30帧每秒30帧每秒30帧
视频码率800 Kbps的2 Mbps的4 Mbps的10 Mbps的
对于流是通过HTTP或RTSP视频内容,还有额外的要求:


对于3GPP和MPEG-4容器中,MOOV原子必须先于任何MDAT原子,但一定要成功的ftyp原子。
对于3GPP,MPEG-4和WebM容器,对应于相同时间偏移的音频和视频样本可​​以是不超过500 KB的分开。为了减少这种音频/视频漂移,考虑更小的块大小交错的音频和视频。

0 0