论文部分内容阅读
在移动互联网飞速发展的现今,人们对移动终端的需求不再满足于发短信和通电话了,越来越多的人都将手机作为了日常生活的消遣和娱乐工具。伴随着智能手机的普及以及性能的提高,多媒体应用也层出不穷,可以说在未来的移动互联网领域中,多媒体应用将占据着举足轻重的地位。Android智能手机作为移动互联网的载体,是目前最为流行的智能手机之一,其在全球的市场份额已经达到了78.1%,因此吸引了很多的开发者投向Android阵型。然而,Android系统上层的多媒体接口并没有像它的市场份额一样发展迅速,很多涉及到多媒体流式传输和可视化通信的应用都是基于Android底层开发,开发者首先需要熟悉Android的底层代码,而不同开发者又有不同的实现方式。这样的结果导致了Android多媒体应用的开发难度大,开发周期长。为了实现一个通用的Android多媒体开发方案,本文将目前最为流行的音视频编解码库FFmpeg整合到Android多媒体中,通过使用FFmpeg的接口来达到开发Android多媒体应用的目的。针对于FFmpeg只能软件编码从而导致编码效率过低的问题,本文还提出了优化FFmpeg编码器的方案设计。在深入理解Android多媒体编码机制的基础上,从中提取出硬件编码器,并将其设计成插件的形式融合到FFmpeg中,实现高效的编码。为了能够体现FFmpeg优化后的编码性能,本文设定了在三种视频分辨率的环境下,对优化前后的视频编码进行比较。分别记录不同分辨率下,它们的PSNR值、编码平均效率、CPU平均使用率和内存平均使用率。结果表明:从PSNR值可以发现优化后的视频编码质量要比优化前的稍微好一些,但从视觉效果上是完全相同的。由于高负荷工作导致CPU平均使用率相差并不大;而在144x176分辨率下,优化后的FFmpeg比优化前具有高出将近8倍的编码效率,而且分辩率越高,编码效率相差的倍数也越高。对于内存的平均使用率,优化后比优化前降低了约2倍。因此,优化后的FFmpeg编码器更能适用于Android平台。