《基于QT的视频播放器设计.docx》由会员分享,可在线阅读,更多相关《基于QT的视频播放器设计.docx(28页珍藏版)》请在第一文库网上搜索。
1、摘要步入新世纪,在经济和科学飞速发展的影响下,数字多媒体技术以及互联网技术丰富了人们的日常生活。多媒体播放器是能够将经过编码压缩后的音视频文件解码后正常播放的一种工具。市面上的多媒体播放器数量繁多,各具特色,但同时也都存在一些不足。本文以基于Qt的视频播放器的设计与实现为研究课题,首先对主流的多媒体播放器进行了横向对比,对QtCreator和MPIayer等的使用方法进行了研究,并逐步完成功能模块和GUI用户图形界面的设计。经过测试,本设计实现了多媒体播放器的主要预期功能,同时GU1用户图形界面交互友好,降低了用户的操作门槛。关键词:QtMPIayer视频播放器多媒体技术目录第一章绪论111课
2、题研究背景及意义112国内外发展现状213论文主要内容及章节安排4第二章软件总体方案与设计42.1 软件功能需求分析42. 2软件整体方案设计5(3)信息栏:用于显示视频总时长和已播时长和播放进度等;72. 3开发平台选择8第三章软件开发相关技术103. IQt开发平台103.1IQt发展历程103.1.2QtCrator103.13Qt的特性113. 2FFmpeg解码器123. 3MP1ayer播放器13(2)-nosound:表示静音播放;14第四章软件编程设计173.1 GU1界面设计173.2 软件功能实现184. 2.1视频播放功能的实现184. 2.2暂停功能和静音功能的实现19
3、4. 3本章小结20第五章软件测试214.1 测试平台215. 2测试方法及结果225.2.1视频文件解码能力225.2.2播放时各项功能可用性225.3本章小结23结论24参考文献25致谢错误!未定义书签。第一章绪论21世纪以来,计算机技术和网络技术发展飞速,也使得人们的生活水平大大提高。各式各样的电子产品都在向着数字化、综合化、人性化的方向发展,嵌入式产品以其丰富的功能和便携性逐渐赢得了普通消费者的喜爱,被广泛应用于各种领域1,音视频播放作为人们日常生活中常用的一项功能受到了很高的关注。1.1课题研究背景及意义在过去,由于计算机性能和网络带宽的限制,人们在互联网上的信息交流大多是通过文本、
4、图像等静态信息来完成,伴随着信息革命带来的影响渗透到世界的每一个角落,计算机的处理性能和远程网络通信技术都得到了发展,人们对于彼此间在网络上的信息交流通信提出了更高的要求,不再满足于只有文本、图像和其他静态信息的信息通信方式,多媒体技术得到了迅速发展,越来越多的信息被多媒体化,多媒体播放器的重要性逐渐凸显,成为了人们日常生活、办公娱乐中不可或缺的一部分。视频播放器是指能播放以数字信号形式存储的视频的软件,也指具有播放视频功能的电子器件产品2。经过多年发展,多媒体播放器的功能基本已经确定,但是市面上的每款播放器都有各自的优缺点,有的播放器支持解码的文件类型多,但是其GU1图形用户界面较为复杂;有
5、的播放器操作简单但是对于文件管理支持较差。在播放一些编码格式比较少见的视频时,用户有时需要逐个尝试能够顺利播放的播放器,这无疑浪费了用户的时间,降低了效率。本文旨在设计一款多媒体播放器,对于主流的视频编码格式和较少见的视频编码格式都能顺利解码播放,同时带有易用的GU1图形用户界面,提升普通用户在使用时的效率。多媒体行业的发展速度很快,作为最影响用户观感的一项指标,视频分辨率的发展有目共睹。早期的显示器采用CRT技术,显示分辨率一般较低,多为1280X720像素的720p分辨率;在液晶显示器出现后,显示器的尺寸和分辨率都得到了高度发展,如今常见的显示器大多采用1920X1080像素的108OP分
6、辨率,更大的分辨率意味着同一时间内CPU需要处理的数据量也在上升。近年来,多媒体行业更是在加快速度步入4K超高清分辨率时代,为了提高多媒体播放器解码视频时的处理效率,视频的编码方式也在不断更新,从H.261到后来的H.263再到现在普遍使用的H.264和HEVC(H.265),这些都对多媒体播放器的扩展性和升级性提出了新的考验。12国内外发展现状多媒体技术在国外的起步较早,许多相关技术都由国外开发并制定了相关的技术标准。国内虽然起步稍晚,但是得益于我国在互联网宽带建设上的优势,使得国内的多媒体技术发展飞速。根据中国移动互联网行业市场前瞻与投资战略规划分析报告前瞻数据,截止2013年底,我国仅手
7、机网民数量就已经超过5亿,随着wifi与移动4G的普及,移动互联网网民呈爆发趋势3。在如此迅猛的互联网规模、技术、设施、服务和需求的发展趋势下,越来越多的信息被多媒体化,我们正处在一个多媒体世界中。图1.IJukeboxMu1timedia爱可视公司在2002年推出了世界上第一款多媒体播放器JukeboxMu1timediao与现在的数码产品丰富的功能不同,由于当时的技术局限,JukeboxMu1timedia只有视频播放的功能,没有其他的功能,但其单一的功能不表示其价格便宜,作为当时的新兴产品,JukeboxMu1timedia的高昂售价让不少消费者望而却步。虽然昂贵的价格、单一的功能让Ju
8、keboxMu1timedia在当年的销量不佳,但它的出现体现着多媒体行业的飞速发展。爱可视是公司于20世纪80年代成立于法国,主要从事研发、生产和销售一系列特色鲜明、便携精巧的移动数码产品。爱可视(ARCHoS)的意思是“领导者、向导”,而爱可视公司也正如其名,总是走在行业的前沿,发布着让人眼前一亮的产品,引领着潮流。在JukeboxMu1timedia的发布正式开辟了多媒体播放器这一市场后不久,微软公司(Microsoft)索尼公司(SOny)、三星公司(SamSUng)等美日韩公司也纷纷入场,在各家厂商的相互竞争之下,多媒体播放器发展出越来越多功能,而价格作为一个消费者非常敏感的因素,也
9、逐渐回归到了普通用户可以接受的范围内。作为用户最直观的体验因素,多媒体播放器的屏幕显示效果至关重要,最开始的多媒体播放器只带有一个支持几十万色的小屏幕,同时分辨率也普通较低,这使得用户的观看体验无法得到保证。仅仅不到两年的时间,市面上的许多多媒体播放器就已经开始使用能够显示超过一千万色的屏幕,同时屏幕的尺寸和分辨率也得到了升级。然而在发展迅速的多媒体行业,仅仅有着优秀的硬件是不够的,视频制作时的分辨率提升和编码技术的更新换代很快,这对不能同步进行升级的多媒体播放器提出了考验。时间来到2008年前后,随着运行着iOS、安卓(AndrOid)和塞班(Symbian)等操作系统的手机相继出现,智能手
10、机这一概念开始深入人心,相比于只能拨打电话、接收短信的功能手机,智能手机不仅在硬件上采用了色彩更加丰富、尺寸更大、分辨率更高的触摸屏幕,同时在娱乐功能的扩展性上也做了许多创新,用户可以在智能手机上安装各类软件来实现各式各样的功能。为了展现智能手机的优秀屏幕素质,厂商们大都为自家的智能手机预装了多媒体播放器软件,同时还有许多开发者也开发出适用的第三方多媒体播放器,这些播放器不仅功能丰富、界面优美,而且可以通过连接网络进行升级,很快智能手机就取代了传统的多媒体播放器。相较于手机等嵌入式设备,PC个人电脑上的多媒体播放器发展更为久远,产生不少了知名多媒体播放器,如微软公司(MiCrOSoft)开发的
11、WindowsMediaP1ayerRea1NetWorks公司开发的Rea1PIayer、苹果公司(APPIe)开发的QuickTimeP1ayer等,其中有不少日后也被移植到了智能手机端。表1.1主流多媒体播放器对比播放器名称是否开源占用资源体系架构运行环境插件接口WindowsMediaP1ayer否多DirectShowWindows不开放Rea1P1ayer否一般Rea1MediaWindows1inuxMacOS不开放QuickTimeP1ayer否一般QuickTimeWindowsMacOS不开放MP1ayer是少无Windows1inuxMacOS开放如表1.1所示,对四款主
12、流多媒体播放器进行对比,不难发现WindowsMediaP1ayer虽然支持目前流行的大多数多媒体格式,如ASF.WMW.WMA.WAV、AVKMP4等,但是由于其对系统资源的占用较大,在较低配置下的运行速度较慢。QuickTimeP1ayer主要支持的格式为MOV,但是由于很多MOV编码软件都是基于MaCoS平台的,因此这种视频格式在国内还是稍逊一筹4。同时,因为商业的原因,WindowsMediaP1ayerQuickTimeP1ayer等多媒体视频播放器的源码都是非公开的5,而MP1ayer作为基于1inux开发的一款多媒体播放器,不仅功能丰富,占用系统资源少,同时其遵守GNU协议6,开
13、放了其源码和插件接口,这给本文后续研究中设计一款多媒体播放器和移植提供了便捷。1.3论文主要内容及章节安排本文以设计与实现一款功能齐全、使用便捷、GUI图形用户界面易用的多媒体播放器为目标,从课题涉及的多媒体领域相关技术入手,对Qt开发平台、FFnIPeg解编码器等进行了研究,对系统需求进行分析并确定设计方案,使用Qtereator进行代码编写,并对程序运行时产生的bug进行修复,最终完成对系统的测试与评价。论文的内容安排如下:第一章简要介绍了国内外多媒体技术和多媒体播放器的发展现状,对市面上主流的几款多媒体播放器进行简单比较,最后介绍本文的各章节的研究内容和结构安排。第二章对多媒体视频播放器
14、的用户需求分析,确定需要实现的播放器功能,完成各功能的划分和多媒体播放器的工作流程的指定,选取适当的开发平台及相关技术,最后确定整体的设计方案。第三章对项目所使用的开发平台及软件,包括Qt开发平台、GU1用户图形界面的设计与编写、Qt特有的“信号与槽”机制、FFmpeg解码器等进行简单的介绍,查阅MP1ayer的用户手册,对其使用方法有一定了解。第四章对多媒体播放器的设计概要逐步进行实现,包括使用QtDesigner进行GUI图形用户界面的布局设计、将功能划分到各个不同的模块,通过各模块直接相互调用实现用户所需要的功能等。第五章中针对用户需求,对多媒体播放器的文件解码能力、多媒体播放器使用时的
15、流畅度、播放时各功能的可用性和播放器的稳定性等进行测试。第二章软件总体方案与设计2.1 软件功能需求分析通过对比市面上多款主流的多媒体视频播放器,确立本文所设计的多媒体播放器有如下功能:视频播放、视频暂停、播放上一个文件、播放下一个文件、视频快进、视频快退、视频加速、视频减速、音量调节等功能。图2.1多媒体视频播放器的功能划分对所需要实现的功能进行分析,可以将多媒体视频播放器的功能模块划分成如图2.1所示,视频播放、暂停、结束等基础功能由播放模块实现,对正在播放的视频画面进行各种控制的功能由控制模块实现,音量的大小控制和静音功能由音量模块实现。2.2 软件整体方案设计本设计主要利用Qt开发平台实现,采用MP1ayer作为后端,负责视频的解码和视频文件信息的读取,并将输出图像和视频的时长、格式等信息传回对应输出界面。在播放视频文件时,多媒体视频播放器的工作流程如图2.2所示,系统初始化后,用户选取播放文件,由MPIayer读取文件类型、时长等信息,然后使用内置的FFiIIPeg解码器对视频文件中的音视频分别进行解码,将经过解码得到的音频、视频同步后,视频传输到GU1图形用户界面的播放器窗口输出,音频传输到扬声器等外设输出,如此重复整个流程指定选定文件播放完毕。图2.