Linux电影播放器设计与实现论文设计_第1页
Linux电影播放器设计与实现论文设计_第2页
Linux电影播放器设计与实现论文设计_第3页
Linux电影播放器设计与实现论文设计_第4页
Linux电影播放器设计与实现论文设计_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、北京邮电大学 毕业设计(论文)任务书 毕业设计(论文)题目: Linux 电影播放器设计与实现 毕业设计(论文)要求及原始数据(资料): 1、课题选择的目的和意义 随着社会的发展以及计算机在各领域的广泛运用,视频播放器以及成为人 们日常生活娱乐必不可少的一部分,功能也逐渐增多,丰富了人们的生活。 为了巩固所学知识,也为了顺应时代步伐。借助此次毕业设计,我希望能 运用自己所学的理论知识来完成基于 Linux 系统的视频播放器的设计,不仅功 能满足人们日常需求,而且界面简单易行。 二、设计的任务和要求 本播放器的主要任务和要求是在实现视频播放器的基本的功能的前提之下, 在媒体播放器实现过程中实现以

2、下几点: 1. 为实验平台移植最新的 Linux 内核和创建根文件系统,在 Linux 下安 装 mplayer 视频软件; 2. 设计简单的视频播放器界面,提出了在嵌入式系统环境下硬件协同的 设计优化方法,并利用该方法优化带硬件加速的视频解码模块。 3. 利用开放接口的媒体播放器框架和音频模块, 整合视频解码和视频输 入输出模块,调用 mplayer 后台,实现一个完整的媒体播放器。 4.软件测试结果表明,视频播放器可以实时播放图像最大分辨率为 352x288 的音视频码流,达到了预期设计要求。 5训练检索文献资料和利用文献资料的能力;(必须包含)(必须包含) 6训练撰写技术文档与学位论文的

3、能力。(必须包含)(必须包含) 毕业设计(论文)主要内容: 一、设计步骤 1为实验平台移植最新的 Linux 内核和创建根文件系统,在 Linux 下安装 smplayer 播放器; 2视频播放器实现输入、输出、视频解码等模块功能; 3设计图形操作界面:在 Qt 下对播放器进行界面设计,需要实现基本的添加 文件、播放、暂停、快进、后退、停止、调节音量等功能; 4.软件测试,并解决测试过程中出现的问题; 二、论文结构 第一章、课题研究背景:分析当前社会视频播放器的优缺点,介绍该论文的主 要工作和研究目的。 第二章、开发平台及开发工具的选择:对操作系统的介绍及对 Qt 开发工具的 描述,以及相关技

4、术的介绍。 第三章、视频播放器功能介绍:详细介绍各模块的功能。 第四章、软件测试和改进思想。 结论。 致谢。 学生应交出的设计文件(论文): 1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文; 2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。 主要参考文献(资料): 1霍亚飞 . Qt 及 Qt Quick 开发实战精解 . 北京航空航天大学出版社, 2012 2赵国安,郁斌,薛琳强 . 基于 Linux 嵌入式原理与应用开发 . 清华大学, 2008 3英Neil MatthewRichard Stones. Linux 程序设计(第四版). 人民邮电出版社 4郑

5、莉 . C+语言程序设计(第四版). 清华大学出版社 5韩少云 . 基于嵌入式 Linux 的 Qt 图形程序实战开发. 北京航空航天大学出版社 6(美)艾朱斯特. C+ Qt 设计模式(第二版). 电子工业出版社,2012 7Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman 著. LINUX 设备驱动程序 M. 北京:中国电力出版社,2006 版 8李博轩 . Visual C+ 多媒体开发指南 M 清华大学出版社,2000 9百度百科 . http:/ 10杨水清 . ARM 嵌入式 Linux 系统开发技术.华南理工大学,2003

6、专业班级软件 1017 班学生常雅鑫 要求设计(论文)工作起止日期2014 年 3 月 17 日2014 年 6 月 27 日 指导教师签字袁军日期 2014 年 3 月 17 日 教研室主任审查签字日期 系主任批准签字日期 Linux 电影播放器设计与实现 摘 要 当今社会,随着 IT 技术的发展和人们文化水平的提高,越来越多的人关注精神生 活水平的提升,视频成为必不可少的一部分。嵌入式设备也无疑已经成为最热门概念 之一,丰富了我们的生活,它的功能不断提高使得发展更加迅速,市场上播放设备也 越来越多。所以很多人往往注重外观的同时也注重嵌入在其中的软件操作体验。 本课题将首先了解 Linux

7、下嵌入式应用程序开发流程。以嵌入式视频播放器需求 大的社会为背景,提出了在 Linux 下的视频播放器,具体是基于 QT 的架构设计。论文 给出一种嵌入式系统中音频视频同步的解决方案,有效提高嵌入式多媒体播放系统的 音频视频同步的功能,在此基础上设计并实现了基于 Linux。Qt 的嵌入式视频播放器, 实现基于 QT 的嵌入式视频播放器系统。在本设计中,提出基于 mplayer 播放器下,给 用户一个基本的操作界面,实现对 mplayer 的相关功能的操作,如暂停,快进,速度 的调整等功能。 关键词:Qt;视频播放器;嵌入式 Design and implementation of Linux

