已阅读5页,还剩78页未读, 继续免费阅读
(通信与信息系统专业论文)基于rtsp协议的vod系统中间件实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
:乜 、。敬簿,莲叶。爹蓼 1 嘭一j110一,r l霍喁 ? 0j静稿一。镰?鬈 ,矧气h 、 a,。l 叁 独创性声明 独创性( 或创新性) 声明 1 1 1 11 1 11 111 1 1i i i ii ti ii 17 5 9 7 3 0 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处, 本人签名: 垂= 红 本人承担一切相关责任。 r 期: ! ! ! 竺:主:2 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论 文注释:本学位 本人签名: 导师签名: 适用本授权书。 日期:丝丝:! :f 日期: 兰三i 三i :l 冬陛 妒 ,一 , 。 摘要 基于r t s p 协议的v o d 系统中间件实现 摘要 本文是数字电视机顶盒公司推出机顶盒视频点播系统v o d 服务 中的一个子课题,目的是架设v o d 服务器,用户通过以太网网络与 服务器端连接,进行传输上下行数据交互,接收视频数据,实现视频 的实时播放。 本文在研究了实时网络多媒体通信r t p 、r t c p 、r t s p 协议的基 础上,基于l i n u xs o c k e t 网络套接口完成了v o d 视频实时传输系统 的整体构建,实现了基于r t p 协议的s o c k e t 数据通信的收发模块, 完成基于r t s p 协议的会话控制模块设计,并对v o d 系统服务器端 软件和客户端机顶盒内相对应网络模块软件进行了同步开发。 论文中根据本次课题需求,选用基于r e dh a te n t e r p r i s el i n u x s e r v e r 操作系统,采取模块化的思想进行设计,建立了整个v o d 系 统服务器端的网络请求处理模块、网络数据传输模块程序,同时给出 客户端机项盒相应部分的解决方案,对应用层r t p ,r t c p ,r t s p 协 议的原理,s o c k e t 套接口网络编程,服务器程序处理多进程技术进行 了详细的分析和讨论,给出了本系统的软件设计与实现的详细的流 程。 本文所做的实验及相关的讨论,对于i p 网上的数字机项盒实时 多媒体信息传输的应用研究具有一定的参考价值。 关键词:视频点播系统v o dr t s p 协议服务器网络编程 、 o r :, 誊 、 , | a b s t r a c t 1 匝d e s i g na n d 姗l e m 匣n 1 := a t i o no fv o ds y s t e m 泗d l e 猃r eb a s e do nr t s pp r o t o c o l a b s t r a c t t h i ss y s t e mi sd e s i g n e df o rd i g i t a lt e l e v i s i o ns e t t o pc o m p a n y ss u b s u b j e c ta b o u tp r o v i d i n gac o m p r e h e n s i v ed i g i t a lv i d e oo n d e m a n dv o d s e r v i c es y s t e m a n di ta i m sa ts e tu pv o d s e r v e r , p r o v i d i n ga c c e s st o u s e r st h r o u g ht h ee t h e r n e tn e t w o r kt og e td a t at r a n s m i s s i o nf r o mb o t h s e r v e ra n dc l i e n ts i d e ,a n da c h i e v er e a l t i m ev i d e op l a y b a c k t h i sp a p e rg i v e sab r i e fi n t r o d u c t i o na b o u tb a s i ct h e o r i e so nr e a l t i m e m u l t i m e d i an e t w o r kc o m m u n i c a t i o n sp r o t o c o lo fr t p , r t c pa n di 江s p a n da l s od o e ss o m er e s e a r c hi nl i n u xs o c k e tp r o g r a m m i n go nd a t a t r a n s m i s s i o na n dc o m m u n i c a t i o ns y s t e m ,a n db u i l d su pv o ds y s t e m s e r v e ra n dc l i e n tc o n n e c t i o nb a s e do nt h el i n u xs y s t e mt h r o u g ht h e s o c k e tc o n n e c t i o n a c c o r d i n gt ot h i st h e s i st o p i cn e e d s ,s y s t e mb a s e do nr e dh a t e n t e r p r i s el i n u xs e r v e ro p e r a t i n gs y s t e mi sc h o o s e df o rv o ds e r v e r a n dt h i ss y s t e mi m p l e m e n t sa l ln e t w o r km o d u l ed e v e l o p m e n t ,d a t as e n d a n dr e c e i v em o d u l eb a s e do nr t pp r o t o c o la n dp r o c e s sa n ds e s s i o n m a n a g e m e n tm o d u l eb a s e do ni 汀s pp r o t o c 0 1 t h i sp a p e rg i v e sr e l a t e de x p e r i m e n t sa n dd i s c u s s i o n sf o ri ps e t t o p b o xi n t e m e ti n f o r m a t i o nt r a n s m i s s i o no fr e a l t i m e m u l t i m e d i a a p p l i c a t i o n k e yw o r d s :v i d e oo nd e m a n ds y s t e mv o dr t s pp r o t o c o l s o c k e tp r o g r a m m i n go i ll i n u xs e r v e r 厂 目录 目录 a b s t ra c t 7 第一章绪论。l 1 1 数字电视机顶盒中间件技术的背景及研究意义1 1 3 第二章 2 1 2 2 2 3 2 4 2 5 第三章 3 1 3 2 3 4 3 5 第四章 4 1 1 1 1 数字电视机顶盒的发展l 1 1 2 数字电视机顶盒分类l 1 1 3 当前机顶盒软件技术的现状。2 数字电视机顶盒系统的中间件2 1 2 1 中间件的基本概念3 1 2 ,2 基于中间件的系统结构。3 课题研究具体内容与- t 作计划4 v o d 视频点播系统结构。5 客户端机项盒v o d 功能处理模块系统组成5 v o d 服务器端系统组成6 v o d 技术中流媒体的传输方式7 v o d 系统媒体服务器的技术指标要求7 d 、l ;8 v o d 视频点播系统的原理和应用协议9 r t p 协议9 3 1 1r t p 协议的报文格式9 3 1 2r t p 协议数据包格式1 0 r t c p 协议12 3 2 1r 1 p 协议工作原理1 2 3 2 2r t c p 协议报文格式1 2 3 2 3r t c p 协议报文类型1 4 3 2 4r 爪口协议的功能。1 4 r t s p 协议l5 3 3 1r t s p 协议的概念。1 5 3 3 2r t s p 协议请求信息1 6 3 3 3r t s p 协议响应信息1 8 3 3 4r t s p 数据报文数据结构格式定义2 0 3 3 5r t s p 协议功能2 l 3 3 6 服务器客户端建立会话过程2 3 3 3 7r t s p 协议状态过程2 7 基于r t s p 协议的整体网络框架3 l d 、结3l v o d 系统服务器和客户端模式设计3 2 v o d 系统服务器程序多进程技术3 2 4 1 1 多进程服务器的实现方法3 2 4 1 2 多进程服务器系统框架3 3 4 1 3 多进程服务器的原理3 3 目录 4 1 4 课题中的服务器进程处理实现。3 4 4 2 v o d 系统服务器与客户端的流媒体传输一3 5 4 3v o d 系统服务器端套接口程序流程框架3 6 4 3 1 v o d 系统服务器程序套接口步骤3 6 4 3 2 服务器端程序流程3 7 4 4v o d 系统客户端程序框架3 8 4 4 1 v o d 系统服务器机顶盒网络接口程序步骤3 8 4 4 2 客户端机顶盒网络接口程序流程3 8 4 5 套接口类型差异3 9 4 6 d 、结4 l 第五章v o d 系统服务器端协议相关模块程序实现4 2 5 1 服务器端程序主要模块4 2 5 1 1 服务器端与客户端会话建立模块s t r e a mi n i ts e t u p 4 2 5 1 2 流媒体播放请求响应模块s t r e a mc t dp l a y 4 3 5 1 3 流媒体暂停请求响应模块s t r e a mc t r lp a u s e 4 3 5 1 4 流媒体快进和快退请求响应模块s t r e a mc t r lf a s tf o r w a r d ( b a c k f o r w a r d ) 4 4 5 1 5 流媒体停止请求响应模块s t r e a mc t r ls t o p 4 4 5 1 6 流媒体停止请求响应模块s t r e a mc t r lc l o s e 。4 5 5 2 套接口读取函数4 5 5 3 套接口写入函数4 6 5 4 服务器端套接口建立程序4 7 5 4 1服务器端程序获取客户端信息4 7 5 4 2 服务器端与客户端建立套接口4 8 5 5 服务器端主程序5 0 5 5 1 服务器系统主进程程序5 0 5 5 2 服务器系统子进程程序5 2 5 6v 1 ) d 系统中的r t p 协议数据包处理程序5 2 5 6 1 初始化5 3 5 6 2 数据包发送5 4 5 6 3 数据接收5 5 5 6 4 程序实现5 6 5 7v o d 系统中的r t s p 协议信息处理5 8 5 7 1 描述信息的朋州o u n c e d 操作5 8 5 7 2客户端请求报文的服务器解析程序6 0 5 7 3 服务器端和客户端获取报文信息6 2 5 8 d 、结6 5 第六章v o d 系统服务器端程序性能测试及问题总结6 6 6 1 系统测试6 6 6 2问题总结6 8 6 3 展望6 9 参考文献7 0 致谢7 3 作者攻读学位期间发表的学术论文目录7 4 矿 一 v 北京邮电大学硕士学位论文 第一章绪论 1 1 数字电视机顶盒中间件技术的背景及研究意义 1 1 1 数字电视机顶盒的发展 近几年以数字电视与数字机顶盒技术为标志的第三次广电产业革命在全世界范 围内兴起,带动了多媒体交互技术和宽带互联网技术的方式,同时使得实时视频传输 等相关领域应用得到迅速发展。对于数字电视领域,随着数字机顶盒相关技术水平的 不断提高,使得数字电视的性能得到最大限度的发挥,也将数字传输接收系统的优点 充分的体现出来:数字系统中的信号接收效果好,图像清晰度高,音频质量高,信号 抗干扰能力强,同时系统传输效率高,良好的兼容现有的模拟电视机。 可见,有着广阔的应用前景和强大的技术支持的数字系统,必将推动数字电视机 顶盒技术的全面发展。 1 1 2 数字电视机顶盒分类 目前主流的数字机顶盒大致可分为基于有线电视网络( c a b l e ) 系统的机顶盒和具 备网络连接功能可接入口网络的机顶盒两种。 基于有线电视网络的机顶盒现阶段较为普遍,其技术较成熟,而具备以太网连接 的数字网络机项盒在传统的有线电视数据传输基础上,提供低成本的更为丰富的网络 功能,可充当电视机终端和宽带网络之间的交互接口,提供网络视频数据。 目前来看,相对于传统功能有线电视网络机顶盒,数字网络机顶盒市场占有率较 小,主要是应用人群相对分散,运营商实力相对薄弱,传统电视网络在短期内还未显 出其缺点等。但从数字系统发展趋势来看,伴随着互联网络应用发展的巨大前景和用 户要求不断提高,数字网络机项盒的市场占有率在未来几年将迅速增长【l 】。 从功能方面讲,数字机顶盒产品设计从最初单纯的模拟、数字信号转换和解码等 低端功能,逐渐向高性能、高智能、交互性、多功能化方向发展,因此,高端数字电 北京邮电大学硕士学位论文 视机顶盒的软件系统在当前有着十分广阔市场前景和需求。 开发具有可重用性、可扩展性和良好成本优势的有线数字机顶盒软件系统具有很 高的理论与实践意义。 1 1 3当前机顶盒软件技术的现状 从软件设计的角度来说,早期数字电视机顶盒的软件研发,往往是在硬件芯片厂 商提供的硬件系统基础上,针对硬件特性设计特定的软件架构,并进行修改式开发, 并将软件固化于专一的硬件系统之上,形成产品推向市场。这种软件框架与开发模式 具有明显的缺点,不利于数字机顶盒技术的全面发展【2 j : ( 1 ) 软件的设计与开发的可重用性受到严重限制约束 开发软件需要根据使用的芯片特定功能为基础,软件的结构没有经过优化设计, 使得此种开发模式下的机项盒产品软件很难再用到其它的硬件系统之上,可重用和扩 展性差。对于硬件驱动来说,应用程序直接建立在机顶盒的实时操作系统和设备驱动 上,一旦底层硬件平台升级变动,或将现有功能应用到其它的机项盒系统上,应用程 序就不能运行,或需大量更改,加入其它硬件驱动程序等。 ( 2 ) 软件开发和产品的成本增加 由于可移植性和可重用性的制约,机顶盒软件设计的项目中为了避免重复开发, 往往必须直接采用成熟的商用操作系统作为软件基础,而商用操作系统的购买费用和 单机授权费用都比较高,增加了软件开发和机项盒产品的成本。 ( 3 ) 软件设计难以根据市场需求作出合理调整 固定于特定系统平台的程序架构除了依赖性强、难以移植外,后期的维护、系统 升级、功能扩展也非常困难。针对不同的市场需求和用户选择的多样化差异,设计不 同服务质量和特殊功能的高端机顶盒成为数字电视运营商的业务重点之一,而原参考 设计软件框架使机顶盒产品软件的功能扩展升级十分困难,不能适应目前的需求。 寻求一种新的设计方法来适应发展速度相对较快的硬件平台,使软件系统达到最 大的可重用性,成为机顶盒软件技术的研究重点。 1 2 数字电视机顶盒系统的中间件 根据用户需求运营重点,针对不同类型用户和市场的差异,运营商可以选择不同 的应用,因此要求数字机顶盒能够支持不同等级的软件应用,在此背景下以可移植性 为特点的数字电视机顶盒软件中间件技术应运而生,得到了广泛的重视。 2 r 一 p 北京邮电大学硕士学位论文 中间件技术是数字机顶盒开发整体系统中的重要技术,对机顶盒技术的推广和发 展起着关键作用。 1 2 1 中间件的基本概念 中间件是指位于数字电视机顶盒底层实时操作系统与应用程序之间的软件部分, 它通常由j a v a 虚拟机、c 语言函数库与开发界面、网络浏览器、图像与多媒体处理 模块等组成,它以一组较为完整、标准的应用程序接口形式存在,使应用程序独立于 操作系统和硬件平台,屏蔽机顶盒在底层硬件上的差异和操作系统的不兼容性,使得 应用程序能独立于机项盒硬件平台,使得应用软件程序设计更加通用化。 国外机顶盒软件系统架构一般都是以中间件为核心的。国外采用较多的数字电视 中间件产品主要有:c a n a l + 、m e d i a h i g h w a y 、o p e n t v 、l i b e r a t o r 等p j 。 1 2 2 基于中间件的系统结构 以中间件作为划分数字机顶盒整体操作系统的界限,这样可把整个系统分为三个 层次,如图1 1 所示【4 】: 视频播放软件信息浏览器红外接口模块扩展应用 内置应用程序网络连接接口外部应用程序接口 应用中间件程序接口a p i 中间件适配程序 嵌入式操作系统:v x w o r k s ,l i n u x ) 硬件驱动程序模块接口处理程序 图1 1 中间件系统结构 ( 1 ) 物理驱动层 用于控制驱动机顶盒的底层物理硬件,向上层提供与硬件无关的接口。 物理驱动层包含两方面设计,一方面设备驱动层控制机顶盒的硬件完成特定的功 能;另一方面,驱动层为上层提供与硬件平台无关的抽象调用接口。 ( 2 ) 中间件层 中间件层是整个机项盒系统运行与资源调度核心,提供与驱动无关的应用层接 3 北京邮电大学硕士学位论文 口。中间件向上提供高级应用编程接口,包含一系列功能,如内存管理、任务调度、 状态管理、图形系统管理、网络协议处理接口、视频信号s i 信息数据装载、系统资 源管理以及与前端系统间通信及控制等,同时高级应用程序可通过中间件开发。 ( 3 ) 应用程序层 应用程序层是面向用户开发提供机顶盒功能的层次,也是应用程序开发人员之间 面对的软件层次。应用程序层调用中间件层和物理驱动层完成用户的各种功能请求, 为软件开发提供便利的处理接口。 1 3 课题研究具体内容与工作计划 鉴于上述所说的数字电视机顶盒技术以及视频点播技术v o d 系统的广泛应用和 现实意义,本课题的重点是完成对v o d 系统服务器端和用户机顶盒终端之间点播的 通信实现的研究,提出服务器终端v o d 系统数据传输模块的整体解决方案和模式设 计,完成数据连接、传输、控制部分功能的中间件软件的c 语言实现,完成对于机 顶盒客户端的连接请求响应处理、视频数据传输控制等方面的软件设计,最后完成客 户端到服务器端整体视频点播系统的搭建和测试。 其中原理方面具体介绍基于p 网络v o d 系统的基本概况,应用至v o d 服务器 和客户端的实时传输协议r t c p 和实时流协议r t s p 的原理;数字机顶盒用于连接的 数据处理部分的功能原理;服务器端基于并发式结构的基本原理。 根据项目情况和本次课题的研究内容,课题中v o d 服务器端系统选用基于r e d h a t 企业版l i n u x 服务器作为操作系统进行搭建,整体系统完成用户管理、流媒体文 件资源管理、安全管理、响应v o d 登录请求的守护进程管理等多个服务器功能组成 部分。 本课题的关键技术集中在服务器终端对应用层r t p ,r t c p ,r t s p 协议以及s o c k e t 网络编程这几方面,同时详细研究了对并发式多客户端响应的多进程技术,对处理客 户端r t s p 请求消息的处理,系统管理子系统,和客户端的系统接口等内容,根据项 目实际要求依据r f c 等相关文档对协议进行了扩展和改进,提出了项目创新的部分, 不同于已有的协议处理程序。如依据客户端机顶盒的功能和测试用例提供暂停、快进、 跳转、定时播放等协议处理模块。 客户端机顶盒系统选择的底层方案为s t 公司提供的基于s t i 5 5 1 4 的数字高清晰 度电视机顶盒系统解决方案。 4 r 北京邮电大学硕士学位论文 第二章v o d 视频点播系统结构 2 1客户端机顶盒v o d 功能处理模块系统组成 从整体系统看,v o d 视频点播系统包括多媒体通信客户终端、传输流媒体数据 的宽带网络和存储发送数据节目、处理客户端请求响应的服务器终端这三部分组成。 机顶盒是视频点播v o d 系统的客户端系统的最重要的部分之一,是面向用户的 基本设备。如图2 1 所示是客户端机顶盒针对v o d 服务的处理响应结构图,包含数 据处理和播放器调度等几个模块【5 】。 ( 1 ) r t s p 请求模块主要负责r t s p 请求信息的产生和对r t s p 服务器的应答信 息进行相应的处理,它是客户端r t s p 协议的实现模块。客户端节目方案总控制器根 据r t s p 处理结果进行创建不同方案的子控制器,用以对不同的方案的节目的处理。 ( 2 ) 网络接收模块负责接收r t p 协议数据包,送至解压模块进行节目数据提取。 ( 3 ) 单播控制器、分块多播控制器、可控多播控制器、批处理控制器是用以对 不同的方案分配不同的资源,以便对多媒体数据进行接收和播放。 ( 4 ) 数据接收器负责从网络上接收多媒体数据流并把数据交给数据缓冲器进行 缓冲。数据缓冲器主要负责数据缓冲,以便减小网络不同状况引起的时延和抖动。同 步控制器负责视频数据和音频数据的同步播放。数据解码模块分别对音频和视频的解 码器进行管理,利用解码器对多媒体音频和视频数据进行解码,随后发送给播放器。 客户疆卜_ 叫客产蹭钼方案辕控棚叫l 潞徽薯映 型:虿譬主矗 蜜幽国藤 l 客蠡裟+ h 竺竺型i 捂放模块t i l j 图2 1 客户端机顶盒v o d 处理程序系统结构图 5 北京邮电大学硕士学位论文 2 2v o d 服务器端系统组成 服务器端也是v o d 系统的重要组成部分之一,客户端通过网络与服务器建立连 接,由服务器端分析客户端请求,然后与客户端建立会话连接,服务器提供相应的流 媒体内容,通过网络发送到客户端。 从整体来看,服务器端系统则主要由视频服务器主程序、节耳数据库管理子系统、 内部进程管理通信子系统和网络协议处理模块接口这四大部分系统组成1 6 j 。 从功能上来看,服务器端主要负责节目配置、数据存储管理、并发进程管理、程 序i o 控制、用户数据分析、客户端请求响应处理分配、r t p r t s p 协议网络数据包 发送、响应处理等几方面,其整体组成部分如图2 2 所示: ( 1 ) 配置中心与节目数据库管理子系统协调,负责节目数据的增加、调整和删 除,以及配置节目调度方案等任务。 ( 2 ) 登录用户管理、用户数据库和节目信息统计计费协调工作,增加、删除、 修改和保存用户信息,统计节目调度信息数据,记录用户点播节目数据的费用。 ( 3 ) r t p 协议数据处理模块将节目信息生成r t p 数据包传输到网络发送模块。 ( 4 ) 套接口通信系统模块主要负责与客户端通信的套接口s o c k e t 的创建、连接、 套接口关闭、通过网络发送模块完成数据发送和接收等,然后返回处理结果。并把接 收到的r t s p 请求数据交于r t s p 处理模块进行处理, ( 5 ) r t s p 处理模块是r t s p 协议实现模块,包括协议报文解释器、生成器和同 其它主要模块间的调用接口。用于从通信模块处接收r t s p 协议报文,解析r t s p 命 令,根据报文的命令类型做出不同的解释。该模块实现了r t s p 协议的基本功能。 ( 6 ) 内部进程管理通信子系统主要完成服务器主进程和子进程间的通信等。 配i 中心lv o d 服务善6 u i 图形界面 节目 数据库 工 点播 挽频文l 牛 璺录用户蕾理 二工 用户数君摩 雏 r t p 致据包f l l 霸络发送 生成模块f 1模块 图2 2v o d 服务器端系统结构图 6 北京邮电大学硕士学位论文 2 3 v o d 技术中流媒体的传输方式 v o d 系统传输方式是将整个音视频等多媒体文件经过特殊的压缩方式分成一个 个压缩包,由视频服务器向用户客户端连续、实时传送。在采用流媒体传输方式的系 统中,用户不必像采用下载方式那样将整个文件全部下载完毕后进行播放,而是在本 地计算机上对网络实时传输过来的音视频编码数据直接进行解压播放r 7 1 。 r t p 协议和r t s p 协议由于其实时性、低带宽以及支持面向无连接的特点,使之 非常适合于进行流媒体数据的传输,因此大部分的嵌入式视频编码系统都倾向于使用 r t p 协议和r t s p 协议解决数据传输问题【8 】。图2 3 所示是r t p 和r t s p 协议在视频 传输系统中的工作机理。 视频数据 a d 转换 音频数据 a d 转换 客户端机顶盒接 收数据显示图像 和声音信号 音视频 编码芯片 m p e g 格式 视频流 音视频 解码芯片 a a c 音频流 视频数据 r t p 格式封装 音频数据 r t p 格式封装 视频r 【p 包 解封装 音频r t p 包 解封装 网络 发送 i 汀s p 控制 客户端 接受 图2 3网络r t p r t s p 协议视频传输中系统结构 项目中的重点是r t p 协议数据包生成和发送模块、r t s p 处理模块、服务器端进 程管理模块等几部分重要内容的代码实现,并结合数据管理等其它模块构建v o d 系 统服务器。由于项目采用的系统为l i n u x2 6 版本的内核,增加了大量优化的代码, 加入了更多网络协议,因此基于l i n u x 操作系统开发的应用程序能够充分利用操作系 统的新特性,并且使得程序设计更加方便。 2 4v o d 系统媒体服务器的技术指标要求 本课题中的服务器系统依据商业点播服务器丌发的标准,进行了合理的软件设 计,同时配备高性能的硬件系统,提供了并发视频服务。设计依据了以下几项技术指 7 北京邮电大学硕士学位论文 标和要求【9 】: ( 1 ) 服务器响应性能的优化 考虑到客户端点播时的响应速度是视频服务的重要指标,使得在不考虑网络因素 的前提下,设计服务器网络协议处理模块的时候应注意程序的复杂程度,使服务器尽 量做到响应迅速,尤其是服务器端程序的会话处理模块要做到能够高速切换与处理。 ( 2 ) 服务器程序应提供多并发的服务 v o d 系统服务器端的重要性能指标是同一时刻能够处理的客户端机顶盒请求数 目,可以用吞吐能力这一重要参数来描述。当多个客户端同时连接到服务器收看相同 或不同的节目,服务器要用各种缓冲优化方法来处理,同时兼顾进程间的通信处理。 当连接数目接近可容纳的最大值时,服务器使用特定的网络系统和硬件机制对传输数 据提供容错和速度保障,保证用户接收数据的可靠性和有效性。同时,根据用户对不 同的资源的需求,服务器还应能作出提供不同服务质量的选择。 ( 3 ) 服务器系统存储结构合理 按照多媒体信息存储系统的设计原则,短期内未被调用和单位时间内统计调用次 数低的数据资料,将被存放在高密度的磁带库内;频繁被调用的数据被放在高速硬盘 上;而调用频率介于前两者之间的内容则被存储在光盘库内。 对于本课题中提供的节目源数据,一致存储在磁盘阵列中,磁盘读取速度接近于 最高,考虑到商业扩展和提供大数据量流媒体文件的可能性,对于存储成本的设计有 待于优化。 2 5 小结 本章内容主要介绍了视频点播系统v o d 的整体系统构成,简要说明了客户端的 结构和服务器端的功能模块的组成,阐明各个组成模块的作用,并对服务器端程序的 设计原则和要求做出总结,根据v o d 系统设计的原理和网络协议来介绍整体项目工 作的重点内容。 8 北京邮电大学硕士学位论文 第三章v o d 视频点播系统的原理和应用协议 3 1r t p 协议 为满足多媒体数据的实时传输要求,支持网络实时数据传输服务,2 0 0 3 年i e t f 的视频音频工作组制订了一种新的传输协议,它就是实时传输协议r t p ( r e a l t i m e t r a n s p o r tp r o t o c o l ,r t p ) 1 0 1 ,提供了数据实时传输的标准。 在r f c 3 5 5 0 中,r t p 被定义为紧密相关的两个部分: ( 1 ) 实时传输协议r t p ( r e a l t i m et r a n s p o r tp r o t o c o l ,r t p ) ,用来传输具有实 时性特点的数据,包括实时音频、视频数据,并提供对不同编码方式特定数据的支持o ( 2 ) 实时传输控制协议r t c p ( r e a l - t i m et r a n s p o r tc o n t r o lp r o t o c o l ,r t c p ) , r t c p 协议实时监测音频、视频数据包的延时、抖动、丢包状况,以及网络的带宽变 化情况,从而可在应用层对实时数据源的发送参数做出调整,适应网络的变化。 3 1 1r t p 协议的报文格式 版本填充扩展源c s r c 数标记负载类型序列号 时间戳t s ( t i m es t a m p ) 同步源标识( s s r c ) 作用源标识清单( c s r c ) 扩展头 用户数据( p a y l o a d ) 图3 1r t p 协议的报文格式 如图3 1 所示,r t p 协议报文中包含了版本号字段o r ) ,填充标志位( p ) ,扩展位 ( ,源c s r c 数目( c c ) ,标记位( m ) ,负载类型( p d ,序列号( s e q u e n c en u m b e r ) ,时 间戳( t i m es t a m p ) ,同步源标识符( s s r c ) ,作用源标识符( c s r c ) 等信息。 ( 1 ) 版本号字段( :版本号字段为2 位,标识r t p 协议的版本号信息。 ( 2 ) 填充标志( p ) :填充标志为1 位,若该位为l ,则在r t p 报文分组后增补了 零填充字节,使分组达到要求的固定长度,便于硬件进行数据包处理。填充的最后一 个字节指明了填充的长度。当某些封装算法需要数据块尺寸固定的传输或底层协议封 9 北京邮电大学硕士学位论文 装多个r t p 报文时,需要使用填充字节。 ( 3 ) 扩展位( x ) :扩展位为l 位,该位被设置,则在固定报文头后插入扩展的报 文头部。一个长度不定的头部扩展必须加在r t p 头部后面,如果有c s r c 列表,则 扩展就跟在该列表后面。r t p 数据头部只能包含一个扩展。如果要使用多个扩展,扩 展部分盼前1 6 位则用于该扩展的标识或者用到的参数。 ( 4 ) 源c s r c 数目( c o :源c s r c 记录数目为4 位,表示固定报文头后作用源 ( c o n t r i b u t i n gs o u r c e ) 标识符数目。 ( 5 ) 标记位( m ) :标记位为l 位,该位保留未被使用,具体由用户设定。该位往 往被用来标明连续码流中的某些特殊位置,如视频帧边界等。 ( 6 ) 负载类型( p t ) :负载类型为7 位,标识了r t p 报文负载域数据的格式,接 收端根据p t 标识来判断数据类型:对于视频、音频编码数据,则由负载类型决定着 接收端使用的解码器类型。r t p 协议还允许用户在一定的数值范围1 为( 9 6 1 2 7 ) 为特殊 的数据编码方式动态地指定标识符值。 ( 7 ) 序列号( s n ) :序列号为1 6 位,用来标识i m 报文的顺序,接收端根据序 列号检验报文,处理数据。每发送一个r t p 信息包,序列号就加l ,接收端可以用它 来检查信息包是否有丢失以及按顺序号处理信息包。初始的序列号使用随机数,以防 止恶意攻击。 ( 8 ) 时间戳( t i m es t a m p ) :时间戳字段为3 2 位,用于记录r t p 协议数据包中第 一个字节的获取时间。接收端利用时间戳去除由网络引起的数据包延时抖动,并在接 收端为解码器和播放器同步提供重要信息。用户可以根据程序需要指定时间戳取值。 ( 9 ) 同步源标识符( s y n c h r o n i z a t i o ns o t a c ei d e n t i f i e rf o ro r i g i n a t o r ,s s r c ) :同步 源标识符3 2 位,它用来标识r t p 协议数据包起源,每个数据包都包含特定s s r c 信 息。s s r c 不是发送端的i p 地址,而是在新的数据包生成时源端随机分配的一个号码。 ( 1 0 ) 作用源标识符( c o n t r i b u t i n gs o u r c ei d e n t i f i e rf o rp a y l a o d ,c s r c ) :该域最 多可有1 5 项,每项的长度为3 2 位,列举出产生该r t p 数据包的所有源。 3 1 2r t p 协议数据包格式 r t p 协议可以在面向连接t c p 协议或无连接u d p 协议的传输层协议上工作,通 常可以看做是位于t c p 和u d p 协议之上的传输层子层。通过这种方式实现端到端的 多媒体流同步控制机制,不需事先建立连接,也不需中间节点的参与,因此i 盯p 协 议对传输层是独立的。 l o 北京邮电大学硕士学位论文 在r t p 协议报文头的结构中没有定义标记报文长度的字段,这是因为r t p 协议 把数据分段的任务交给传输层协议处理,由传输层协议将数据分段为若干数据包进行 传输。r t p 数据包中封装好待发送的视频和音频数据后,由u d p 或t c p 协议封装至 传输层数据包中,最后封装为数据包。 作为实时流传输,通常使用u d p 协议,因为u d p 协议传输时延较小、无重传等 特性,符合实时音频视频数据的要求,同时,r t p 协议数据包可以利用u d p 协议的 端口号和校验和机制,保证传输的有效进行。 在r t p 协议数据包发送端,创建r t p 数据包,然后应用程序把r t p 数据包发送 到u d p 类型的套接口网络接口中。同样在接收端,r t p 数据包通过u d p 类型套接口 输入到应用程序。发送的数据包格式如图3 2 所示【l l 】: i p 包首部 2 0 b y t e s u d p 首部 8 b y t e s r t p 首部 1 2 b y t e s 数据 n * 1 8 8 b y t e s 图3 2i p 数据包格式 在本课题的服务器客户端程序中,将r t p 数据包的数据类型定义为: t y p e d e fs t r u e t _ r t p _ p a c k e t r t ph e a d e rh e a d e r :r t p 首部,1 2 个字节 c h a rp a y l o a d r t p j a c k e ts i z e ;r t p 负载,共1316 字节 ) r t p _ p a c k e t ; 将r t p 数据首部格式定义为【1 2 】: t y p e d e fs t r u c t _ r t p _ h e a d e r ; 同时对建立好的控制会话的文件句柄进行类型定义: # d e f i n ea s p _ h a n d l eu n s i g n e dl o n g 北京邮电人学硕+ 学位论文 3 3 5r t s p 协议功能 r t s p 协议报文的功能交互是由客户端和服务器双方的r t s p 协议标识对象 ( r t s po b j e c t ) 完成的,r t s p 协议标识对象标识r t s p 协议的功能。 r t s p 协议的r f c 说明文档规范中,最基本的功能包括a n n o u n c e ,s e t u p , p l a y ,p a u s e ,t e a r d o w n 和o p t i o n 这几种。由于r s t p 支持协议功能扩展, 所以功能的选择可以根据应用需要来确定,由程序来实现扩展,以增强服务器端的服 务能力。可扩展的功能还包括r e c o r d ,r e d i r e c t ,g e tp a r a m e t e r , s e tp a r a m e t e r 和其它用户开发扩展等,己定义的功能详细介绍如表3 2 所示: 表3 2 控制功能描述 功能方向控制功能描述 s 刖p 客户端用于决定客户端请求的u r l 资源的传输机制。客户端可 至以对一个已经播放的节目发请求,让服务器改变传输机 服务器 制。如果该请求不成功,服务器响应的错误为:4 5 5m e t h o d n o tv 甜i di nt h i ss t a t e d e s c r i b e 客户端从请求的u r l 中检索延时或媒体对象的描述信息,允许 至 使用客户端需要的描述方式和格式。 服务器d e s c r i b e 的请求和应答过程组成媒体r t s p 的初始阶段
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自然语言处理应用策略
- 金太阳2026届高三联考313C化学试题(含答案)
- 疼痛护理中的疼痛预防
- 护理美学与康复护理
- 2026年干扰采样环境或采样活动(喷淋 遮挡)的识别与处置
- 流行腮腺炎护理要点总结
- 2026年雨水花园 生物滞留带长效运维技术要点
- 2025年前台服务测试
- 2026年社区中医理疗馆与商圈旗舰店模式对比与选址策略
- 精神病护理中的紧急情况处理
- 2026年宁夏石嘴山市单招职业适应性测试题库及一套答案详解
- 2026广东广州市黄埔区机关事务管理局招聘政府雇员3人笔试备考题库及答案解析
- 2026年巡特辅警笔试题库及完整答案一套
- 中烟机械技术中心招聘笔试题库2026
- 矿山运输车队运营管理制度
- 钛厂生产耗材领用制度
- 码头安全员培训内容
- 2026年淮南联合大学单招职业技能测试题库附答案
- (正式版)DB61∕T 2107-2025 《矿产资源规划实施评估技术规范》
- 老年活动中心活动管理规定
- 手术室无菌管理
评论
0/150
提交评论