Android多媒体MediaFramework处于Libraries这一层,这层的代码不是用Java实现的,一般是C/C++实现,它们通过Java的JNI方式调用。多媒体架构基于第三方PacketVideo公司的OpenCORE来实现,支持所有通用的音频/视频/静态图像格式,包括:MPEG4、、MP3、AAC、AMR、JPG、PNG、GIF等。从功能上分为两部分,一是音/视频的回放(PlayBack),二是音视频的纪录(Recorder)。CODEC(编解码器)使用OpenMAX1Linterface接口进行扩展,可以方便地支持hardware/softwarecodecplug-ins。OpenCore多媒体框架有一套通用可扩展的接口针对第三方的多媒体遍解码器,输入/出设备等等。多媒体文件的播放、下载,包括3GPP,MPEG-4,AACandMP3containers流媒体文件的下载、实时播放,包括:3GPP,HTTPandRTSP/RTP动态视频和静态图像的编解码,如:MPEG-4,(),JPEG语音编码格式:AMR-NBandAMR-WB音乐编码格式:MP3,AAC,AAC+视频和图像格式:3GP、MPEG-4andJPEG视频会议:基于H324-MstandardMediaFramework名词解释OpenCore介绍OpenCore是Android多媒体框架的核心,所有Android平台的音视频采集,播放的操作都是通过它来实现。通过OpenCore程序员可以方便快速的开发出想要的多媒体应用程序,例如:音视频的采集,回放,视频会议,实时的流媒体播放等等应用。OpenCore代码结构OpenCore的代码在Android代码的External/Opencore目录中。这个目录是OpenCore的根目录,其中包含的子目录如下所示:android:这里面是一个上层的库,它实现了一个为Android使用的音视频采集,播放的接口,和DRM数字版权管理的接口实现。baselibs:包含数据结构和线程安全等内容的底层库codecs_v2:音视频的编解码器,基于OpenMAX实现engines:核心部分,多媒体引擎的实现extern_libs_v2:包含了khronos的OpenMAX的头文件fileformats:文件格式的解析(parser)工具nodes:提供一些PVMF的NODE,主要是编解码和文件解析方面的。oscl:操作系统兼容库pvmi:输入输出控制的抽象接口protocols:主要是与网络相关的RTSP、RTP、mon:,没有源文件。pvplayer:,没有源文件。pvauthor:,没有源文件。tools_v2:编译工具以及一些可注册的模块。OpenMax介绍OpenMAX是Khronos制定的API,Khronos也是OpenGL的制定者。OpenMAX是无授权费、跨平台的应用程序接口API,通过媒体加速组件能够在开发、集成和编程环节中实现跨多操作系统和处理器硬件平台,提供全面的流媒体编解码器和应用程序便携化。在架构底层上为多媒体codec和数据处理定义了一套统一
Android多媒体架构 来自淘豆网www.taodocs.com转载请标明出处.