OpenCore的另外一个常用的称呼是PacketVideo,它是Android的多媒体核心。PacketVideo是一家公司的名称,OpenCore是这套多媒体框架的软件层的名称。在Android的开发者层次看,二者的含义基本相同。对比Android的其它程序库,OpenCore的代码非常庞大,它是一个基于C++的实现,定义了全功能的操作系统移植层,各种基本的功能均被封装成类的形式,各层次之间的接口多使用继承等方式。
通过open core可以快速的开发出多媒体应用程序,如录音,播放,回放,视频会议,流媒体播放等。
open core支持的格式包括,MPEG4,H.264,MP3,AAC,AMR,PNG,GIF等。
在android的系统架构图上看出,Media Framework处于Libraries这一层,Library是使用c/c++开发的,通过java的JNI方式来调用的
OpenCore是一个多媒体的框架,从宏观上来看,它主要包含了两大方面的内容:
* PVPlayer:提供媒体播放器的功能,完成各种音频(Audio)、视频(Video)流的回放(Playback)功能
* PVAuthor:提供媒体流记录的功能,完成各种音频(Audio)、视频(Video)流的以及静态图像捕获功能
PVPlayer和PVAuthor以SDK的形式提供给开发者,可以在这个SDK之上构建多种应用程序和服务。比如在移动终端中常常使用的多媒体应用程序,例如媒体播放器、照相机、录像机、录音机等等。
为了更好的组织整体的架构,OpenCore在软件层次在宏观上分成几个层次
OSCL:Operating System Compatibility Library (操作系统兼容库),包含了一些操作系统底层的操作,为了更好地在不同操作系统移植。包含了基本数据类型、配置、字符串工具、IO、错误处理、线程等内容,类似一个基础的C++库。
PVMF:PacketVideo Multimedia Framework(PV多媒体框架),在框架内实现一个文件解析(parser)和组成(composer)、编解码的NODE,也可以继承其通用的接口,在用户层实现一些NODE。
PVPlayer Engine:PVPlayer引擎。
PVAuthor Engine:PVAuthor引擎。
事实上,OpenCore中包含的内容非常多:从播放的角度,PVPlayer的输入的(Source)是文件或者网络媒体流,输出(Sink)是音频视频的输出设备,其基本功能包含了媒体流控制、文件解析、音频视频流的解码(Decode)等方面的内容。除了从文件中播放媒体文件之外,还包含了与网络相关的RTSP流(Real Time Stream Protocol,实时流协议)。在媒体流记录的方面,PVAuthor的输入的(Source)是照相机、麦克风等设备,输出(Sink)是各种文件,包含了流的同步、音频视频流的编码(Encode)以及文件的写入等功能。
在使用OpenCore的SDK的时候,有可能需要在应用程序层实现一个适配器(Adaptor),然后在适配器之上实现具体的功能,对于PVMF的NODE也可以基于通用的接口,在上层实现,以插件的形式使用。
MediaPlayer和MediaRecoder是两个基本类,完成音频视频的播放,每天采集。都是使用底层的Open core来实现的,但是要开发应用时需要使用android为我们提供的java接口。
分享到:
相关推荐
### Android多媒体框架详细分析 #### 一、摘要 本文旨在深入剖析Android系统的多媒体架构,并重点关注其内部机制,尤其是OpenCore的工作原理。通过本篇分析,读者将了解到Android多媒体架构的层次结构、各组件间的...
本书名为《Android多媒体编程从初学到精通》,由苗忠良等编著,是一本详细分析Android平台下多媒体编程的知识与技术的教材。该书详细讲解了从基础到进阶的Android多媒体编程技术,内容覆盖了多媒体开发的多个方面,...
在深入分析Android多媒体构架之前,我们必须先了解Android系统作为一个整体是如何处理多媒体信息的。Android多媒体构架是一套复杂的系统,它涵盖了音频、视频、图形和图像的捕获、处理和播放。本分析报告将侧重于Ice...
《Android多媒体应用开发详解》 一、Android多媒体应用概述 Android多媒体应用开发是移动应用开发中的重要组成部分,涉及音频、视频、图像等多种媒体格式的处理与展现。Android平台提供了丰富的多媒体API,使得...
Android 多媒体框架分析 Android 多媒体框架是 Android 系统中负责处理多媒体任务的核心组件,包括音频、视频、图像等多媒体数据的处理和播放。基于 PacketVideo 公司的 OpenCORE 平台,多媒体框架提供了一套通用的...
这篇博客"android多媒体框架分析"将深入探讨这一领域,旨在帮助开发者理解和优化多媒体应用的性能。由于没有具体的描述,我们将根据标题和标签来推测文章可能涵盖的关键知识点。 1. **多媒体框架概述**: Android...
本节将深入探讨Android多媒体开发的高级编程技巧,帮助开发者实现更高效、更丰富的多媒体应用。 1. **多媒体框架概述** Android的多媒体框架基于开放移动联盟(OMA)的开放移动 Alliance Digital Media ...
Android多媒体框架是Android系统中处理音频、视频和图像的核心组件,为开发者提供了强大的多媒体功能支持。这个框架位于Android系统的Libraries层,主要由C/C++编写,并通过JNI(Java Native Interface)与Java层...
在Android平台上进行多媒体编程是一...通过理解和掌握以上知识点,开发者可以构建出功能丰富的Android多媒体应用,为用户提供丰富的视听体验。在实际开发中,应结合具体需求灵活运用,同时注意性能优化和用户体验设计。
《Android多媒体开发高级编程》是一本专为Android平台上的多媒体应用开发者量身打造的专业书籍。这本书深入探讨了如何在智能手机和平板电脑上构建图形、音乐和视频应用,涵盖了Android多媒体开发的各个方面,对于想...
### Android多媒体编程从初学到精通:第四章 多媒体框架 #### 一、框架概述 在探讨Android多媒体框架之前,我们需要了解几个基本概念。在不同的操作系统中,多媒体处理框架各不相同。例如,在Windows中使用...
理解多媒体API的工作原理,以及如何优化性能和用户体验,是开发高质量Android多媒体应用的关键。 总结,Android多媒体应用开发涉及到图像处理、音频和视频操作,以及2D和3D图形渲染等多个层面。开发者需要深入理解...
《Android多媒体编程从初学到精通》是一本专为Android开发者设计的书籍,旨在帮助读者深入理解和熟练掌握在Android平台上进行多媒体编程的各种技术和实践。作者苗忠良等人通过丰富的实例和详细讲解,引领读者逐步...
**Android 多媒体文件选择器详解** 在移动应用开发中,提供用户选择多媒体文件(如图片和视频)的功能是常见的需求。"Android 多媒体文件选择器" 是一个专为此目的设计的开源解决方案,由 getchute.com 开发,并且...
【Android多媒体框架与开发应用框架】 在Android系统中,多媒体框架是实现音频、视频和图像处理的核心组件,而应用框架则是开发者构建应用程序的基础。本文将深入解析这两个关键领域的概念和工作原理。 一、...