论文:iptv播放器研究与设计(编辑修改稿)内容摘要:
上实现双向交互功能。 IPTV的出现使这种愿望成为可能。 IPTV主要是以网络机顶盒作为用户终端,以显示器为显示设备,以宽带为主要传输网络,为用户提供多媒体信息服务。 播放器是 IPTV终端机顶盒的关键模块,主要完成 IPTV的流媒体业务和其他业务的图形及伴音展示 [2]。 由于 IPTV巨大的潜在价值和商业空间,各个国家纷纷发展 IPTV[2]。 美 国早在 20xx年 9月,运营商 Verizon率先宣布推出 IPTV服务。 在韩国,电信企业在发展 IPTV方面也走在了前面。 韩国电信在 20xx年 7月推出 IPTV以来,到当年 9月底已发展了 [3]。 韩国第二大网络门户 Daum通信在 20xx年也宣布进入 IPTV市场 [3]。 欧洲是全球最大的 IPTV市场,IPTV在法国呈现爆炸性增长。 法国目前已经成为 IPTV领先发展的国家 [3]。 我国 IPTV的发展始于 20xx年 [4]。 国家从 20xx年 5月开始整顿国内 IPTV市场。 要求从事信息网络传播视听节目业务的单位必须符合 广电总局的申批条件。 由于 IPTV的发展不可避免会出现电信和广电业务的互相渗透问题,而受冲击最大的就是广电部门,因此从自身利益考虑,广电总局慎重发放证照,对电信运营更是较多限制。 20xx年年底,互联网电视获得广电总局的“解禁”,中国电信和广地广电运营商纷纷加入试点,试图夺取主动权 [4]。 第一章 绪论 第 3 页 IPTV的发展需要几个产业链来支撑 [2]:内容制作商、内容集成商、网络运营商。 虽然已经过了多年的运营,各国 IPTV运营商仍然面临运营模式和生态链的问题,但各运营商都在积极探索自己的发展模式 [2]。 2) 国内外 IPTV播放器发展研 究现状 全球播放器的发展大致经历了三个阶段: ① 第一阶段:格式封闭阶段 这是个“各自为政”的阶段。 微软公司的 Windows Media Player和 Real公司的 RealPlayer是这一阶段的典型代表。 Windows Media Player只支持微软公司自有格式 WMV(Windows Media Video)、 AVI( Audio Video Interleaved)文件的播放及通过微软的 MediaServer服务器软件投递的点直播服务。 RealPlayer则仅支持 real格式的文件播放及 RealServer(后升级为 HelixServer)投递的点直播服务。 这个阶段的播放器支持格式有限,并且无法扩展使用。 在本课题的 IPTV系统开发中无法使用。 ② 第二阶段:兼容并处时代 典型代表是 Media Player Classic、 VLC、 MPlayer。 这些开源项目的共同特点是广泛的格式支持及开源。 不少播放器都是在这三个项目的基础上修改而来,如韩国 Kmplayer、中国的暴风影音、射手播放器等。 这个阶段的播放器支持格式多,并且开源可扩展,但是都是基于 PC设备的,无法在特定硬件平台的嵌入式设备中扩展使用。 ③ 第三 阶段:多媒体框架时代 这一时期的典型特征是提供统一的媒体开发框架,开发者在些框架上,加入自己的插件或模式,即可使播放器支持更多的模块或功能。 和第二代相比其特点是提供的是重要的框架,而不是具体的格式或功能支持。 如微软的 DirectShow, google的 android平台的OpenCore等。 这个阶段的播放器为我们提供了很多播放器框架开发的思路,但是框架本身都是基于一定平台的,无法满足在任意平台上的扩展使用。 随着全球播放器的发展,对 IPTV业务的播放能力提供了支持。 但是根据当前的播放器发展情况可以发现:由 于 IPTV所用到的硬件设备各有差异,所以目前对 IPTV播放器没有统一的播放器或播放器框架可以直接使用。 所有厂家都需要根据设备架构和硬件平台,开发配套的视频播放器。 当前各个厂家对 IPTV播放器的研究,都停留在所选用设备架构和硬件平台基础上的播放器研究与开发,以满足自身 IPTV系统所用机顶盒产品的需求。 鉴于 IPTV系统中硬件平台的多样化,导致各厂家开发的 IPTV播放器无法通用或扩展使用,所以研究和开发可通用的IPTV播放器框架对推进 IPTV系统的发展具有积极意义。 硕士学位论文 第 4 页 本文的研究内容 IPTV 播放器框架设计 鉴于分层结构的优势, IPTV播放器采用分层结构的框架。 为了更好地组织整体的软件结构,将播放器从底层硬件到上层应用划分为四层:硬件适配层、播放器内核层、播放器通讯控制层、业务层。 硬件适配层:该层针对不同的硬解码芯片制造商的硬件平台提供适配功能,为上层提供统一的接口。 播放器内核层:是播放器内核进程,通过调用硬件适配层提供的接口,完成与媒体处理相关的工作。 播放器通讯控制层:通常将该层叫做“播放器内核接口库层”。 该层通过 TCP连接与内核进程进行通讯,实现对内核的控制及状态查询,接收内核发送的事件通知。 接口库 本身无任何关于播放逻辑的控制,播放逻辑及各种与具体应用需求相关的处理,由业务层及业务层之上的应用层实现。 业务层:业务层 实现外部应用环境对播放器的调用,它的存在是以从繁多的播放业务中将播放器内核解放出来为目的,将业务层次的控制调用、功能层次的控制调用等集于一体。 IPTV 播放器内核设计与实现 在整个播放器软件分层结构中,上层媒体播放相关业务应用,通过播放器通讯控制层控制着播放器内核进程,播放器内核进程是真正负责处理和实现多媒体播放功能的实体,是播放软件体系中的核心,因此我们称其为播放器内核进程。 在设计新 播放器内核时,借鉴了 DirectShow 架构和操作系统的微内核思想,让播放器内核专一做与媒体内容相关的工作,即:只让它完成音视频流的播放功能,而不再直接参与数据的获取,数据的获取可以通过在播放器内核外围扩充相应的功能模块来完成。 比如:需要使用 HTTP、 MMS( Membership Management System)、 RTSP( Real Time Streaming Protocol) [5][6][7]、 P2P( peertopeer work)等协议从网络上获取数据时,只需要开发出相应的功能模块挂 接上即可,而不需要对播放器内核做任何修改;另外,需要增加对新媒体格式的支持时,只需要按照定义好的接口,开发针对该媒体格式的解复用组件DemuxFilter 等模块,然后加入播放器内核中即可,不需要对播放器框架做任何修改。 播放器内核,采用类似 DirectShow 中的 Filter 组件的概念,采用组件化、由组件和组件连接的形成链路的方式,来完成流媒体的解析( Demux)及解码( Decoder)。 播放器内核按照服务层级来划分模块,内层模块为外层模块提供服务,由外层的模块完成逻辑控制,内层模块完成实际的工作任务。 IPTV 播放器内核接口库层实现 播放器内核接口库层(即:播放器通讯控制层)提供一套接口,供业务层对播放器内第一章 绪论 第 5 页 核进程进行控制,从而控制视频的播放。 其实质是一套网络通讯的客户端发包工具,将播放指令按照和播放器内核约定的指令数据结构发送数据包给播放器内核进程。 此层一般不包含播放逻辑控制,以避免加入播放逻辑而影响其在上层业务服务层中不同业务应用中的普遍适用性。 本文的组织结构 本文共分为六章,全文组织如下: 第一章:绪论。 主要对 IPTV播放器研究的目的和意义、国外内研究现状以及本文要研究的内容进行了概述。 第 二章: IPTV播放器框架设计。 基于播放器的基本原理和分层结构的优势,提出了 IPTV播放器系统框架的设计思路。 依据该思路,设计了一个 可复用程度高、易扩展、利于开发各种音视频播放应用的先进框架,并对 框架的层次结构、层间通讯和框架所支持的技术特性进行了阐述。 第三章: IPTV播放器内核设计与实现。 借鉴微软 DirectShow架构和操作系统的微内核思想,提出了 IPTV播放器内核设计的思路:让播放器内核专一做与音视频流播放相关的工作,不再直接参与数据的获取等工作。 基于该思想,设计了播放器内核的架构,并给出了其主要逻辑 模块的实现。 第四章: IPTV播放器内核接口库层实现。 首先阐述了播放器架构分层结构中的内核接口库层与其它层的关系。 然后定义出一套 API接口,该接口供业务层调用。 最后以示例方式说明了接口的应用。 第五章: IPTV播放器测试。 首先给出了测试目的和测试环境,然后描述了测试过程,之后通过调用播放器内核接口库提供的接口, 对播放器内核和播放器内核接口库进行了功能测试。 第六章:总结与前景。 主要对 IPTV播放器的研究情况进行总结,同时指出本文所研究内容有待完善的地方,最后对未来发展进行了展望。 本章小结 本章通过对 IPTV播放器功能需求及相关领域国外内研究现状的分析,论述了课题研究的目的和意义,并概述了课题研究中需解决的几个关键技术问题。 硕士学位论文 第 6 页 第二章 IPTV 播放器框架设计 IPTV播放器的核心是播放器,在对 IPTV播放器框架进行设计时,首先需研究播放器的基本原理,在此基础上,基于分层思想设计了 IPTV播放器的框架结构,并对该框架的分层结构和层间通讯方式进行分析,最后给出该结构可支持的技术特性。 播放器基本原理 对于音视频播放,一般可有以下四个基本步骤:数据源读取( Source reader)、解复用( Demux, Demultiplexer的缩写)、解码( Decoder)、输出( Render),如图 1所示。 图 1 播放器播放步骤图 数据源读取 数据源读取就是为了获取播放所需的源数据。 电脑本地硬盘上存储的媒体文件、用于点播的 HTTP服务器上的媒体文件、 UDP组播的媒体文件、 RTSP服务器提供的 RTP数据包等 [5][6][7],均为有效的数据源。 读取成功后,就可开始解读该媒体文件 —— 解复用。 解复用 每种多媒体文件都有其特有的封装格式。 解析多媒体文件的封装格式,并读取所 需的特定内容的步骤,称之为解复用。 解复用的过程中可以分离出字幕数据、音频 ES流、视频ES( Elementary Stream)流等多媒体信息。 原始的视音频数据经过压缩、编码之后,即可生成基本码流( ES流)。 常见的编码格式有 MPEGI[8]、 MP MPEGII[8] 、 、 MPEG4[8][9]等。 解码 解码是编码的逆过程 , ES流数据经过解码器的解码运算,被还原成原始的视频或者音频。 解码器有纯软件、硬件芯片两大类,前者便于升级,后者更加稳定高效。 输出 解码之后的视频信息将以 YUV或 RGB格式输出到显示外设、音频信息将以 PCM(脉冲编码调试 )的形式输出到声音外设,整个过程也被称为渲染。 RGB是一种基于三基色原里的色彩表示法。 根据三基色原理,红( Red)、绿( Green)、蓝( Blue)是三种最基本的颜色,利用不同分量的基本颜色可以组成所有的可见光。 电视机、显示器的成像技术大多利用了三基色原理。 YUV是另外一种类似于 RBG的色彩表示法。 对连续变化的模拟信号进行抽样、量化、编码 ,最终生成数字信号的过程就是脉冲编码调制,简称为 PCM. 经过数据源读取、解复用、解码、输出四个步骤之后,就完 成了多媒体文件的播放。 一般而言,芯片制造商已经为机顶盒设备设计了专用的视音频解码和输出芯片,并为第 二 章 IPTV 播放器 框架 设计 第 7 页 开发人员提供了配套的 SDK(软件开发包 Software Development Kit).在此基础之上,机顶盒开发人员可以很简单的完成视音频输出。 因此,数据源读取与解复用才是机顶盒播放器软件的核心功能。 这两个部分也就是我们研究 IPTV播放器的核心。 IPTV播放器的研究与设计,就是对数据源读取和解复用这两部分的实现进行研究与设计。 因为解复用需要调用硬件解码芯片提供的解码及输出功能接口,所以该部分需要能支持 IPTV机顶盒设备常用的硬件解码芯片。 这就对解复用部分的研究与设计提出了易扩展的特性需求。 这是在设计 IPTV播放器框架时要重点考虑的问题。 IPTV 播放器框架设计思路 在一般的系统框架设计中,往往都采用分层式结构,因为分层式结构具有以下优势: 1) 有利于各层逻辑的复用; 2) 易于替换原有层次内的实现; 3) 能够降低层次与层次的依赖度; 4) 可以使不同级别的开发人员只关注整个结构中的某一层; 5) 有利于标准化。 显而易见,在软件开发过程中采用分层式设计可以:减少个人关注范围、复用逻辑模块、降低耦合度、制定统一的标准。 根据 划分的层次,定义好层间接口之后,开发人员可以仅仅专注于自己所负责的逻辑模块,无需关心其它模块,这样可以相互独立的开展工作、齐头并进。 例如,界面设计师( UI)只需思考如何满足并提高用户体验;软件工程师只需要考虑如何实现播放器的功能。 UI不用关心播放器功能、软件工程师不用考虑界面应该如何布局,每个岗位的职责都很专一,如此一来,开发进度自然能够保证。 耦合度高了意味着,软件的逻辑不清、功能彼此依赖,某处一旦修改往往会发生牵一发而动全身的大面积修改,严重影响进度和稳定性。 软件的分层结构,有效的降低了层间的耦合度,并 且具有良好地扩展性。 鉴于分层结构的优势,设计 IPTV播放。论文:iptv播放器研究与设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。