8、 movie player Abstract: Society,with the development of IT technologies,as well as economic development and raise the level of spiritual civilization,moren and more people are increasingly aware of the spirit of enjoyment of life.Video is the preferred choice of the people.Embedded devices certainly

9、 become one of the most popular concept and enrich our lives. Its function constantly improve makes development more rapidly, playback devices on the market is also more and more.So a lot of people often pay attention to appearance at the same time also pay attention to embedded software operating e

10、xperience in it. This topic will be the first to know under Linux embedded application development process.Embedded video player on demand of society as the background, puts forward the video player under Linux, concrete is based on the architecture design of QT.Paper gives a kind of embedded system

11、s audio video synchronization solution, effectively improve the audio video synchronization of embedded multimedia broadcast system, on this basis, designed and implemented based on Linux.Qt embedded video player, the realization of embedded video player system based on Qt.In this design, based on m

12、player player, give users a basic operating interface, implementation to the operation of the mplayer related functions, such as, fast forward, up and down the video switch, etc. Key Words: Qt; Video player; Embedded device. 目录 摘 要.I ABSTRACT:.II 一、 绪 论 .1 (一) 研究背景 .1 (二) 国内外研究现状 .1 (三) 论文主要完成的工作 .2

13、 二、 开发平台与开发工具 .3 (一) 开发平台与工具 .3 1.Linux .3 2.Ubuntu .3 3.Qt Creator .4 4.Mplayer .5 (二) 相关技术 .6 1.音视频编解码技术 .6 2.主流媒体文件格式 .8 3.流媒体技术 .9 (三) 嵌入式图形用户界面 .12 三、 播放器的设计 .15 (一) 流程设计 .15 1.播放器的系统结构 .15 (二) 界面设计 .15 (三) 模块设计 .16 1.输入模块 .16 2.输出模块 .16 3.插件接口模块 .16 4.解码库模块 .17 四、 播放器功能的实现 .18 (一) 界面的详细开发过程: .

14、18 1.设置界面大小 .18 2.声明槽函数 .18 3.声明及添加按钮: .19 4.声明及定义 Qprocess.19 (二) 各功能的实现: .19 1.文件打开功能 .19 2.选择一个或者多个文件及目录,如下图所示: .20 3.播放、暂停功能 .21 4.选择上一个/下一个播放文件 .22 5.选择播放时间点功能: .23 6.设置速度 .24 五、 软件测试和改进思想 .25 (一) 软件测试 .25 1.测试方案 .25 2.测试用例 .25 3.测试结果 .26 (二) 改进思想 .26 结 论.27 致 谢.29 外文文献:.30 译文:.33 一、 绪 论 (一) 研究

15、背景 现如今随着计算机在各个领域的广泛应用,视频播放器在如今社会已融入到人们 生活的各个方面,不仅仅是娱乐,在工作和学习中也拥有不可忽视的地位,多数都支持 常见的媒体格式、.mp4、.avi、rm、.rmvb 等。随着 C 语言的发展和嵌入式系统技术 的推广,音频解码技术、存储器技术愈发成熟。在嵌入式系统低端应用中 ,存在着大 量的小型嵌入式应用系统,基于 Linux 下的视频播放器就是其中一员,由于能满足人 们视听享受已成为热门,随着 Qt 的发展,基于 Qt 开发的程序成本大大降低,Qt 也越 来越稳定。同时 Qt 强大的开发功能和可移植性实现了多平台的兼容性,可以很快移植 到其他平台,从

16、而节约了开发周期和成本,促进嵌入式设备的开发水平。因此基于 Qt 的嵌入式系统中实现视频播放器具有深刻的意义和价值。 本文将设计并实现一款界面清楚明了,操作简单,支持多种格式媒体。该播放器 的主要功能是播放一些常见的视频的格式文件,在功能上达到简单易行,消耗资源少。 主要实现的功能:文件控制(主要用于添加播放文件);播放控制(控制视频的播放 状态)。声音控制(调整音量的大小);显示控制(若播放的是视频文件应当显示图 像,可以进行按比例播放或者全屏)。在文献中都详细介绍了嵌入式多媒体播放器的 设计与实现的各种解决方法。如由 Christopher Hallinan.编写的嵌入式 Linux 基础

17、教 程(第 2 版)(英文版)中介绍了引导加载程序、系统初始化、文件系统、闪存和内核、 应用程序调试技巧等,还讲述了构建 Linux 系统的工作原理,用于驱动不同架构的配 置,Linux 内核源码树的特性,如何根据需求配制内核运行时的行为,如何扩展系统 功能,用于构建完整嵌入式 Linux 发行版的常用构建系统,USB 子系统和系统配置工 具 udev 等内容,同时还讲述了构建系统的工作原理,以及怎样将满足项目需求的定制 的内核变化加载到内核中。你会了解用于驱动不同体系结构配置的机制和 Linux 内核 源码树的特性;更重要的是,掌握如何修改系统使之满足自己的需求。除此之外,还深 入探讨了内核

