论文部分内容阅读
随着互联网技术和多媒体技术的迅速发展,多媒体应用得到了极大普及,它们不仅融入到人们生活的方方面面,甚至还改变了人们的生活方式。为了满足人们日益增长的需求和提高软件使用的灵活性,多媒体应用搭载终端朝着便携式终端发展。近年来,移动互联网和智能手机的迅猛发展,使得基于智能手机开发多媒体应用成为可能。本文设计并实现了一种基于Android的手机多媒体应用软件。该软件运行在Android操作系统的智能手机上,完成了音视频会话建立、任务信息收发、语音通话(VoIP)、实时视频上传和播放等功能,基本满足了人们对信息交互多元化的要求,可应用于应急调度、远程教学、移动安保等系统。本文主要内容如下:(1)分析了Android程序开发技术并介绍了本软件开发涉及到的关键技术,为软件开发提供了基础知识。分析并根据系统的功能需求详细设计了系统总体框架和软件框架,在此基础上,本文设计了各个功能模块的SIP信令交互流程,并采用适合的技术实现了各个功能模块。(2)本文移植开源库Mjsip和Jlibrtp分别实现了软件SIP信令交互和音视频RTP数据传输。为了提高软件的执行效率,本文结合了Android NDK技术和Java JNI技术裁剪并移植了FFmpeg开源库来实现视频数据的编解码,而语音数据的编解码是通过G.711语音编解码标准实现的。(3)为了提高音频播放的流畅性,本文设置了数据缓存区并通过对音频包进行丢包检测和插入重复包来处理丢包。本文在视频发送端采用了一种平稳发包策略,并在视频接收端实现二级缓存区对数据包进行排序、组包和丢包处理来提高实时视频播放质量。为了提高视频编码效率,本文研究了H.264帧内预测编码技术,根据图像宏块的平坦度和相邻子块的相关性来选择帧内预测模式,优化了视频编码库,提高了编码效率。本文对完成的多媒体应用软件进行测试,测试表明软件运行良好,基本完成预期功能。