论文部分内容阅读
随着移动通信技术和半导体技术的飞速发展,移动流媒体业务已成为移动终端的核心业务之一,因而Android流媒体应用程序开发逐渐成为热点。然而,Android平台出现较晚,系统尚不完善,加之流媒体系统本身的复杂性和技术多样性,致使其上已有多媒体框架较为庞大和复杂,不利于Android流媒体程序开发、功能扩展、调试和升级,阻碍了Android上流媒体的应用和发展。本文针对上述问题,以Android平台流媒体引擎开发为主要研究内容,在分析流媒体及Android相关技术的基础上,对Android平台流媒体引擎的设计进行创新性和探索性研究及实现。首先介绍了常见流媒体框架和Android多媒体框架在进行流媒体开发时的不足,分析了流媒体网络传输协议和压缩编码技术,以及Android操作系统和JNI技术,通过选择合适的硬件平台,完成了Android操作系统的移植和软件开发环境的搭建;然后采用分层次分模块的设计思想,设计了流媒体引擎框架,将其分为数据采集、数据输出、编解码、网络传输和用户接口五个层,分析了Android本地程序开发方法,详细阐述了各个层模块的设计和实现,利用Android本地接口实现了数据采集和输出,利用开源库Libav和JRTPlib分别了实现编解码和网络传输,利用JNI技术实现了用户接口,最终通过对每一层的封装和统一接口,以便音视频编解码标准及其他层次的扩展、升级和维护,说明了流媒体引擎编译和调试方法;最后针对流媒体引擎各模块功能、系统性能和易用性方面,分别进行了单元、集成和系统测试,验证了各层模块功能,通过分析用户体验质量中PSNR和PESQ原理,构建了音频和视频质量客观测试模型,评测了系统音视频客观质量,在智慧医疗终端项目基础中,证实了流媒体引擎的可行性和易用性。经测试表明,该流媒体引擎达到了预期功能,可提高Android流媒体应用程序开发效率。本文在Android下提出了一种基于流媒体引擎的流媒体应用程序开发方案,构建并实现了一种流媒体引擎框架,提供相关接口可供音视频编解码标准扩展,简化了开发流程,提高了代码的复用性,方便开发、维护和调试。