论文部分内容阅读
随着嵌入式系统和多媒体技术的发展,嵌入式多媒体系统得到了越来越多的重视。同时,市场对嵌入式多媒体系统的需求也越来越大。从早期的MP3播放器,到现在的移动手机播放器,以及正在悄然兴起的数字网络电视系统,对嵌入式多媒体播放器功能的要求也越来越高。编解码技术的进步使得以往的单一固定类型播放系统的局限性正逐步体现出来,无法扩展的播放系统必将被市场所淘汰。而现有的嵌入式媒体播放系统都是针对专门应用设计开发,局限性很大。因此,对新型的支持多标准、多解码器、运行效率高、并且移植性好、可扩展性强的新型嵌入式媒体播放框架的研究也就显得迫在眉睫了。本文设计并实现的内容是实验室流媒体业务中间件项目中的一部分,对于中间件上层的应用开发者来说,他们并不希望过多的关注媒体播放的实现细节,因此,一套通用的媒体播放系统需要被设计并实现,该系统除了必须满足上文提及的新型播放器框架的特点外;在底层还需适配多种编解码和输出硬件,能支持多种音视频编码规范。另一方面,实时流媒体应用中质量监测和控制的需求也使得本系统要支持灵活的数据过滤和模块重构。基于上述需求,综合国内外现有研究成果,本文做出了以下研究与实现:首先对数据解码,音频和视频输出这三个与底层平台实现相关的模块进行硬件抽象,向上封装成统一的本地接口,硬件抽象层的实现在各个系统中可能是不同的,需要编写代码去继承相应的类并实现通用的接口函数。此外,对于媒体数据流的控制与流程管理则利用动态插件框架来完成,该框架采用基于插件机制的数据组合方法,可以自定义媒体播放过程中各个模块的内部逻辑,方便与硬件抽象层接口进行集成,同时也利于添加流媒体业务质量插件以获取实时的数据监测反馈和对数据进行差错控制。最后,嵌入式播放器向开发者提供可扩展的统一媒体接口,供实际应用调用。实验结果表明,该设计可以在多款嵌入式平台上被实现,在提供流畅的流媒体服务的同时,系统本身也可以被方便的扩展。另一方面,流媒体服务质量监测和控制功能也可以通过插件方式被播放器集成和更新,以提供更好的用户体验。