18、命令行参数机制,介绍了它是如何工作的,如何根据需求配置内核运行 时行为,如何扩展系统功能,如何导航内核源代码,如何为相关嵌入式系统的不同任 务配置内核等内容。 (二) 国内外研究现状 基于 Linux 平台已经存在多款多种媒体播放软件,如: Xmovie,Xine,Realplayer,QuickTime,Mplayer 等。其中既有以 RealNetworks 公 司的 RealPlayer 和 Apple 公司的 QuickTime 为代表的商业软件,也有以 Xine、Mpalyer 为代表的自由软件。其中大部分都是具有较强的专用型,但缺乏较好 的移植性,并且主流媒体播放器的设计都是基于桌

19、面平台,虽然功能强大但是用户必 须利用桌面平台,人们更希望有专用播放器来代替 PC 的多媒体功能。随着近几年嵌 入式市场的飞速发展,许多公司都着手进行 2 嵌入式软件的开发和设计,并且已经研 发出多种嵌入式产品,在这当中就包括嵌入式媒体播放器。但是纵观全局,并没有任 何一个嵌入式媒体播放器能够像 Microsoft 公司的 IE 浏览器在桌面浏览器市场中一 样占据嵌入式媒体播放器市场的垄断地位。主要是因为现有的嵌入式系统的发展非常 迅速,而它们当中的播放器大部分都是从桌面电脑系统上移植而来,并没有充分考虑 到嵌入式系统的特殊性,如 Microsoft Windows CE 中附带的播放器就是

20、Windows Media Player 的简化版,所以当前市场上已经出现的多种嵌入式媒体播放器在功能、 速度、显示和易用性等各方面的表现还不尽如人意,总的来说,它们存在的局限性大 致可以分为下面几类: 1) 可扩展的能力不强,大多不具备扩展新媒体类型的功能,或者仅支持新媒体类型的 扩充,不支持传输协议的扩充; 2) 部分播放器虽然可以运行在多种平台上,可移植性和扩展性都比较好,但是其界面 死板,易用性比较差; 3) 部分播放器虽然界面美观、使用方便,具有专用的插件接口,但是不开放源码,并 且只能运行在特定的平台上,所以其移植性不强,扩展性一般。 从以上的几点分析可以看出,一款好的媒体播放器需

21、要功能强大、易于扩展、界 面美观、使用方便,可以通过它达到娱乐或者学习的效果,满足自己的视听享受。目 前嵌入式媒体播放器仍然在不断向前发展,除了继续根据各种音视频编解码标准进行 升级和支持更多的应用外,还在拓展其他的应用模式和领域。例如在手机客户端和浏 览器技术、数字电视机顶盒技术集成,实现完整的数字电视软件平台和 Java 技术、 DSP 技术结合,解决实时性强的动态视频处理;将多媒体技术应用到更多传统的电器领域, 以提供交互式的应用等等。这些都说明嵌入式媒体播放器有着非常广阔的发展前景。 (三) 论文主要完成的工作 本课题所设计的视频播放器是基于 Qt 的应用程序框架。我所要做的首先系统的

22、设 计阶段:主要包括需求分析和概要设计、界面设计等;可扩展性架构的设计:包括环 境的建立、系统的选择、Qt 的安装及相应的环境变量配置、Mplayer 的后台搭建。视 频播放器的代码:主要基于 Qt 对播放器的界面进行开发,并实现播放的功能。 本文在研究了当前音视频编解码技术、主流媒体文件格式、流媒体技术以及常见 的 GUI 系统的基础上,针对嵌入式 Linux 环境下对资源使用的特殊性,采用 GTK+实现 嵌入式媒体播放器的图形用户界面模块,采用 FFMpeg 开源解码库作为播放器的解码 器,它能够支持多种音频和视频编解码标准,通过采用 SDL 来实现对音视频的回放, 最后采用 NC 机作为

23、硬件环境对该播放器进行功能测试,通过测试表明该媒体播放器 符合设计要求,能够满足嵌入式设备的媒体播放要求。 二、 开发平台与开发工具 (一) 开发平台与工具 在系统的设计与开发中,软件开发平台及开发工作是关键。 1.Linux Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 UNIX 工具软件、 应用程序和网络协议。它支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的 设计思想,是一个性能稳定的多用户网络操作系统。 Linux 操作系统诞生于 19

24、91 年的 10 月 5 日,Linux 存在着许多不同的 Linux 版 本,但它们都使用了 Linux 内核。Linux 可安装在各种计算机硬件设备中,比如手机、 平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。 现列举几个常用命令如下: echo 命令 举例:echo $PATH。 功能:将命令行中的参数显示到标准输出中。 date 命令 举例:date。 功能:显示或设置系统时间,没参数直接显示系统当前的日期和时间。 passwd 命令 举例:passwd。 功能:修改密码。 file 命令 举例:file 文件名 【参数】。 功能:确定指定文件类型。 ls 命令 举

