硕士论文:IPTV播放器研究与设计.doc_第1页
硕士论文:IPTV播放器研究与设计.doc_第2页
硕士论文:IPTV播放器研究与设计.doc_第3页
硕士论文:IPTV播放器研究与设计.doc_第4页
硕士论文:IPTV播放器研究与设计.doc_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

学号:论文密级:公开中图分类号:T学科分类号:520.60学校代码:工程硕士学位论文IPTV播放器研究与设计论文作者:指导教师:申请学位:工程硕士学科名称:软件工程研究方向:软件工程论文提交日期:2013年9月30日论文答辩日期:年月日二一三年九月ADissertationfortheDegreeofMasterIPTVPlayerResearchandDesignCandidate:Supervisor:Sep.2013目录图录.I表录.II摘要.IIIABSTRACT.IV第一章绪论.11.1课题的目的和意义.11.2国内外研究现状.21.3本文的研究内容.41.3.1IPTV播放器框架设计.41.3.2IPTV播放器内核设计与实现.41.3.3IPTV播放器内核接口库层实现.41.4本文的组织结构.51.5本章小结.5第二章IPTV播放器框架设计.72.1播放器基本原理.72.2IPTV播放器框架设计思路.82.3IPTV播放器框架分层结构.82.3.1业务层.92.3.2播放器内核接口库层.122.3.3播放器内核层.132.3.4硬件适配层.132.4IPTV播放器各层间通讯方式.142.5IPTV播放器支持的技术特性.162.6本章小结.18第三章IPTV播放器内核设计与实现.193.1IPTV播放器内核设计思路.193.2IPTV播放器内核架构及各组件功能.203.3组件之间的连接方式.223.4IPTV播放器内核核心模块的设计与实现机制.233.4.1数据源的读取.233.4.2数据的无复制传送.253.4.3媒体文件解析Demux.253.4.4音视频快进快退.263.4.5音视频连播.263.4.6多媒体文件的网络点播.263.5本章小结.28第四章IPTV播放器内核接口库层实现.294.1IPTV播放器内核接口库层与其它层的关系.294.2IPTV播放器内核接口库层接口定义.294.2.1播放控制.304.2.2VCR操作.354.2.3参数设置.454.2.4状态信息获取.464.2.5错误值列表.504.3IPTV播放器内核接口库应用示例.504.4本章小结.52第五章IPTV播放器测试.535.1测试目的.535.2测试环境.535.2.1终端硬件环境.535.2.2终端软件环境.535.3测试项及其测试过程和结果.545.3.1播放器对各种格式的支持情况.545.3.2VCR操作及之间的切换.565.3.3不同视频文件的连播.585.4本章小结.59第六章总结与前景.61参考文献.63硕士学位论文I图录图1播放器播放步骤图.7图2播放器分层结构示意图.9图3新浪业务代码组织结构图.10图4业务层与其它各模块的关系.11图5业务进程主流程.12图6播放器各层通讯示意图.14图7业务层应用、内核接口库、播放器内核交互序列图.15图8DirectShow系统框架图.19图9多媒体播放器内核架构示意图.21图10多媒体播放器整体结构图(以两个播放器内核为例).22图11数据源类关系图.24图12init()流程图.31图13播放器内核的播放器启动流程图.32图14正常播放流程图.34图15停止播放流程图.35图16选时播放流程图.37图17播放转暂停流程图.39图18快进、快退或者暂停转播放的流程图.40图19播放转快进流程图.42图20播放转快退流程图.44图21VCR互操作图.57硕士学位论文II表录表1内核接口库层定义的接口函数.29表2IPTV播放器支持的文件格式及编码格式.54表3VCR测试过程典型问题及解决情况.57表4连播测试过程典型问题及解决情况.58硕士学位论文III摘要IPTV交互式互联网电视,以其特有的互动性、内容的丰富性与及时性吸引了众多用户,成为电信及广电部门、电子及软件企业争相抢夺的新兴市场。IPTV通常基于嵌入式系统开发,由于硬件平台的多样性导致业界尚无标准可循,而常见的开源播放器又无法满足不同厂家的功能需求。因此,开展IPTV播放器关键技术研究有意义。本文以设计一种支持可复用、易扩展的先进播放器框架及内核为目标,针对其中所涉及的关键技术问题展开研究。完成的主要工作包括:1.研究了播放器框架。基于播放器的基本原理和分层结构的优势,提出了基于层次结构的IPTV播放器框架的设计思路。依据该思路,设计了一个易扩展、可复用程度高的先进框架。该框架将播放器从底层硬件到上层应用划分为四层:硬件适配层、播放器内核层、播放器通讯控制层、业务层。各层功能专一,层间接口规范,各层可独立扩展自身功能。2.研究了播放器内核。借鉴微软DirectShow架构和操作系统的微内核思想,提出了基于分层结构和流水线理念的IPTV播放器内核设计思路:内核按照服务层级来划分模块,内层模块完成实际工作任务,外层模块完成逻辑控制,内层为外层提供服务;播放器内核同时采用组件化、链路化的方式,完成流媒体的解析和解码,从而实现对新增媒体格式的扩展支持。3.设计了播放器内核接口库。为避免播放器内核因夹杂播放逻辑而影响其在上层业务中的普适性的问题,定义了一套API接口供业务层调用。接口库本身与播放逻辑无关,播放逻辑及具体业务的处理,由业务层及应用层实现,其通过TCP连接与内核进行通讯,实现对内核的控制及状态查询,并接收内核发送的事件通知。4.在框架与内核研究的基础之上,实现了播放器内核与内核接口库并进行了测试。测试结果表明,所设计IPTV播放器能够满足应用系统功能需求。关键词:IPTV,互联网电视,流媒体,播放器,视音频解码硕士学位论文IVAbstractIPTVwithitspeculiarinteractivity,contentrichness,timeliness,attractednumeroususersbecomethetelecommunicationsandBroadcastingsector,electronicsandsoftwarecompaniesscrambleforemergingmarkets.IPTVisusuallybasedonembeddedsystemdevelopment,theindustryduetothediversityofhardwareplatform,thereisnostandardtofollow,andcommonopensourceplayerscannotmeetthefunctionalrequirementsofdifferentmanufacturers.Therefore,researchonkeytechnologiesIPTVplayerssense.Inthispaper,designakindofsupportreusable,easytoextendadvancedplayerframeworkwiththekernelasthegoal,fortheresearchesonthekeytechnicalproblemsinvolved.Themainworkincludes:1.Playerframeworkisstudied.Basedonthebasicprincipleofplayersandtheadvantagesofhierarchicalstructure,IPTVplayersframeworkdesigntrainofthoughtisproposedbasedonhierarchicalstructure.Accordingtotheideas,designahighdegreeofeasyextension,reusableadvancedframework.Frameworkadoptshierarchicalstructure,theplayerfromtheunderlyinghardwaretoupperapplicationisdividedintofourlayers:hardwareadapterlayer,playerkernellayer,playercommunicationcontrollayer,businesslayer.Eachlayerfunctionspecific,Inter-layerinterfacespecification,eachlayercanextenditsfunctionindependently.2.Playerkernelisstudied.UsingMicrosoftDirectShowarchitectureandthemicrokernelthoughtsofoperatingsystem,PlayerskerneldesignideasisproposedbasedonhierarchicalstructureandPipeliningconcept:Kernelmoduleinaccordancewiththeserviceleveltodivide,theinnermoduledotheactualworktasks,theoutercompletelogiccontrolmodule,theinnertotheouterprovideservices;And,Playerkerneladoptsthewayofmodularization,link,thecompletestreamingparseanddecode,enablingsupportfortheexpansionofthenewmediaformat.3.Designtheplayerkernelinterfacelibrary.Toavoidplayerkernelplayedforinclusionlogicandaffecttheuniversalproblemsinitsbusinessintheupper,definesasetofapis,callingforbusinesslayer.Interfacelibraryitselfhasnothingtodowithplaylogic,logicandtheprocessingofspecificbusinessIsrealizedbythebusinesslayerandapplicationlayer.throughtheTCPconnectionwiththekernelofcommunication,Itrealizedthecontrolsystemforthekernelandstatusquery,receiveeventnotificationssentbythekernel.4.Basedontheframeworkandkernelresearch,realizetheplayerkernelandthekernelinterfacelibrary,andachievethecorefunctionalityofIPTVplayersrequired,andtheplayerkernelandthekernelinterfacelibrarywastested.TestresultsshowthatthedesignIPTVplayerscanmeetthedemandoftheapplicationsystemfunction.Keywords:IPTV,InternetTV,streamingmedia,player,Videoandaudiodecoding第一章绪论第1页第一章绪论1.1课题的目的和意义IPTV(InternetProtocolTelevision)交互式互联网电视,以其特有的互动性、内容丰富性、及时性吸引了众多用户,成为电信及广电部门、电子及软件企业争相抢夺的新兴市场。通常而言IPTV系统是以视音频服务为主要业务,同时提供游戏、股票等增值服务的系统业务的综合体,而视频播放是IPTV的核心业务,视频播放器是IPTV的核心模块。所以随着IPTV的发展与普及,IPTV播放器也显示出至关重要的作用。IPTV已经从其最初的以“互联网+机顶盒终端+普通电视”的形式,转而向一体式智能电视(内置IPTV模块)、PC平台、手机电视等多种多样的形式发展。播放器在IPTV上的应用特点是:媒体格式多种多样、数据源日益增多(如本地文件、各种不同的网络协议)以及硬件平台的多样性。基于以上特点,通常厂家对IPTV播放器有以下需求:1)全格式支持要求支持常见的主流文件格式,并同时具备添加新格式支持的能力。2)全VCR操作支持VCR(VideoCassetteRecording)功能泛指各种对视频的操作控制。如:播放、暂停、快进、快退、选时、停止、音量调节、声道切换、静音等操作。播放器要支持提供全VCR操作的能力、允许各VCR操作状态之间的自由切换,使视频应用业务可以提供给用户友好的人机交互。3)能同时适应本地媒体文件播放和网络媒体文件播放播放器除了可以播放本地的视频节目外也可播放网络点播或直播节目。本地媒体文件是指存储在机顶盒内置存储设备如Flash存储器、内置硬盘,或可热插拔的移动存储设备如SD卡、U盘、移动硬盘等上的媒体文件。网络媒体文件,则是指那些位于远端服务器,需要通过网络协议交互,通过网络获取到数据的媒体文件。4)无缝连续播放支持一般的播放器在连续播放多个媒体文件时,媒体文件切换过程会有短暂停顿,或画面静止或声音停顿。在机顶盒这种专门的播放设备上,在播放一个电影前一般要插播一段广告,另外,同一部电影往往由多个分片存储的节目文件组成,为了让用户查觉不到媒体文件切换导致的停顿感,在对多个分片进行连续播放时,需要实现无缝的连续播放。5)二次开发接口支持视音频播放(解复用、解码)是一个较为专业的技术领域,并不是每个开发人员都能熟悉其中的原理,能够做相应的开发。在机顶盒中,视音频应用的形式又多种多样,因此,硕士学位论文第2页需要提供一套简单易用、功能强大且足够细分的视频播放应用接口,使开发人员能够在其上构建各种和媒体播放有关的应用程序和服务。IPTV通常是嵌入式系统1,与通用计算机系统不同,其软件与硬件是紧密关联的。IPTV播放器作为IPTV系统中的核心应用软件,也是与硬件平台紧密相关的。由于IPTV硬件平台尤其是解码硬件多样性问题的存在,导致目前还没有统一的标准供机顶盒制作厂家遵循,市场上也没有完全支持以上特点的播放器内核可以使用,常用的开源播放器更是无法满足不同厂家对IPTV业务能力的扩展需求。除此之外,嵌入式设备资源有限性(处理器运算速度不够高,运行内存不够大)也使嵌入式播放器的开发难度远远高于PC播放器。目前国内自主研发的嵌入式播放器分辨率低,流畅度差;而国外IT公司能提供的嵌入式播放器虽然在分辨率和流畅度上有很大优势,但是价格偏高。因此,开展IPTV播放器的研究,提供一种价格低廉的高性能IPTV播放器,对国内IPTV行业发展有着积极的推动作用。课题针对IPTV播放器中的关键技术及模块实现展开研究,具有较高的应用价值。本文的研究目的是开发一个可复用程度高、易扩展、利于开发各种音视频播放应用的先进框架。在这个框架下,通过添加支持不同格式的解析模块,就能为终端机顶盒提供新的媒体格式的播放支持,利用其提供的一系统列接口,也能在其上构建各种不同业务的应用模块,以提高软件模块的可复用性,可极大地缩短开发各种不同多媒体应用的开发周期,降低开发成本,为企业带来长久效益。1.2国内外研究现状1)国内外IPTV发展研究现状随着科技发展,用户已不再满足于电视业务的单向广播模式,希望在电视上实现双向交互功能。IPTV的出现使这种愿望成为可能。IPTV主要是以网络机顶盒作为用户终端,以显示器为显示设备,以宽带为主要传输网络,为用户提供多媒体信息服务。播放器是IPTV终端机顶盒的关键模块,主要完成IPTV的流媒体业务和其他业务的图形及伴音展示2。由于IPTV巨大的潜在价值和商业空间,各个国家纷纷发展IPTV2。美国早在2005年9月,运营商Verizon率先宣布推出IPTV服务。在韩国,电信企业在发展IPTV方面也走在了前面。韩国电信在2007年7月推出IPTV以来,到当年9月底已发展了14.8万用户3。韩国第二大网络门户Daum通信在2008年也宣布进入IPTV市场3。欧洲是全球最大的IPTV市场,IPTV在法国呈现爆炸性增长。法国目前已经成为IPTV领先发展的国家3。我国IPTV的发展始于2003年4。国家从2005年5月开始整顿国内IPTV市场。要求从事信息网络传播视听节目业务的单位必须符合广电总局的申批条件。由于IPTV的发展不可避免会出现电信和广电业务的互相渗透问题,而受冲击最大的就是广电部门,因此从自身利益考虑,广电总局慎重发放证照,对电信运营更是较多限制。2011年年底,互联网电视获得广电总局的“解禁”,中国电信和广地广电运营商纷纷加入试点,试图夺取主动权4。第一章绪论第3页IPTV的发展需要几个产业链来支撑2:内容制作商、内容集成商、网络运营商。虽然已经过了多年的运营,各国IPTV运营商仍然面临运营模式和生态链的问题,但各运营商都在积极探索自己的发展模式2。2)国内外IPTV播放器发展研究现状全球播放器的发展大致经历了三个阶段:1第一阶段:格式封闭阶段这是个“各自为政”的阶段。微软公司的WindowsMediaPlayer和Real公司的RealPlayer是这一阶段的典型代表。WindowsMediaPlayer只支持微软公司自有格式WMV(WindowsMediaVideo)、AVI(AudioVideoInterleaved)文件的播放及通过微软的MediaServer服务器软件投递的点直播服务。RealPlayer则仅支持real格式的文件播放及RealServer(后升级为HelixServer)投递的点直播服务。这个阶段的播放器支持格式有限,并且无法扩展使用。在本课题的IPTV系统开发中无法使用。2第二阶段:兼容并处时代典型代表是MediaPlayerClassic、VLC、MPlayer。这些开源项目的共同特点是广泛的格式支持及开源。不少播放器都是在这三个项目的基础上修改而来,如韩国Kmplayer、中国的暴风影音、射手播放器等。这个阶段的播放器支持格式多,并且开源可扩展,但是都是基于PC设备的,无法在特定硬件平台的嵌入式设备中扩展使用。3第三阶段:多媒体框架时代这一时期的典型特征是提供统一的媒体开发框架,开发者在些框架上,加入自己的插件或模式,即可使播放器支持更多的模块或功能。和第二代相比其特点是提供的是重要的框架,而不是具体的格式或功能支持。如微软的DirectShow,google的android平台的OpenCore等。这个阶段的播放器为我们提供了很多播放器框架开发的思路,但是框架本身都是基于一定平台的,无法满足在任意平台上的扩展使用。随着全球播放器的发展,对IPTV业务的播放能力提供了支持。但是根据当前的播放器发展情况可以发现:由于IPTV所用到的硬件设备各有差异,所以目前对IPTV播放器没有统一的播放器或播放器框架可以直接使用。所有厂家都需要根据设备架构和硬件平台,开发配套的视频播放器。当前各个厂家对IPTV播放器的研究,都停留在所选用设备架构和硬件平台基础上的播放器研究与开发,以满足自身IPTV系统所用机顶盒产品的需求。鉴于IPTV系统中硬件平台的多样化,导致各厂家开发的IPTV播放器无法通用或扩展使用,所以研究和开发可通用的IPTV播放器框架对推进IPTV系统的发展具有积极意义。硕士学位论文第4页1.3本文的研究内容1.3.1IPTV播放器框架设计鉴于分层结构的优势,IPTV播放器采用分层结构的框架。为了更好地组织整体的软件结构,将播放器从底层硬件到上层应用划分为四层:硬件适配层、播放器内核层、播放器通讯控制层、业务层。硬件适配层:该层针对不同的硬解码芯片制造商的硬件平台提供适配功能,为上层提供统一的接口。播放器内核层:是播放器内核进程,通过调用硬件适配层提供的接口,完成与媒体处理相关的工作。播放器通讯控制层:通常将该层叫做“播放器内核接口库层”。该层通过TCP连接与内核进程进行通讯,实现对内核的控制及状态查询,接收内核发送的事件通知。接口库本身无任何关于播放逻辑的控制,播放逻辑及各种与具体应用需求相关的处理,由业务层及业务层之上的应用层实现。业务层:业务层实现外部应用环境对播放器的调用,它的存在是以从繁多的播放业务中将播放器内核解放出来为目的,将业务层次的控制调用、功能层次的控制调用等集于一体。1.3.2IPTV播放器内核设计与实现在整个播放器软件分层结构中,上层媒体播放相关业务应用,通过播放器通讯控制层控制着播放器内核进程,播放器内核进程是真正负责处理和实现多媒体播放功能的实体,是播放软件体系中的核心,因此我们称其为播放器内核进程。在设计新播放器内核时,借鉴了DirectShow架构和操作系统的微内核思想,让播放器内核专一做与媒体内容相关的工作,即:只让它完成音视频流的播放功能,而不再直接参与数据的获取,数据的获取可以通过在播放器内核外围扩充相应的功能模块来完成。比如:需要使用HTTP、MMS(MembershipManagementSystem)、RTSP(RealTimeStreamingProtocol)567、P2P(peer-to-peernetwork)等协议从网络上获取数据时,只需要开发出相应的功能模块挂接上即可,而不需要对播放器内核做任何修改;另外,需要增加对新媒体格式的支持时,只需要按照定义好的接口,开发针对该媒体格式的解复用组件DemuxFilter等模块,然后加入播放器内核中即可,不需要对播放器框架做任何修改。播放器内核,采用类似DirectShow中的Filter组件的概念,采用组件化、由组件和组件连接的形成链路的方式,来完成流媒体的解析(Demux)及解码(Decoder)。播放器内核按照服务层级来划分模块,内层模块为外层模块提供服务,由外层的模块完成逻辑控制,内层模块完成实际的工作任务。1.3.3IPTV播放器内核接口库层实现播放器内核接口库层(即:播放器通讯控制层)提供一套接口,供业务层对播放器内第一章绪论第5页核进程进行控制,从而控制视频的播放。其实质是一套网络通讯的客户端发包工具,将播放指令按照和播放器内核约定的指令数据结构发送数据包给播放器内核进程。此层一般不包含播放逻辑控制,以避免加入播放逻辑而影响其在上层业务服务层中不同业务应用中的普遍适用性。1.4本文的组织结构本文共分为六章,全文组织如下:第一章:绪论。主要对IPTV播放器研究的目的和意义、国外内研究现状以及本文要研究的内容进行了概述。第二章:IPTV播放器框架设计。基于播放器的基本原理和分层结构的优势,提出了IPTV播放器系统框架的设计思路。依据该思路,设计了一个可复用程度高、易扩展、利于开发各种音视频播放应用的先进框架,并对框架的层次结构、层间通讯和框架所支持的技术特性进行了阐述。第三章:IPTV播放器内核设计与实现。借鉴微软DirectShow架构和操作系统的微内核思想,提出了IPTV播放器内核设计的思路:让播放器内核专一做与音视频流播放相关的工作,不再直接参与数据的获取等工作。基于该思想,设计了播放器内核的架构,并给出了其主要逻辑模块的实现。第四章:IPTV播放器内核接口库层实现。首先阐述了播放器架构分层结构中的内核接口库层与其它层的关系。然后定义出一套API接口,该接口供业务层调用。最后以示例方式说明了接口的应用。第五章:IPTV播放器测试。首先给出了测试目的和测试环境,然后描述了测试过程,之后通过调用播放器内核接口库提供的接口,对播放器内核和播放器内核接口库进行了功能测试。第六章:总结与前景。主要对IPTV播放器的研究情况进行总结,同时指出本文所研究内容有待完善的地方,最后对未来发展进行了展望。1.5本章小结本章通过对IPTV播放器功能需求及相关领域国外内研究现状的分析,论述了课题研究的目的和意义

温馨提示

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

评论

0/150

提交评论