毕业设计(论文)-Linux电影播放器设计与实现.doc_第1页
毕业设计(论文)-Linux电影播放器设计与实现.doc_第2页
毕业设计(论文)-Linux电影播放器设计与实现.doc_第3页
毕业设计(论文)-Linux电影播放器设计与实现.doc_第4页
毕业设计(论文)-Linux电影播放器设计与实现.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

iLinux电影播放器设计与实现摘要当今社会,随着IT技术的发展和人们文化水平的提高,越来越多的人关注精神生活水平的提升,视频成为必不可少的一部分。嵌入式设备也无疑已经成为最热门概念之一,丰富了我们的生活,它的功能不断提高使得发展更加迅速,市场上播放设备也越来越多。所以很多人往往注重外观的同时也注重嵌入在其中的软件操作体验。本课题将首先了解Linux下嵌入式应用程序开发流程。以嵌入式视频播放器需求大的社会为背景,提出了在Linux下的视频播放器,具体是基于QT的架构设计。论文给出一种嵌入式系统中音频视频同步的解决方案,有效提高嵌入式多媒体播放系统的音频视频同步的功能,在此基础上设计并实现了基于Linux。Qt的嵌入式视频播放器,实现基于QT的嵌入式视频播放器系统。在本设计中,提出基于mplayer播放器下,给用户一个基本的操作界面,实现对mplayer的相关功能的操作,如暂停,快进,速度的调整等功能。关键词:Qt;视频播放器;嵌入式全套设计加扣3012250582iiDesignandimplementationofLinuxmovieplayerAbstract:SocietywiththedevelopmentofITtechnologiesaswellaseconomicdevelopmentandraisethelevelofspiritualcivilizationmorenandmorepeopleareincreasinglyawareofthespiritofenjoymentoflife.Videoisthepreferredchoiceofthepeople.Embeddeddevicescertainlybecomeoneofthemostpopularconceptandenrichourlives.Itsfunctionconstantlyimprovemakesdevelopmentmorerapidlyplaybackdevicesonthemarketisalsomoreandmore.Soalotofpeopleoftenpayattentiontoappearanceatthesametimealsopayattentiontoembeddedsoftwareoperatingexperienceinit.ThistopicwillbethefirsttoknowunderLinuxembeddedapplicationdevelopmentprocess.EmbeddedvideoplayerondemandofsocietyasthebackgroundputsforwardthevideoplayerunderLinuxconcreteisbasedonthearchitecturedesignofQT.PapergivesakindofembeddedsystemsaudiovideosynchronizationsolutioneffectivelyimprovetheaudiovideosynchronizationofembeddedmultimediabroadcastsystemonthisbasisdesignedandimplementedbasedonLinux.QtembeddedvideoplayertherealizationofembeddedvideoplayersystembasedonQt.Inthisdesignbasedonmplayerplayergiveusersabasicoperatinginterfaceimplementationtotheoperationofthemplayerrelatedfunctionssuchasfastforwardupanddownthevideoswitchetc.KeyWords:QtVideoplayerEmbeddeddevice.目录摘要.IABSTRACT:.II一、绪论.1(一)研究背景.1(二)国内外研究现状.1(三)论文主要完成的工作.2二、开发平台与开发工具.3(一)开发平台与工具.31.Linux.32.Ubuntu.33.QtCreator.44.Mplayer.5(二)相关技术.61.音视频编解码技术.62.主流媒体文件格式.83.流媒体技术.9(三)嵌入式图形用户界面.12三、播放器的设计.15(一)流程设计.151.播放器的系统结构.15(二)界面设计.15(三)模块设计.161.输入模块.162.输出模块.163.插件接口模块.164.解码库模块.17四、播放器功能的实现.18(一)界面的详细开发过程:.181.设置界面大小.182.声明槽函数.183.声明及添加按钮:.194.声明及定义Qprocess.19(二)各功能的实现:.191.文件打开功能.192.选择一个或者多个文件及目录,如下图所示:.203.播放、暂停功能.214.选择上一个下一个播放文件.225.选择播放时间点功能:.236.设置速度.24五、软件测试和改进思想.25(一)软件测试.251.测试方案.252.测试用例.253.测试结果.26(二)改进思想.26结论.27致谢.29外文文献:.30译文:.331一、绪论(一)研究背景现如今随着计算机在各个领域的广泛应用,视频播放器在如今社会已融入到人们生活的各个方面,不仅仅是娱乐,在工作和学习中也拥有不可忽视的地位多数都支持常见的媒体格式、.mp4、.avi、rm、.rmvb等。随着C语言的发展和嵌入式系统技术的推广,音频解码技术、存储器技术愈发成熟。在嵌入式系统低端应用中存在着大量的小型嵌入式应用系统,基于Linux下的视频播放器就是其中一员,由于能满足人们视听享受已成为热门,随着Qt的发展,基于Qt开发的程序成本大大降低,Qt也越来越稳定。同时Qt强大的开发功能和可移植性实现了多平台的兼容性,可以很快移植到其他平台,从而节约了开发周期和成本,促进嵌入式设备的开发水平。因此基于Qt的嵌入式系统中实现视频播放器具有深刻的意义和价值。本文将设计并实现一款界面清楚明了,操作简单,支持多种格式媒体。该播放器的主要功能是播放一些常见的视频的格式文件,在功能上达到简单易行,消耗资源少。主要实现的功能:文件控制(主要用于添加播放文件);播放控制(控制视频的播放状态)。声音控制(调整音量的大小);显示控制(若播放的是视频文件应当显示图像,可以进行按比例播放或者全屏)。在文献中都详细介绍了嵌入式多媒体播放器的设计与实现的各种解决方法。如由ChristopherHallinan.编写的嵌入式Linux基础教程(第2版)(英文版)中介绍了引导加载程序、系统初始化、文件系统、闪存和内核、应用程序调试技巧等,还讲述了构建Linux系统的工作原理,用于驱动不同架构的配置,Linux内核源码树的特性,如何根据需求配制内核运行时的行为,如何扩展系统功能,用于构建完整嵌入式Linux发行版的常用构建系统,USB子系统和系统配置工具udev等内容,同时还讲述了构建系统的工作原理,以及怎样将满足项目需求的定制的内核变化加载到内核中。你会了解用于驱动不同体系结构配置的机制和Linux内核源码树的特性更重要的是,掌握如何修改系统使之满足自己的需求。除此之外,还深入探讨了内核命令行参数机制,介绍了它是如何工作的,如何根据需求配置内核运行时行为,如何扩展系统功能,如何导航内核源代码,如何为相关嵌入式系统的不同任务配置内核等内容。(二)国内外研究现状基于Linux平台已经存在多款多种媒体播放软件,如:Xmovie,Xine,Realplayer,QuickTime,Mplayer等。其中既有以RealNetworks公司的RealPlayer和Apple公司的QuickTime为代表的商业软件,也有以Xine、Mpalyer为代表的自由软件。其中大部分都是具有较强的专用型,但缺乏较好的移植性,并且主流媒体播放器的设计都是基于桌面平台,虽然功能强大但是用户必须利用桌面平台,人们更希望有专用播放器来代替PC的多媒体功能。随着近几年嵌入式市场的飞速发展,许多公司都着手进行2嵌入式软件的开发和设计,并且已经研发出多种嵌入式产品,在这当中就包括嵌入式媒体播放器。但是纵观全局,并没有任何一个嵌入式媒体播放器能够像Microsoft公司的IE浏览器在桌面浏览器市场中一样占据嵌入式媒体播放器市场的垄断地位。主要是因为现有的嵌入式系统的发展非常2迅速,而它们当中的播放器大部分都是从桌面电脑系统上移植而来,并没有充分考虑到嵌入式系统的特殊性,如MicrosoftWindowsCE中附带的播放器就是WindowsMediaPlayer的简化版,所以当前市场上已经出现的多种嵌入式媒体播放器在功能、速度、显示和易用性等各方面的表现还不尽如人意,总的来说,它们存在的局限性大致可以分为下面几类:1)可扩展的能力不强,大多不具备扩展新媒体类型的功能,或者仅支持新媒体类型的扩充,不支持传输协议的扩充;2)部分播放器虽然可以运行在多种平台上,可移植性和扩展性都比较好,但是其界面死板,易用性比较差;3)部分播放器虽然界面美观、使用方便,具有专用的插件接口,但是不开放源码,并且只能运行在特定的平台上,所以其移植性不强,扩展性一般。从以上的几点分析可以看出,一款好的媒体播放器需要功能强大、易于扩展、界面美观、使用方便,可以通过它达到娱乐或者学习的效果,满足自己的视听享受。目前嵌入式媒体播放器仍然在不断向前发展,除了继续根据各种音视频编解码标准进行升级和支持更多的应用外,还在拓展其他的应用模式和领域。例如在手机客户端和浏览器技术、数字电视机顶盒技术集成,实现完整的数字电视软件平台和Java技术、DSP技术结合,解决实时性强的动态视频处理;将多媒体技术应用到更多传统的电器领域,以提供交互式的应用等等。这些都说明嵌入式媒体播放器有着非常广阔的发展前景。(三)论文主要完成的工作本课题所设计的视频播放器是基于Qt的应用程序框架。我所要做的首先系统的设计阶段:主要包括需求分析和概要设计、界面设计等;可扩展性架构的设计:包括环境的建立、系统的选择、Qt的安装及相应的环境变量配置、Mplayer的后台搭建。视频播放器的代码:主要基于Qt对播放器的界面进行开发,并实现播放的功能。本文在研究了当前音视频编解码技术、主流媒体文件格式、流媒体技术以及常见的GUI系统的基础上,针对嵌入式Linux环境下对资源使用的特殊性,采用GTK+实现嵌入式媒体播放器的图形用户界面模块,采用FFMpeg开源解码库作为播放器的解码器,它能够支持多种音频和视频编解码标准,通过采用SDL来实现对音视频的回放,最后采用NC机作为硬件环境对该播放器进行功能测试,通过测试表明该媒体播放器符合设计要求,能够满足嵌入式设备的媒体播放要求。3二、开发平台与开发工具(一)开发平台与工具在系统的设计与开发中,软件开发平台及开发工作是关键。1.LinuxLinux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991年的10月5日,Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。现列举几个常用命令如下:echo命令举例:echo$PATH。功能:将命令行中的参数显示到标准输出中。date命令举例:date。功能:显示或设置系统时间,没参数直接显示系统当前的日期和时间。passwd命令举例:passwd。功能:修改密码。file命令举例:file文件名【参数】。功能:确定指定文件类型。ls命令举例ls-a显示当前目录下的全部文件(包括隐藏文件)。功能:列出目录文件。touch命令举例:touch【选项】文件名。功能:修改指定文件的时间标签或者创建一个空文件。选项:-a仅改变指定文件的存取时间。2.UbuntuUbuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu基于Debian发行版和GNOME桌面环境,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。2013年1月3日,Ubuntu正式发布面向智能手机的移动操作系统。Ubuntu由Mark4Shuttleworth(马克舍特尔沃斯,亦译为沙特尔沃斯)创立,Ubuntu以DebianGNULinux不稳定分支为开发基础,其首个版本于2004年10月20日发布。Debian依赖庞大的社区,而不依赖任何商业性组织和个人。Ubuntu使用Debian大量资源,同时其开发人员作为贡献者也参与Debian社区开发。Ubuntu是基于DebianGNULinux,支持x86、amd64(即x64)和ppc架构,由全球化的专业开发团队(CanonicalLtd)打造的开源GNULinux操作系统。为桌面虚拟化提供支持平台。Ubuntu对GNULinux的普及特别是桌面普及作出了巨大贡献,由此使更多人共享开源的成果与精彩。3.QtCreatorQt是一个完整的C+应用程序开发框架。它包含一个类库,和用于跨平台开发及国际化的工具。它是诺基亚开发的一个跨平台的c+图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。QT是完全面向对象的,很容易扩展,并且允许真正地组件变成。QtCreator是一个用于Qt开发的轻量级跨平台集成开发环境。QtCreator可带来两大关键益处:提供首个专为支持跨平台开发而设计的集成开发环境(IDE),并确保首次接触Qt框架的开发人员能迅速上手和操作。即使不开发Qt应用程序,QtCreator也是一个简单易用且功能强大的IDE。从1996年,QT已经成为全世界范围内数千种成功的应用程序的基础。QT也是流行的Linux桌面环境KDE的基础。基本上,QT同XWindow上的Motif,Openwin,GTK等图形界面库和Windows平台上的MFC,OWLVCLATL是同类型的东西,但是QT与其他开发工具相比,具有优良的跨平台特性、面向对象、丰富的API、大量的开发文档等优点。信号和槽机制是QT的核心机制,信号和槽是一种高级接口,应用于对象之间的通信,它是QT的核心特性,也是QT区别在于其他工具包的重要地方。信号和槽是QT自行定义的一种通信机制,它独立于标准的cc+语言,因此要挣钱的处理信号和槽,必须借助一个成为MOC的QT工具,该工具是一个c+预处理程序,它可以为高层次的事件处理自动生成所需要的附加代码。GUI工具包是构造图形用户界面所使用的一套按钮、滚动条、菜单和其他对象的集合。提供一个友好的用户界面是GUI设计的一个宗旨,减少用户的负担、满足用户的需求、界面和用户的互动交流也是在GUI设计中其中必不可少的。一个出色的界面不仅能够清晰的勾画出所依托系统的大体结构,并且能够大大减少操作的工作量和复杂性。在UNIX系统里,有很多可供使用的GUI库,其中之一就是Qt库-一个基于C+变成语言的工具包。它具有以下几个优点:(1)可移植性Qt的一个主要设计目标是使跨平台程序开发更加直观,便捷并富有趣味性。为了实现这一目标,Qt提取了窗口和操作系统的底层基础构造函数,为程序员提供了有意义的一致逻辑界面。QtAPI在所有支持的平台上都是相同的,Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt提供了一种称为signalsslots的安全类型来替代callback,这使得各个元件之间的协同工作变得十分简单。Qt支持下列操作系统:MicrosoftWindows9598,MicrosoftWindowsNT,Linux,Solaris,SunOS,HP-UX,DigitalUNIX(OSF1,Tru64),Irix,FreeBSD,BSDOS,SCO,AIX,OS390,QNX等等。(2)易用性和健全性5Qt开发这只需学习一个API,就能编写在所有平台下运行的程序。统一的跨平台API使得程序员只需侧重于程序本身的增值创新,不用担心基础代码构建和多平台应用的维护和管理。Qt对不同平台的专门API进行了封装,如文件处理、网络,进程处理、线程、数据库访问等。Qt软件可以实现多编译器的平稳编译,因此用Qt构建的程序通常是非常健全的。Qt通过对所有子窗口内存单元分配的处理,简化了内存管理。程序员只需要侧重于顶层对象的处理。Qt是一个C+工具包,它由几百个C+类构成,你在程序中可以使用这些类。因为C+是面向对象的编程语言,而Qt是基于C+构造,所以Qt也具有OOP的所有优点。(3)运行速度Qt非常容易使用,且具有很快的速度。这两方面通常不可能同时达到。但当谈论Qt时,其易用性和快速则是密不可分的。这一优点要归功于Qt开发者的辛苦工作,他们话费了大量的时间来优化产品。另一个原因是它的表现方式。Qt是一个GUI仿真工具包,这意味着它不使用任何本地工具包作调用。Qt使用各自平台上的低级绘图函数仿真MSWindows和Motif,当然,这能偶提高程序速度。由于Qt是基于C+,速度快,易于使用,并具有很好的可移植性。所以,当需要开发UNIX和MSWindows环境下的GUI程序时,Qt是最佳选择。4.Mplayer视频播放器是指能播放以数字信号形式存储的视频的软件,也指具有播放视频功能的电子器件产品。除了少数波形文件外,大多数视频播放器携带解码器以还原经过压缩的媒体文件,视频播放器还要内置一整套转换频率以及缓冲的算法。MPlayer是一款开源多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流作业系统使用,例如Linux和其他类Unix系统、Windows及MacOSX系统。MPlayer建基于命令行界面,在各作业系统也可选择安装不同的图形界面。它的另一个大的特色是广泛的输出设备支持。大部分视频和音频格式都能通过FFmpeg项目的libavcodec函数库本地支持。对于那些没有开源解码器的格式,MPlayer使用二进制的函数库。它能直接使用Windows的DLL。专有的CSS解析软件和相关格式使MPlayer成为被众多开放源代码播放器所使用的后端。MPlayer的开发始于2000年。最初的作者是ArpadGereoffy。MPlayer最初的名字叫MPlayer-TheMoviePlayerforLinux,不过后来开发者们简称其为MPlayer-TheMoviePlayer,原因是MPlayer已经不仅可以用于Linux而可以在所有平台上运行。第一个版本被称为mpg12playv0.1,并且将libmpeg3在一个半小时之内集成到其中。之后的版本mpg12playv0.95pre5里被加入了基于avifile的Win32DLLloader的AVI播放功能,从2000年11月MPlayerv0.3之后的版本都一直保留着该功能。最初绝大多数的开发者都来自于匈牙利,开发者遍布全球。自从2003年AlexBeregszszi开始接替准备开发第二代MPlayer的AacuterpdGereoumlffy来维护该项目。MPlayerG2由于多种原因暂停开发。Mplayer的特色主要有以下几个:(1)内置多种解码器MPlayer本身编译自带了多种类型的解码器,不需要再安装xvid、ffdshow、ac3filter、ogg、vobsub等等所谓看DVDrip必备解码器,也不会跟你的电脑原来所安装的解码器有任何冲突。6(2)拖动极速播放器MPlayer相对其它播放器来说,资源占用非常少,不需要任何系统解码器就可以播放各种媒体格式,对于MPEGXviDDivX格式的文件支持尤其好,不仅拖动播放速度快得不可思议,而且播放破损文件时的效果也好得出奇,在低配置的机器上使用更是能凸显优势。(3)强大的音频支持MPlayer广泛地支持音视频输出驱动。它不仅可以使用X11、Xv、DGA、OpenGL、SVGAlib、fbdev、AAlib、libcaca、DirectFB、Quartz、MacOSXCoreVideo,也能使用GGISDL(及它们的所有驱动),所有VESA兼容显卡上的VESA(甚至不需要X11),某些低级的显卡相关的驱动(如Matrox、3dfx及ATI)和一些硬件MPEG解码器卡,比如SiemensDVB、HauppaugePVR(IVTV)、DXR2和DXR3Hollywood+。它们中绝大多数支持软件或硬件缩放,所以你可以享受全屏电影。(4)OSD功能MPlayer具有OSD(屏上显示)功能显示状态信息有抗锯齿带阴影的漂亮大字幕和键盘控制的可视反馈。支持的字体包括欧洲语种ISO8859-12(匈牙利语、英语、捷克语等等)西里尔语和韩语可以播放12种格式的字幕文件(MicroDVD、SubRip、OGM、SubViewer、Sami、VPlayer、RT、SSA、AQTitle、JACOsub、PJS及我们自己的:MPsub)和DVD字幕(SPU流、VOBsub及隐藏式CC字幕)。(5)MEncoderMEncoder(MPlayersMovieEncoder)是一个简单的电影编码器,设计用来把MPlayer可以播放的电影(AVIASFOGGDVDVCDVOBMPGMOVVIVFLIRMNUVNETPVA)编码成别的MPlayer可以播放的格式。它可以使用各种编解码器进行编码,例如DivX4(1或2passes)、libavcodec、PCMMP3VBRMP3音频。同时也有强大的插件系统用于控制视频。(二)相关技术1.音视频编解码技术音视频压缩编解码技术是媒体播放器的核心技术之一,通常使用在计算机、数据库、通信、数字电视和交互式系统中的关键多媒体技术。从目前的主要的压缩编解码技术来看,虽然被人们经常应用的技术有很多种,但是得到广泛的市场认可的主要标准有国际标准化组织(ISO)的MPEG(MovingPict=uresExpertsGroup)系列标准、国际电信联盟(ITU)和国际标准化组织联合提出的H.264标准、以及Microsoft的WMV标准,以下是对这三种标准技术的介绍。(1)MPEG标准MPEG(动态图像专家组)成立于1988年,它是视频编码标准中一个大的集合,也是我们平时日常生活当中所见到的最普遍的视频标准。MPEG标准主要有以下五个,MPEG-1、MPEG-2、MPEG-4、MPEG-7及MPEG-21等。MPEG标准的视频压缩编码技术主要利用了具有运动补偿的帧间压缩编码技术以减小时间冗余度,利用DCT技术以减小图像的空间冗余度,利用熵编码则在信息表示方面减小了统计冗余度。这几种技术的综7合运用,大大增强了压缩性能。该专家组建于1988年,专门负责为CD建立视频和音频标准,而成员是为视频、音频及系统领域的技术专家。他们成功将声音和影像的记录脱离了传统的模拟方式,制定出MPEG-格式,从此视听传播方面进入了数码化时代。MPEG-1音视频压缩是为了储存和发布数字音视频而建立起来的压缩格式。它制定于1992年,是为工业级标准而设计,可适用于不同带宽的设备,如CD-ROM、Video-CD、CD-i。它可针对SIF标准分辨率(对于NTSC制为352240;对于PAL制为352288)的图象进行压缩,传输速率为1.5Mbitssec,每秒播放30帧,具有CD(指激光唱盘)音质,质量级别基本与VHS相当。MPEG-1也被用于数字电话网络上的视频传输,如非对称数字用户线路(ADSL),视频点播(VOD),以及教育网络等。MPEG-2音视频编码是在MPEG-1基础上的扩展,MPEG-2能适应高码流的要求,特别适合高清电视(HDTV),其可支持的码流为1.5-60Mbps。MPEG-2的音频编码可提供左右中及两个环绕声道,以及一个加重低音声道,和多达7个伴音声道(DVD可有8种语言配音的原因),MPEG-2还可用于为广播,有线电视网,电缆网络以及卫星直播(DirectBroadcastSatellite)提供广播级的数字视频。MPEG-2的其中一个特点是可提供一个较广的范围改变压缩比,以适应不同画面质量、存储容量、以及带宽的要求。为适应在互联网上多媒体数据的灵活传输,ISOIEC于1998年又发布了MPEG-4标准,MPEG-4是基于音视频对象的可分级编码技术,其码率可从5Kbps-2Mbps的范围内变化,它综合了数字电视、交互图形学和Internet等领域的技术。它在要求高效压缩编码的同时,强调多媒体网络通信的灵活性和交互性。这个标准主要应用于视像电话、视像电子邮件和电子新闻等,对传输速率要求较低。MPEG-4利用很窄的带宽,通过帧重建技术进行数据压缩,以求用最少的数据获得最佳的图像质量。与MPEG-1和MPEG-2相比,MPEG-4的优点是特别针对低带宽等条件设计算法,所以MPEG-4的压缩比更高,使低码率的视频传输成为可能。在公用电话线上可以连续传输视频,并能保持图像的质量,这是其它技术做不到的。其次它节省存储空间,在同等条件如场景、图像格式和压缩分辨率条件下,经过编码处理的图像文件越小,所占用的存储空间越小。由于MPEG-4算法较MPEG-1、MPEG-2更为优化,因而在压缩效率上更高。(2)H.264标准H.264是在早期视频编码标准的运动补偿转换编码范例基础上创建的。它是ITU-T的VCEG(视频编码专家组)和ISOIEC的MPEG(活动图像编码专家组)组成的联合视频组(JointVideoTeam,JVT)开发的一个新的数字视6频编码标准,它既是ITU-T的H.264,又是ISOIEC的MPEG-4的第10部分。H.264较早期的MPEG-2标准相比,该标准大大降低了比特速率。该技术不受早期标准所用构建模块的制约,整个技术的设计无需后向兼容性。H.264提供的一些可提高压缩效率的重要编码工具有:改进型空间交互预报、增强型时间预报(通过四分之一采样运动补偿、可变模块大小运动补偿、多重假设运动补偿和加权预测工具实现)、高效的基于上下文的熵编码(通过变长度编码或二进制运算编码工具实现)以及内环内容和编码模式适应性解锁滤波。实验表明,要实现相近的视觉质量,同MPEG-4ASP编码相比,H.264把比特速率降低了35%到50%,同MPEG-2相比,降低了40%到65%。另外,同MPEG-4SP相比,H.264BP可以在宽广的比特速率范围内把峰值信噪比降低50%以上。(3)WMV标准8WMV(WindowsMediaVideo)标准,是Microsoft公司所推出的一种采用独立编码方式并且可以直接在网上实时观看视频节目的文件压缩格式。由WMV标准生成的文件一般同时包含视频和音频部分。视频部分使用WindowsMediaVideo编码,音频部分使用WindowsMediaAudio编码。它是在Microsoft公司的另外一种文件格式ASF(AdvancedStreamat)升级延伸而来得。它作为一种经久不衰的音视频编码标准,一直在不断的改进。WMV格式的主要优点包括:本地或网络回放、可扩充的媒体类型、部件下载、可伸缩的媒体类型、流的优先级化、多语言支持、环境独立性、丰富的流间关系以及扩展性等。2.主流媒体文件格式目前的主流媒体文件格式有:avi、RealMedia的rm和rmvb格式,WindowsMedia的asf、wmv格式,mp4和3gpQuickTime的qt格式等。下面将对上述几种媒体文件格式进行简要的分析。(1)avi格式Avi英文全程是AudioVideoInterleaved,即“音频视频交错”,就是可以将视频和音频交织在一起进行同步播放,可以跨多个平台使用。文件体积过大是他的缺陷,而且压缩标准不统一,因此经常会遇到高版本Windows媒体播放器播放不了采用早期编码编辑的AVI格式视频,而低版本Windows媒体播放器又播放不了采用最新编码编辑的AVI格式视频。所以在使用时常常需要临时下载更新编码编辑器。(2)RealMedia的rm和rmvb格式RealMedia是RealNetworks公司所开发的流式音频、视频文件格式,主要用来在低速率的网络上实时传播活动视频影像,可以根据网络数据传输速率的不同而7采用不同的压缩比率,从而实现影像数据的实时传播和播放。RealMedia包括:rm(RealVideo)、ra(RealAudio)和RealFlash三类文件。rm用来传播连续视频数据,ra用来传播CD音质的音频数据,而RealFlash则是RealNetworks公司与Macromedia公司共同推出的采用矢量技术的动画格式。作为最早的Internet流式技术,在音视频方面RealMedia已成为事实上的网络音视频播放标准。RMVB这是一种由RM视频格式升级延伸出的新视频格式,它的先进之处在于RMVB视频格式打破了原先RM格式那种平均压缩采样的方式,在保证平均压缩比的基础上合理利用比特率资源,就是说静止和动作场面少的画面场景采用较低的编码速率,这样可以留出更多的带宽空间,而这些带宽会在出现快速运动的画面场景时被利用。这样在保证了静止画面质量的前提下,大幅地提高了运动图像的画面质量,从而图像质量和文件大小之间就达到了微妙的平衡。(3)WindowsMedia的asf、wmv格式ASF是(AdvancedStreamingat高级串流格式)的缩写,是Microsoft为Windows98所开发的串流多媒体文件格式。WindowsMedia是Microsoft提出的信息流式播放方案。其核心是ASF(AdvancedStreamat)文件,是一种包含音频、视频、图像以及控制命令、脚本等多媒体信息的数据格式。这个词汇当前可和WMA及WMV互换使用。ASF支持任意的压缩解压缩编码方式,并可以使用任何一种底层网络传输协议,具有很大的灵活性。并将ASF用作Windows版本中多媒体内容的标准文件格式,这无疑将对Internet特别是流式技术的应用和发展产生重大影响。ASF最大优点就是体积小,因此适合网络传输,也同样适于在本地播放。用户可以将图形、声音和动画数据组合成一个ASF格式的文件,当然也可以将其他格式的视频和音频转换9为ASF格式,而且用户还可以通过声卡和视频捕获卡将诸如麦克风、录像机等等外设的数据保存为ASF格式。WMV是微软推出的一种流媒体格式,它是在“同门”的ASF(AdvancedStreamat)格式升级延伸来得。在同等视频质量下,WMV格式的体积非常小,因此很适合在网上播放和传输。WMV不是仅仅基于微软公司的自有技术开发的。从第七版(WMV1)开始,微软公司开始使用它自己非标准MPEG-4Part2。但是,由于WMV第九版已经是SMPTE的一个独立标准(421M,也称为VC-1),所以WMV的发展已经不象MPEG-4那样是一个它自己专有的编解码技术。(4)Mp4和3pg目前MP4最流行使用的压缩方式为MPEG-4。移动手持设备视频多数支持此格式,但由于硬件平台的没有统一的标准,软件系统也是由厂商自行设计,各种设备可播放的MP4编码方式也不同。3gp使用MPEG-4或H.263两种影片编码方式,以及AMR-NB或AAC-LC两种声音储存方式,可以将影片以更经济的方式存放在手机或是其他行动装置里,所以它最大的优点就是:容量小。(5)QuickTime的qt格式QuickTime的qt格式是Apple公司于1991年推出的能在计算机上播放高品质视频图像的技术,它几乎支持所有主流的个人计算平台和各种格式的静态图像文件、视频和动画格式,支持RLC、JPEG等领先的集成压缩技术,提供了大约150多种视频效果。具有内置Web浏览器插件(Plug-in)技术,支持IETF流标准以及FTP和HTTP等网络协议,现已成为是数字媒体领域的工业标准。QuickTime的qt电影文件格式定义了存储数字媒体内容的标准方法,不仅可以存储单个的媒体内容(如视频帧或音频采样),而且能保存对该媒体作品的完整描述;QuickTime的qt文件格式被设计用来适应为与数字化媒体一同工作需要存储的各种数据。因为这种文件格式能用来描述几乎所有的媒体结构,所以它是应用程序间(不管运行平台如何)交换数据的理想格式。qt文件格式中媒体描述和媒体数据是分开存储的,媒体描述或元数据(meta-data)叫做电影(movie),包含轨道数目、视频压缩格式和时间信息。同时movie包含媒体数据存储区域的索引。媒体数据是所有的采样数据,如视频帧和音频采样,媒体数据可以与QuickTimemovie存储在同一个文件中,也可以在一个单独的文件或者在几个文件中。3.流媒体技术流媒体是指在InternetIntranet中使用流式传输技术的连续时基媒体,如音频、视频等多媒体文件。在网络上传统的多媒体文件的传输方式,基本上只有文本、图像可以按照原格式在网上传输,动画、音频、视频等虽然可以直接在网上播放,但文件偏大,即使使用专线上网,也要等完全下载后才能观看。流式传输方式可将视频、音频、动画等多媒体文件经编码工具的特殊处理,分成一个个压缩包,由流媒体服务器向用户计算机连续、实时传送。在采用流式传输方式的系统中,用户不必等到整个文件全部下载完毕,只需经过几秒或几十秒的启动延迟即可观看,文件的其余部分将在后台服务器继续下载。该技术首先在用户端的计算机上创建一个缓冲区,预先下载多媒体文件的部分数据作为缓冲,播放程序读取缓冲区内的数据进行播放。在播放的同时,用户计算机在后台继续下载多媒体文件的剩余部分填充缓冲区。这样,当网络出现抖动(Jitter),实际连线速度小于播放消耗数据速度时,可以避免播放的中断,也使得播放质量得以维持。流媒体技术是为解决以Internet为代表的中低带宽网络10上多媒体信息传输问题而产生、发展起来的一种网络新技术,可适应从窄带到宽带任意的网络带宽。目前,实现流媒体传输主要有两种方式:实时流(realtimestreaming)传输和顺序流(progressivestreaming)传输。一般来说,如使用HTTP服务器,文件即通过顺序流发送,即为顺序流传输。如视频为实时广播,或使用流传输媒体服务器,或应用如RTSP的实时协议,即为实时流传输。采用哪种传输方式依赖于不同需求,两种方式有着不同特点:顺序流传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定时刻,用户只能观看自己下载的那部分,而不能跳到还未下载的部分,顺序流传输不像实时流在传输期间根据用户连接的速度做调整。由于标准的HTTP服务器可发送这种形式的文件,不需要其他协议,它经常被称作HTTP流传输。顺序流传输比较适合高质量的短片段,如片头、片尾和广告。由于文件传输是无损下载的,这种方法保证电影播放的最终质量。这意味着用户在观看前,必须经历延时,对较慢的连接尤其如此。实时流传输保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实时流媒体传输需要专用的流媒体服务器与传输协议。实时流传输总是实时传送,特别适合现场事件,也支持随机访问,用户可快进或后退以观看前面或后面的内容。其必须匹配连接带宽,这意味着以调制解调器速率连接时图像质量较差。而且,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质量很差。实时流传输需要特定服务器,如QuickTime,StreamingServer,RealServer。这些服务器允许用户对媒体发送进行更多级别的控制,因此系统设置、管理比标准HTTP服务器更复杂。而流媒体的实现原理简单地说,就是通过采用高效的压缩算法,在降低文件大小的同时伴随质量的损失,让原有的庞大的多媒体数据适合流式传输。然后通过架设流媒体服务器,利用各种实时协议传输流数据。Figure2.1Streamingmediaimplementationprinciple多媒体数据必须进行预处理才能适合流式传输,这是因为目前的网络带宽相对多媒体巨大的数据流量来说还显得远远不够。预处理主要包括两方面:一是采用先进高效的压缩算法;二是加入一些附加信息把压缩媒体转为适合流式传输的文件格式。其技巧在于压缩原始的AV内容,使其能够在窄带或宽带通道上以流的方式传给用户。预处理在编码器内完成,编码方式的选择可以是多种多样的。编码过程是一种艺术,应该考虑不同编码速度的定制性能、包损失的容错性与网络的带宽波动、最低速度下好的AV品质、编码流式传送的成本、流的控制以及其他方面。目前流媒体播放技术市场上主流的流媒体技术有三种,分别是:RealNetworks公司的RealMedia;Microsoft公司的WindowsMedia和Apple公司的QuiekTime。这三家公司的技术都有自己的专利算法、专利文件格式甚至专利传输控制协议。下面就这三种技术进行简要的介绍:(1)Apple公司的QuiekTime技术Apple公司的QuickTime适用于MacOS和Windows的跨平台的多媒体体系结构。它

温馨提示

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

最新文档

评论

0/150

提交评论