25、例 ls -a 显示当前目录下的全部文件(包括隐藏文件)。 功能:列出目录文件。 touch 命令 举例:touch 【选项】 文件名。 功能:修改指定文件的时间标签或者创建一个空文件。 选项:-a 仅改变指定文件的存取时间。 2.Ubuntu Ubuntu(乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南 部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存 在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 基于 Debian 发行版和 GNOME 桌面环境,与 Debian 的不同在于它每 6 个月会发布一个新版本。

26、Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构 建而成的操作系统。Ubuntu 具有庞大的社区力量,用户可以方便地从社区获得帮助。 2013 年 1 月 3 日,Ubuntu 正式发布面向智能手机的移动操作系统。Ubuntu 由 Mark Shuttleworth(马克舍特尔沃斯,亦译为沙特尔沃斯)创立,Ubuntu 以 Debian GNU/Linux 不稳定分支为开发基础,其首个版本于 2004 年 10 月 20 日发布。 Debian 依赖庞大的社区,而不依赖任何商业性组织和个人。Ubuntu 使用 Debian 大量 资源,同时其开发人员作为贡献者

27、也参与 Debian 社区开发。 Ubuntu 是基于 Debian GNU/Linux,支持 x86、amd64(即 x64)和 ppc 架构,由 全球化的专业开发团队(Canonical Ltd)打造的开源 GNU/Linux 操作系统。为桌面虚 拟化提供支持平台。Ubuntu 对 GNU/Linux 的普及特别是桌面普及作出了巨大贡献,由 此使更多人共享开源的成果与精彩。 3.Qt Creator Qt 是一个完整的 C+应用程序开发框架。它包含一个类库,和用于跨平台开发及 国际化的工具。它是诺基亚开发的一个跨平台的 c+图形用户界面应用程序框架。它提供给应 用程序开发者建立艺术级的图形

28、用户界面所需的所用功能。QT 是完全面向对象的,很容易扩 展,并且允许真正地组件变成。Qt Creator 是一个用于 Qt 开发的轻量级跨平台集成开发环境。 Qt Creator 可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境 (IDE), 并确保首次接触 Qt 框架的开发人员能迅速上手和操作。即使不开发 Qt 应用程序,Qt Creator 也是一个简单易用且功能强大的 IDE。 从 1996 年,QT 已经成为全世界范围内数千种成功的应用程序的基础。QT 也是流 行的 Linux 桌面环境 KDE 的基础。基本上,QT 同 X Window 上的 Motif,Open

29、win,GTK 等图形界面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 QT 与其 他开发工具相比,具有优良的跨平台特性、面向对象、丰富的 API、大量的开发文档 等优点。信号和槽机制是 QT 的核心机制,信号和槽是一种高级接口,应用于对象之间 的通信,它是 QT 的核心特性,也是 QT 区别在于其他工具包的重要地方。信号和槽是 QT 自行定义的一种通信机制,它独立于标准的 c/c+语言,因此要挣钱的处理信号和 槽,必须借助一个成为 MOC 的 QT 工具,该工具是一个 c+预处理程序,它可以为高层 次的事件处理自动生成所需要的附加代码。GUI 工具包是

30、构造图形用户界面所使用的 一套按钮、滚动条、菜单和其他对象的集合。提供一个友好的用户界面是 GUI 设计的 一个宗旨,减少用户的负担、满足用户的需求、界面和用户的互动交流也是在 GUI 设 计中其中必不可少的。一个出色的界面不仅能够清晰的勾画出所依托系统的大体结构, 并且能够大大减少操作的工作量和复杂性。在 UNIX 系统里,有很多可供使用的 GUI 库, 其中之一就是 Qt 库-一个基于 C+变成语言的工具包。它具有以下几个优点: (1)可移植性 Qt 的一个主要设计目标是使跨平台程序开发更加直观,便捷并富有趣味性。为了 实现这一目标,Qt 提取了窗口和操作系统的底层基础构造函数,为程序员提

31、供了有意 义的一致逻辑界面。Qt API 在所有支持的平台上都是相同的,Qt 的良好封装机制使 得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间 的协同工作变得十分简单。Qt 支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux, Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD, BSD/OS, SCO, A

32、IX, OS390,QNX 等等。 (2)易用性和健全性 Qt 开发这只需学习一个 API,就能编写在所有平台下运行的程序。统一的跨平台 API 使得程序员只需侧重于程序本身的增值创新,不用担心基础代码构建和多平台应 用的维护和管理。Qt 对不同平台的专门 API 进行了封装,如文件处理、网络,进程处 理、线程、数据库访问等。Qt 软件可以实现多编译器的平稳编译,因此用 Qt 构建的 程序通常是非常健全的。Qt 通过对所有子窗口内存单元分配的处理,简化了内存管理。 程序员只需要侧重于顶层对象的处理。Qt 是一个 C+工具包,它由几百个 C+类构成, 你在程序中可以使用这些类。因为 C+是面向对

33、象的编程语言,而 Qt 是基于 C+构造, 所以 Qt 也具有 OOP 的所有优点。 (3)运行速度 Qt 非常容易使用,且具有很快的速度。这两方面通常不可能同时达到。但当谈论 Qt 时,其易用性和快速则是密不可分的。这一优点要归功于 Qt 开发者的辛苦工作, 他们话费了大量的时间来优化产品。另一个原因是它的表现方式。Qt 是一个 GUI 仿真 工具包,这意味着它不使用任何本地工具包作调用。Qt 使用各自平台上的低级绘图函 数仿真 MS Windows 和 Motif,当然,这能偶提高程序速度。由于 Qt 是基于 C+,速度 快,易于使用,并具有很好的可移植性。所以,当需要开发 UNIX 和

34、MS Windows 环境 下的 GUI 程序时,Qt 是最佳选择。 4.Mplayer 视频播放器是指能播放以数字信号形式存储的视频的软件,也指具有播放视频功 能的电子器件产品。除了少数波形文件外,大多数视频播放器携带解码器以还原经过 压缩的媒体文件,视频播放器还要内置一整套转换频率以及缓冲的算法。 MPlayer 是一款开源多媒体播放器,以 GNU 通用公共许可证发布。此款软件可在 各主流作业系统使用,例如 Linux 和其他类 Unix 系统、Windows 及 Mac OS X 系统。 MPlayer 建基于命令行界面,在各作业系统也可选择安装不同的图形界面。它的另一 个大的特色是广泛

35、的输出设备支持。大部分视频和音频格式都能通过 FFmpeg 项目的 libavcodec 函数库本地支持。对于那些没有开源解码器的格式,MPlayer 使用二进制 的函数库。它能直接使用 Windows 的 DLL。专有的 CSS 解析软件和相关格式使 MPlayer 成为被众多开放源代码播放器所使用的后端。 MPlayer 的开发始于 2000 年。最初的作者是 Arpad Gereoffy。MPlayer 最初的名 字叫MPlayer - The Movie Player for Linux,不过后来开发者们简称其为 MPlayer - The Movie Player,原因是 MPlay

36、er 已经不仅可以用于 Linux 而可以在 所有平台上运行。第一个版本被称为 mpg12play v0.1,并且将 libmpeg3 在一个半小 时之内集成到其中。之后的版本 mpg12play v0.95pre5 里被加入了基于 avifile 的 Win32 DLL loader 的 AVI 播放功能,从 2000 年 11 月 MPlayer v0.3 之后的版本都一 直保留着该功能。最初绝大多数的开发者都来自于匈牙利,开发者遍布全球。自从 2003 年 Alex Beregszszi 开始接替准备开发第二代 MPlayer 的rpd Gereffy 来维护该项目。MPlayer G2

37、 由于多种原因暂停开发。 Mplayer 的特色主要有以下几个: (1)内置多种解码器 MPlayer 本身编译自带了多种类型的解码器,不需要再安装 xvid、ffdshow、ac3filter、ogg、vobsub 等等所谓看 DVDrip 必备解码器,也不会跟 你的电脑原来所安装的解码器 有任何冲突。 (2)拖动极速播放器 MPlayer 相对其它播放器来说, 资源占用非常少,不需要任何系统解码器就可以 播放各种媒体格式,对于 MPEG/XviD/DivX 格式的文件支持尤其好,不仅拖动播放速度 快得不可思议, 而且播放破损文件时的效果也好得出奇,在低配置的机器上使用更是 能凸显优势。 (

38、3)强大的音频支持 MPlayer 广泛地支持音视频输出驱动。它不仅可以使用 X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、libcaca、DirectFB、Quartz、Mac OSXCoreVideo,也能使用 GGI,SDL(及它们的所有驱动),所有 VESA 兼容显卡上的 VESA(甚至不需要 X11),某些低级的显卡相关的驱动(如 Matrox、3dfx 及 ATI)和 一些硬件 MPEG 解码器卡,比如 SiemensDVB、HauppaugePVR(IVTV)、DXR2 和 DXR3/Hollywood+。它们中绝大多数支持软件或硬件缩放,所以你可

39、以享受全屏电影。 (4)OSD 功能 MPlayer 具有 OSD(屏上显示)功能显示状态信息,有抗锯齿带阴影的漂亮大字幕和 键盘控制的可视反馈。支持的字体包括欧洲语种/ISO8859 -1,2(匈牙利语、英语、捷 克语等等),西里尔语和韩语,可以播放 12 种格式的字幕文件 (MicroDVD、SubRip、OGM、SubViewer、Sami、VPlayer、RT、SSA、AQTitle、JACOsu b、PJS 及我们自己的:MPsub)和 DVD 字幕(SPU 流、VOBsub 及隐藏式 CC 字幕)。 (5)MEncoder MEncoder(MPlayers Movie Encod

40、er)是一个简单的电影编码器,设计用来把 MPlayer 可以播放的电影 (AVI/ASF/OGG/DVD/VCD/VOB/MPG/MOV/VIV/FLI/RM/NUV/NET/PVA)编码成别的 MPlayer 可以播放的格式。它可以使用各种编解码器进行编码,例如 DivX4(1 或 2 passes)、libavcodec、PCM/MP3/VBR MP3 音频。同时也有强大的插件系统用于控制 视频。 (二) 相关技术 1.音视频编解码技术 音视频压缩编解码技术是媒体播放器的核心技术之一,通常使用在计算机、数据 库、通信、数字电视和交互式系统中的关键多媒体技术。从目前的主要的压缩编解码 技术

41、来看,虽然被人们经常应用的技术有很多种,但是得到广泛的市场认可的主要标 准有国际标准化组织(ISO)的 MPEG(Moving Pict=ures Experts Group)系列标准、 国际电信联盟(ITU)和国际标准化组织联合提出的 H.264 标准、以及 Microsoft 的 WMV 标准,以下是对这三种标准技术的介绍。 (1) MPEG 标准 MPEG(动态图像专家组)成立于 1988 年,它是视频编码标准中一个大的集合, 也是我们平时日常生活当中所见到的最普遍的视频标准。MPEG 标准主要有以下五个, MPEG-1、MPEG-2、MPEG-4、MPEG-7 及 MPEG-21 等。

42、MPEG 标准的视频压缩编码技术主要 利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用 DCT 技术以减小图 像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。这几种技术的综 合运用,大大增强了压缩性能。该专家组建于 1988 年,专门负责为 CD 建立视频和音 频标准,而成员是为视频、音频及系统领域的技术专家。他们成功将声音和影像的记 录脱离了传统的模拟方式,制定出 MPEG-格式,从此视听传播方面进入了数码化时代。 MPEG-1 音视频压缩是为了储存和发布数字音视频而建立起来的压缩格式。它制定 于 1992 年,是为工业级标准而设计,可适用于不同带宽的设备,如 CD-R

43、OM、Video- CD、CD-i。它可针对 SIF 标准分辨率(对于 NTSC 制为 352240;对于 PAL 制为 352288)的图象进行压缩,传输速率为 1.5Mbits/sec,每秒播放 30 帧,具有 CD(指激光唱盘)音质,质量级别基本与 VHS 相当。MPEG-1 也被用于数字电话网络上 的视频传输,如非对称数字用户线路(ADSL),视频点播(VOD),以及教育网络等。 MPEG-2 音视频编码是在 MPEG-1 基础上的扩展,MPEG-2 能适应高码流的要求,特别 适合高清电视(HDTV),其可支持的码流为 1.5-60Mbps。MPEG-2 的音频编码可提供 左右中及两个

44、环绕声道,以及一个加重低音声道,和多达 7 个伴音声道(DVD 可有 8 种语言配音的原因),MPEG-2 还可用于为广播,有线电视网,电缆网络以及卫星直播 (Direct Broadcast Satellite)提供广播级的数字视频。MPEG-2 的其中一个特点是 可提供一个较广的范围改变压缩比,以适应不同画面质量、存储容量、以及带宽的要 求。为适应在互联网上多媒体数据的灵活传输,ISO/IEC 于 1998 年又发布了 MPEG-4 标准, MPEG-4 是基于音/视频对象的可分级编码技术,其码率可从 5Kbps-2Mbps 的 范围内变化,它综合了数字电视、交互图形学和 Internet

45、 等领域的技术。它在要求 高效压缩编码的同时,强调多媒体网络通信的灵活性和交互性。这个标准主要应用于 视像电话、视像电子邮件和电子新闻等,对传输速率要求较低。MPEG-4 利用很窄的带 宽,通过帧重建技术进行数据压缩,以求用最少的数据获得最佳的图像质量。与 MPEG-1 和 MPEG-2 相比,MPEG-4 的优点是特别针对低带宽等条件设计算法,所以 MPEG-4 的压缩比更高,使低码率的视频传输成为可能。在公用电话线上可以连续传输 视频,并能保持图像的质量,这是其它技术做不到的。其次它节省存储空间,在同等 条件如场景、图像格式和压缩分辨率条件下,经过编码处理的图像文件越小,所占用 的存储空间

46、越小。由于 MPEG-4 算法较 MPEG-1、MPEG-2 更为优化,因而在压缩效率 上更高。 (2) H.264 标准 H.264 是在早期视频编码标准的运动补偿转换编码范例基础上创建的。它是 ITU- T 的 VCEG(视频编码专家组)和 ISO/IEC 的 MPEG(活动图像编码专家组)组成的联 合视频组(Joint Video Team,JVT)开发的一个新的数字视 6 频编码标准,它既是 ITU-T 的 H.264,又是 ISO/IEC 的 MPEG-4 的第 10 部分。H.264 较早期的 MPEG-2 标准相比,该标准大大降低了比特速率。该技术不受早期标准所用构建模块的制约,

47、 整个技术的设计无需后向兼容性。H.264 提供的一些可提高压缩效率的重要编码工具 有:改进型空间交互预报、增强型时间预报(通过四分之一采样运动补偿、可变模块 大小运动补偿、多重假设运动补偿和加权预测工具实现)、高效的基于上下文的熵编 码(通过变长度编码或二进制运算编码工具实现)以及内环内容和编码模式适应性解 锁滤波。实验表明,要实现相近的视觉质量,同 MPEG-4ASP 编码相比,H.264 把比特 速率降低了 35%到 50%,同 MPEG-2 相比,降低了 40%到 65%。另外,同 MPEG-4 SP 相比,H.264 BP 可以在宽广的比特速率范围内把峰值信噪比降低 50%以上。 (

48、3) WMV 标准 WMV(Windows Media Video)标准,是 Microsoft 公司所推出的一种采用独立编 码方式并且可以直接在网上实时观看视频节目的文件压缩格式。由 WMV 标准生成的文 件一般同时包含视频和音频部分。视频部分使用 Windows Media Video 编码,音频部 分使用 Windows Media Audio 编码。它是在 Microsoft 公司的另外一种文件格式 ASF(Advanced Stream Format)升级延伸而来得。它作为一种经久不衰的音视频编码 标准,一直在不断的改进。WMV 格式的主要优点包括:本地或网络回放、可扩充的媒 体类型

49、、部件下载、可伸缩的媒体类型、流的优先级化、多语言支持、环境独立性、 丰富的流间关系以及扩展性等。 2.主流媒体文件格式 目前的主流媒体文件格式有:avi、Real Media 的 rm 和 rmvb 格式,Windows Media 的 asf、wmv 格式,mp4 和 3gp,QuickTime 的 qt 格式等。下面将对上述几种 媒体文件格式进行简要的分析。 (1)avi 格式 Avi 英文全程是 Audio VideoInterleaved,即“音频视频交错”,就是可以将视 频和音频交织在一起进行同步播放,可以跨多个平台使用。文件体积过大是他的缺陷, 而且压缩标准不统一,因此经常会遇到

50、高版本 Windows 媒体播放器播放不了采用早期 编码编辑的 AVI 格式视频,而低版本 Windows 媒体播放器又播放不了采用最新编码编 辑的 AVI 格式视频。所以在使用时常常需要临时下载更新编码编辑器。 (2) Real Media 的 rm 和 rmvb 格式 Real Media 是 RealNetworks 公司所开发的流式音频、视频文件格式,主要用来 在低速率的网络上实时传播活动视频影像,可以根据网络数据传输速率的不同而 7 采 用不同的压缩比率,从而实现影像数据的实时传播和播放。Real Media 包括: rm(RealVideo)、ra(RealAudio)和 Real

51、Flash 三类文件。rm 用来传播连续视频 数据,ra 用来传播 CD 音质的音频数据,而 Real Flash 则是 RealNetworks 公司与 Macromedia 公司共同推出的采用矢量技术的动画格式。作为最早的 Internet 流式技 术,在音视频方面 Real Media 已成为事实上的网络音视频播放标准。 RMVB 这是一种由 RM 视频格式升级延伸出的新视频格式,它的先进之处在于 RMVB 视频格式打破了原先 RM 格式那种平均压缩采样的方式,在保证平均压缩比的基础上合 理利用比特率资源,就是说静止和动作场面少的画面场景采用较低的编码速率,这样 可以留出更多的带宽空间,

52、而这些带宽会在出现快速运动的画面场景时被利用。这样 在保证了静止画面质量的前提下,大幅地提高了运动图像的画面质量,从而图像质量 和文件大小之间就达到了微妙的平衡。 (3) Windows Media 的 asf 、wmv 格式 ASF 是(Advanced Streaming Format 高级串流格式)的缩写,是 Microsoft 为 Windows 98 所开发的串流多媒体文件格式。Windows Media 是 Microsoft 提出的信息 流式播放方案。其核心是 ASF(Advanced Stream Format)文件,是一种包含音频、 视频、图像以及控制命令、脚本等多媒体信息的

53、数据格式。这个词汇当前可和 WMA 及 WMV 互换使用。ASF 支持任意的压缩/解压缩编码方式,并可以使用任何一种底层网络 传输协议,具有很大的灵活性。并将 ASF 用作 Windows 版本中多媒体内容的标准文 件格式,这无疑将对 Internet 特别是流式技术的应用和发展产生重大影响。ASF 最 大优点就是体积小,因此适合网络传输,也同样适于在本地播放。用户可以将图形、声 音和动画数据组合成一个 ASF 格式的文件,当然也可以将其他格式的视频和音频转换 为 ASF 格式,而且用户还可以通过声卡和视频捕获卡将诸如麦克风、录像机等等外设 的数据保存为 ASF 格式。WMV 是微软推出的一种

54、流媒体格式,它是在“同门”的 ASF(AdvancedStreamFormat)格式升级延伸来得。在同等视频质量下,WMV 格式的体积非常 小,因此很适合在网上播放和传输。WMV 不是仅仅基于微软公司的自有技术开发的。从第 七版(WMV1)开始,微软公司开始使用它自己非标准 MPEG-4Part2。但是,由于 WMV 第九版已经是 SMPTE 的一个独立标准(421M,也称为 VC-1),所以 WMV 的发展已经不 象 MPEG-4 那样是一个它自己专有的编解码技术。 (4)Mp4 和 3pg 目前 MP4 最流行使用的压缩方式为 MPEG-4。移动手持设备视频多数支持此格式, 但由于硬件平台

55、的没有统一的标准,软件系统也是由厂商自行设计,各种设备可播放 的 MP4 编码方式也不同。 3gp 使用 MPEG-4 或 H.263 两种影片编码方式,以及 AMR-NB 或 AAC-LC 两种声音 储存方式,可以将影片以更经济的方式存放在手机或是其他行动装置里,所以它最大 的优点就是:容量小。 (5) QuickTime 的 qt 格式 QuickTime 的 qt 格式是 Apple 公司于 1991 年推出的能在计算机上播放高品质 视频图像的技术,它几乎支持所有主流的个人计算平台和各种格式的静态图像文件、 视频和动画格式,支持 RLC、JPEG 等领先的集成压缩技术,提供了大约 150

56、 多种视 频效果。具有内置 Web 浏览器插件(Plug-in)技术,支持 IETF 流标准以及 FTP 和 HTTP 等网络协议,现已成为是数字媒体领域的工业标准。 QuickTime 的 qt 电影文 件格式定义了存储数字媒体内容的标准方法,不仅可以存储单个的媒体内容(如视频 帧或音频采样),而且能保存对该媒体作品的完整描述;QuickTime 的 qt 文件格式 被设计用来适应为与数字化媒体一同工作需要存储的各种数据。因为这种文件格式能 用来描述几乎所有的媒体结构,所以它是应用程序间(不管运行平台如何)交换数据 的理想格式。qt 文件格式中媒体描述和媒体数据是分开存储的,媒体描述或元数据

57、 (meta-data)叫做电影(movie),包含轨道数目、视频压缩格式和时间信息。同时 movie 包含媒体数据存储区域的索引。媒体数据是所有的采样数据,如视频帧和音频 采样,媒体数据可以与 QuickTime movie 存储在同一个文件中,也可以在一个单独的 文件或者在几个文件中。 3.流媒体技术 流媒体是指在 Internet/Intranet 中使用流式传输技术的连续时基媒体,如音频、 视频等多媒体文件。在网络上传统的多媒体文件的传输方式,基本上只有文本、图像 可以按照原格式在网上传输,动画、音频、视频等虽然可以直接在网上播放,但文件 偏大,即使使用专线上网,也要等完全下载后才能观

58、看。流式传输方式可将视频、音 频、动画等多媒体文件经编码工具的特殊处理,分成一个个压缩包,由流媒体服务器 向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必等到整个文 件全部下载完毕,只需经过几秒或几十秒的启动延迟即可观看,文件的其余部分将在 后台服务器继续下载。该技术首先在用户端的计算机上创建一个缓冲区,预先下载多 媒体文件的部分数据作为缓冲,播放程序读取缓冲区内的数据进行播放。在播放的同 时,用户计算机在后台继续下载多媒体文件的剩余部分填充缓冲区。这样,当网络出 现抖动(Jitter),实际连线速度小于播放消耗数据速度时,可以避免播放的中断, 也使得播放质量得以维持。流媒体技

59、术是为解决以 Internet 为代表的中低带宽网络 上多媒体信息传输问题而产生、发展起来的一种网络新技术,可适应从窄带到宽带任 意的网络带宽。 目前,实现流媒体传输主要有两种方式:实时流(realtime streaming)传输和 顺序流(progressive streaming)传输。一般来说,如使用 HTTP 服务器,文件即通 过顺序流发送,即为顺序流传输。如视频为实时广播,或使用流传输媒体服务器,或 应用如 RTSP 的实时协议,即为实时流传输。采用哪种传输方式依赖于不同需求,两 种方式有着不同特点: 顺序流传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻, 用户只能

60、观看自己下载的那部分,而不能跳到还未下载的部分,顺序流传输不像实时 流在传输期间根据用户连接的速度做调整。由于标准的 HTTP 服务器可发送这种形式 的文件,不需要其他协议,它经常被称作 HTTP 流传输。顺序流传输比较适合高质量 的短片段,如片头、片尾和广告。由于文件传输是无损下载的,这种方法保证电影播 放的最终质量。这意味着用户在观看前,必须经历延时,对较慢的连接尤其如此。 实时流传输保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实时流 媒体传输需要专用的流媒体服务器与传输协议。实时流传输总是实时传送,特别适合 现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。其必

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论