(计算机应用技术专业论文)基于intel+pxa270的嵌入式流媒体系统的设计研究.pdf_第1页
(计算机应用技术专业论文)基于intel+pxa270的嵌入式流媒体系统的设计研究.pdf_第2页
(计算机应用技术专业论文)基于intel+pxa270的嵌入式流媒体系统的设计研究.pdf_第3页
(计算机应用技术专业论文)基于intel+pxa270的嵌入式流媒体系统的设计研究.pdf_第4页
(计算机应用技术专业论文)基于intel+pxa270的嵌入式流媒体系统的设计研究.pdf_第5页
已阅读5页,还剩50页未读 继续免费阅读

(计算机应用技术专业论文)基于intel+pxa270的嵌入式流媒体系统的设计研究.pdf.pdf 免费下载

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

文档简介

摘要 本论文以互联网、流媒体和嵌入式应用这三种技术的结合为背景,在研究这 三者基本原理和特点的基础上,提出了嵌入式流媒体系统解决方案。论文首先概 述性地介绍了流媒体背景知识,然后重点讨论了流媒体传输的相关问题,包括传 输的原理、实现方法及流媒体文件格式等。针对实时流媒体传输,重点研究了实 时传输协议r t p 以及r t p 传输的控制r t c p 协议。从本论文工作需要使用的操作 系统出发,重点分析了系统软件平台w i n d o w sc e 嵌入式操作系统,研究了嵌入式 操作系统w m d o w sc e 的引导程序及其一般开发方法,讨论了论文工作中用到的嵌 入式硬件平台i n t e lp x a 2 7 0 评估板的结构和该硬件系统的应用。 本论文的嵌入式系统开发工作,在理论研究方面,重点研究了嵌入式w i n d o w s c e 操作系统引导程序的构建过程。在应用程序开发方面,利用嵌入式的软硬件平 台,使用微软的w i n d o w sm e d i a 技术,设计了基于该技术的嵌入式流媒体系统, 在嵌入式开发平台上实现了在线音视频播放功能。针对实时a v 流传输,按照嵌 入式软件开发流程,利用软件开发相关工具,研究设计了基于l 玎p r t c p 的嵌入 式流媒体传输方案。 关键词:流媒体嵌入式系统w i n d o w sc e a b s t r a c t t h i sp a p e rw a sw r i t t e nw i t ht h eb a c k g r o u n do ft h ec o m b i n a t i o no ft h r e et e c h n o l o g i e s i n c l u d i n gt h en e t w o r k ,s t r e a m i n gm e d i aa n da p p l i c a t i o n so fe m b e d d e ds y s t e m ,a n da l l e m b e d d e ds t r e a m i n gm e d i as y s t e ms o l u t i o nw a sp r e s e n t e db a s e do i lt h eb a s i c a lt h e o r y a n dc h a r a c t e r so ft h et h r e et e c h n o l o g i e s i nt h ef i r s tp a r to ft h i sp a p e r , as u m m a r yo ft h e b a c k g r o u n dk n o w l e d g eo fs t r e a m i n gm e d i a w a sg i v e n ,a n dt h e nr e l a t e dp r o b l e m so ft h e t r a n s m i to fs t r e a m i n gm e d i ai n c l u d i n gt h et h e o r y , i m p l e m e n t a t i o na n df o r m a to ft h e s t r e a m i n gm e d i af i l e sw e r ed i s c u s s e d a g a i n s tt h er e a l t i m et r a n s m i to fs t r e a m i n gm e d i a p r o b l e m s ,t h ep r o t o c o l sa sr e a l t i m ep r o t o c o l ( r t p ) a n dr e a l t i m ec o n t r o lp r o t o c o l ( r t c p ) w e r ei n v e s t i g a t e d f r o mt h eo sa p p l i e di n t h ew o r ko ft h i sp a p e r , t h ee m b e d d e d o p e r a t i n gs y s t e mw i n d o w sc ew a sa n a l y z e d ,t h eg e n e r a ld e v e l o p m e n tm e t h o do f w i n d o w sc ew a sg i v e na n db o o t l o a d e rf o rw i n d o wc ew a ss t u d i e d a n da l s ot h e c o n s t r u c t u r ea n da p p l i c a t i o n so ft h ee m b e d d e dh a r d w a r ep l a t f o r mi n t e lp x a 2 7 0u s e di n t h i sp a p e rw e r ei n v e s t i g a t e d o nt h er e s e a r c hi nt h et h e o r yo fe m b e d d e ds y s t e md e v e l o p m e n t ,t h ed e s i g n i n g p r o c e d u r eo ft h eb o o t l o a d e rf o rw i n d o w sc ew a ss t u d i e di nt h i sp a p e r w h i l eo nt h e d e v e l o p m e n to fa p p l i c a t i o np r o g r a m s ,a ne m b e d d e ds t r e a m i n gm e d i as y s t e mb a s e d0 1 1 t h ee m b e d d e ds o t u h a r d w a r ep l a t f o r ma n dt e c h n o l o g yo fm i c r o s o f tw i n d o w sm e d i aw a s d e v e l o p e dt oi m p l e m e n tt h ef u n c t i o no fo n l i n ea vb r o a d c a s t i n g a g a i n s tr e a l t i m ea v s t r e a m i n gm e d i at r a n s m i tp r o b l e m s ,as o l u t i o n f o re m b e d d e ds t r e a m i n gm e d i a t r a n s m i t i o nw a sd e s i g n e db a s e d0 1 1r t p r t c p , d e v e l o p m e n tp r o c e s so fe m b e d d e d s o f f w a r e sa n dt h ea p p l i c a t i o n so fr e l a t e dd e v e l o p m e n tt o o l s k e y w o r d s :s t r e a m i n gm e d i a e m b e d d e ds y s t e mw i n d o w sc e 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果:也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。( 保密的 论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 导师签名: 日期丝墨: 日期趟:至:;盘 第一章绪论 第一章绪论 1 1国内外研究发展状况 随着互联网的普及和多媒体技术在互联网上的应用,实时传送视频、音频、 多媒体动画等媒体文件的技术成为了热点,这种传输技术称为流媒体传输技术。 简单地说,流媒体技术是由专门的流媒体服务器向用户连续、实时地发送声音、 影像、动画等多媒体文件,用户在播放前并不下载整个文件,只将部分内容缓存, 使流媒体数据流边传送边播放,节省了下载等待时间和存储空间【l j 。 流媒体技术是网络音视频技术发展到一定阶段的产物,是一种解决多媒体播 放时网络带宽问题的“软技术 。流媒体技术并不是单一的技术,它是在融合了 很多网络及音视频技术之后产生的,涉及到流媒体数据的采集、压缩、存储、传 输以及网络通信等多个领域。从字面上可以看出,流媒体技术的核心就是流媒体 本身,所谓流媒体是指数据在网络上按时间先后次序传输和播放的连续音视频数 据流 2 】。具有流媒体格式的音视频文件为w m v 、a s f 、w m a 文件,如果传一些 传统的媒体文件,如a v i 之类的,那么只能等到它们完全下载完了才能观看,因 为这些媒体格式本身是不支持流媒体格式的,这和它们的封装方式有关,比如它 们的封装是分头和尾的,那么在传输完毕以前,也就是尾部还没有接收到,那么 这个文件就相当于一个破损的文件,播放器连类型都无法分辨,更不要说播放了。 以前我们观看一段音视频文件,往往需要先进行下载,般都要等上几十分 钟甚至几个小时。而流媒体只让浏览者等上短短的几秒钟就可以欣赏到精彩的多 媒体影像。对于用户来讲,观看流媒体文件与观看传统的音视频文件在操作上几 乎没有任何差别。唯一有区别的就是在影音品质上,由于流媒体为了解决带宽问 题以及缩短下载时间,而采用了较高的压缩比,因此用户感受不到很高的图像和 声音质量。但随着网络带宽的不断增加,以及压缩格式的不断改进,用户最终可 以欣赏到满意的效果。 因为其技术特点,流媒体业务正变得日益流行,广泛应用于在线直播、视频 点播、远程教育、流媒体电视、多媒体新闻发布、网络广告、电子商务、远程医 疗、网络电台、实时视频会议等互联网信息服务的方方面面,它的使用将为网络 信息交流带来革命性的变化,对人们的工作和生活将产生深远的影响。 近年来微电子技术迅猛发展,处理器增长速度也随之加快,嵌入式系统领域 也发生了翻天覆地的变化。以信息家电为代表的互联网时代嵌入式产品,为嵌入 2 基于i n t e lp x a 2 7 0 的嵌入式流媒体系统的设计研究 式市场展现了美好前景,同时也对嵌入式系统技术,特别是软件技术提出了新的 挑战。这主要包括:支持日益更新的功能、灵活的网络联接、轻便的移动应用和 多媒体信息处理【3 】。目前嵌入式市场未来的发展重点在于对应用范围的拓展,而手 持设备、信息家电和工业控制则是近期市场的三大热点。特别是随着网络的普及, 嵌入式系统在网络应用上的需求逐渐增加,而嵌入式流媒体系统的出现在一定程 度上满足了这一市场需求。 顾名思义,嵌入式流媒体系统即是将流媒体技术与嵌入式系统结合起来,将流 媒体系统“嵌入 到嵌入式系统中。一般包括以下几个组件:转档转码,用于压 缩转档;编码器,用于整合多媒体数据;服务器,管理并传送大量流媒体数据; 解码器及播放器,用于在用户端的播放界面上呈现流媒体数据内容。原始音视频 经过编码和压缩后,形成媒体文件存储,媒体服务器根据用户的要求把媒体文件 传递到用户端的媒体播放器。 嵌入式系统与流媒体技术结合的最大好处在于使流媒体技术带有了嵌入式系 统的特点: 小型化和便携性:嵌入式流媒体系统的体积一般比通用p c 机要小得多,这使得 人们可以很方便地携带这样的系统。这也是嵌入流媒体系统的主要特点,使流媒 体技术的应用领域进一步扩大。这个技术已经在现今的某些智能设备中得以应用。 稳定性:由于嵌入式流媒体系统面向的是特定的流媒体应用,这使得系统的 运行环境比通用计算机上的复杂性大为降低,这也提高了系统的稳定性。 嵌入式流媒体系统的发展与嵌入式系统的发展是分不开的。随着计算机专业 人士进入嵌入式系统领域进行研究,形成了基于嵌入式系统软、硬件平台,以网 络、通信为主的非嵌入式底层应用。这样的嵌入式系统往往以嵌入式操作系统为 软件平台,应用层程序的开发带有明显的计算机工程特点。 本文的所要研究和实现的嵌入式流媒体系统基于嵌入式i n t e lp x a 2 7 0 硬件平台 和嵌入式w i n c e 操作系统软件平台。 1 2 课题研究的目的和意义 本论文主要是基于嵌入式w i n c e 系统的应用程序的设计和研究,通过对i n t e l p x a 2 7 0 开发板的各种接口资源的研究学习,在此基础上进行开发。随着嵌入式的 快速发展,其应用越来越广泛。如何把应用程序设计的更加人性化,方便广大用 户使用是嵌入式研究的重点。本论文嵌入式流媒体系统就是在研究嵌入式应用程 序的基础上完成的,在开发板上实现了在线音视频播放的功能,旨在满足用户对 信息、通讯、出行和娱乐等方面的需求。通过对该系统的开发与实现过程,对嵌 入式系统的研究有了更进一步的认识和了解。 第一章绪论 3 1 3 论文主要工作及内容安排 论文的选题来自计算机学院实验教学工作需要。根据目前国内外嵌入式发展的 状况及现有条件,主要研究基于嵌入式系统的应用程序的设计研究。 本论文的主要工作在了解嵌入式系统、w i n d o w sc e 操作系统、流媒体技术及 网络应用的基本知识及概念的基础上,在p x a 2 7 0 平台下研究和实现了流媒体传 输系统,有机地结合了嵌入式终端设备和网络传输,符合嵌入式技术和网络结合的 发展趋势。在熟悉i n t e l 公司的p x a 2 7 0 开发板的基础上,利用该评估板提供的丰 富资源,进行应用程序的设计研究。 论文研究的主要内容分为三个部分。 第一部分包括第二章和第三章。第二章概述了流媒体传输的相关技术以及网络 协议,重点介绍了实时传输和控制协议r t p r t c p 。第三章介绍了常用的嵌入式操 作系统,说明了基于嵌入式w i n d o w sc e 下的系统及应用开发的一般步骤,基于 x s c a l e 架构的p 墟7 0 处理器的框架等。 第二部分是基于w i n d o w sm e d i a 技术的流媒体系统设计,介绍了w i n d o w s m e d i a 相关技术,并给出了应用该技术的嵌入式流媒体系统实现方法。 第三部分则介绍了流媒体传输的嵌入式软件的开发过程。 第二章流媒体的传输及相关网络协议5 第二章流媒体的传输及相关网络协议 本章讨论了流媒体传输的相关问题,涵盖了传输的原理、实现方法及流媒体 文件格式等。针对本文相关的理论研究和工程实现,重点研究了目前应用最广泛 的流媒体传输网络协议,包括实时传输协议r t p 以及r t p 传输的控制r t c p 协议。 2 1 流媒体传输 2 1 1 流媒体传输的原理及实现方式 多媒体数据必须进行预处理才能适合流式传输,这是因为目前的网络带宽对 多媒体巨大的数据流量来说还显得远远不够。预处理主要包括两方面:一是降低 传输质量;二是采用先进高效的压缩算法。另外一方面,流媒体的传输对于文件 格式也有特定的要求。 流式传输的实现需要缓存。这是因为i n t e m e t 以包为传输基础进行异步传输, 对一个实时a v 源或存储的w 文件,在传输中它们要被分解为许多包,由于网 络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也 就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖 动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会以网 络内暂时拥塞使播放出现停顿【4 】。通常高速缓存所需容量并不大,这是因为高速缓 存使用环形链表结构来存储数据:通过丢弃已经播放的内容,“流”可以重新利用 空出的高速缓存空间来缓存后续尚未播放的内容。 流式传输的实现需要合适的传输协议。在流式传输的实现方案中,由于t c p 需要较多的开销,不太适合传输实时数据,故一般采用t c p 来传输控制信息,而 用u d p 来传输实时声音数据。 典型的流媒体传输过程如图2 1 所示。用户w e b 浏览器通过h t t p t c p 与w e b 服务器交换信息,获取流媒体服务清单,根据获得的流媒体服务清单向媒体服务 器( a 服务器) 请求相关服务;然后客户机的w e b 浏览器启动相应的媒体播放 器( a v 播放器) ,通过r t p 刖d p 从媒体服务器中获取流媒体数据,实时播放。 在播放过程中,客户机的媒体播放器需要通过r t c p t c p ( u d p ) 与媒体服务器交 换控制信息,媒体服务器根据客户机反馈的流媒体接收情况智能调整向客户机传 送的媒体数据流,从而在客户端达到最优的接收效果。 6 基于i n t e lp x a 2 7 0 的嵌入式流媒体系统的设计研究 图2 1 典型的流媒体传输过程 实现实时视频流式传输,一般而言,在服务器端需要实时视频采集器、压缩编 码器,视频传输时需要特定的流媒体传输协议,而在接收端则需要解码器及播放 器。图2 2 为一个具体的实时视频流式传输系统的例子。 发送端接收端 图2 2 典型实时视频流式传输系统 实现流式传输有两种方法:实时流式传输和顺序流式传输【5 】。一般说来,如视 频为实时广播,或使用流式传输媒体服务器,或应用如r t s p ( r e a lt i m es t r e a m i n g p r o t o c 0 1 ) 的实时流控制传输协议,即为实时流式传输。如使用h t t p ( 超文本传 输协议) 服务器,文件即通过顺序流发送。采用哪种传输方法依赖于用户的需求。 当然,流式文件也支持在播放前完全下载到硬盘。 1 顺序流式传输 顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在给定 时刻,用户只能观看已下载的那部分,而不能跳到还未下载的前头部分,顺序流 式媒体传输不像实时流式媒体传输在传输期间根据用户连接的速度做调整。由于 标准的h t t p 服务器可发送这种形式的文件,也不需要其他特殊协议,它经常被 称作h t t p 流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和 广告,由于该文件在播放前观看的部分是无损下载的,这种方法保证了电影播放 的最终质量。这意味着用户在线观看,必须经历延迟,对较慢的连接尤其如此。 顺序流式传输适合于发布较高质量的视频片断。 第二章流媒体的传输及相关网络协议 7 顺序流式文件是放在标准h t t p 或f t p 服务器上,易于管理,基本上与防火 墙无关,但不适合发布长片断和有随机访问要求的视频,如:讲座、演说与演示。 它也不支持现场广播,严格来说,它是一种点播技术。 2 实时流式传输 实时流式传输指保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。 实时流与h t t p 流式传输不同,它需要专门的流媒体服务器与传输协议。 实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,用户可 选择快进或快退以观看前面或后面的内容。理论上,实时流一经播放就不可停止, 但实际上,可能发生周期暂停。 实时流式传输必须匹配连接带宽,这意味着在调制解调器速度连接时图像质 量较差。而且,由于出错丢失的信息被忽略掉,网络拥挤或出现问题时,视频质 量很差。如欲保证视频质量,顺序流式传输也许更好。实时流式传输需要特定服 务器,如q u i c k t i m es t r e a m i n gs e r v e r 、r e a l s e r v e r 与w i n d o w sm e d i as e r v e r 。这些 服务器允许用户对媒体发送进行更多级别的控制,因而系统设置、管理比标准 h t t p 服务器更复杂。实时流式传输还需要特殊网络协议,如r t s p ( r e a l t i m e s t r e a m i n gp r o t o c 0 1 ) 或m m s ( m i c r o s o t tm e d i as e r v e r ) 。这些协议在有防火墙时有 时会出现问题,导致用户不能看到一些地点的实时内容。 流媒体的播送可以采用以下三种方式: 1 单播( u n i c a s t ) 在客户端与媒体服务器之间需要建立一个单独的数据通道,从媒体服务器发 出的数据包只能沿着这些通道点对点地传送给每一个用户,这种传送方式称为单 播。在单播方式中,如果多个用户想同时接收同一个节目,即需要进行点对多点 的多媒体传输时,每个用户必须分别向服务器发出请求和查询信息,服务器又必 须向每个用户发送一个数据包,虽然数据不会发送到没有接收站点的网络上,但 服务器发送相同的数据到不同的多个接收者时,有重复发送的现象出现。 2 点播与广播( o n d e m a n da n db r o a d c a s t ) 点播连接是客户端与服务器之间的主动的连接。在点播连接中,用户通过选 择内容项目来初始化客户端连接。用户可以开始、停止、后退、快进或暂停流。 点播连接提供了对流的最大控制。 广播就是发送站点发送数据时,给所有与其相连接的子网都发送一个数据包, 而不管在这些子网上是否有接收站点。在广播过程中,客户端接收流,但不能控 制流。例如,用户不能暂停、快进或后退该流。 3 组播( m u f i c a s t ) 若使用单播传输方式发送数据包时,出现的冗余容易加重服务器的负担,响 应需要很长时间,甚至停止播放,管理人员也被迫购买硬件和带宽来保证一定的 8 基于i n t e lp x a 2 7 0 的嵌入式流媒体系统的设计研究 服务质量,同时也降低网络的效率。而点播方式由于允许每个客户端各自连接服 务器,容易在很短时间内耗完网络带宽。 广播方式虽然可以减少发送站点的负担,提高响应速度。但是对于没有目的 站点的子网来说,传输处理广播数据包是一种无效的开销,浪费网络资源的同时 也有可能由于路由回环而引起严重的广播风暴。 显然,单播和广播方式都有降低网络利用率的现象,不能有效地解决单点送 多点接收的传输问题。 对点到多点的多媒体传输来说,组播克服了上述三种发送方式的弱点,允许 路由器一次将数据包复制到多个通道上,只将数据包的单独一个拷贝发送给需要 的那些用户,保证了网络上多媒体应用占用网络的最小带宽,网络利用效率大大 提高,成本大为下降。一 通过网络传输多媒体时可以采用单播、广播与组播等传输方式,它们各有优 缺点,但相比较而言,在目前网络带宽还有限的情况下,采用组播传输方式传输 多媒体信息有其一定的优越性。 2 1 2 流媒体文件格式 无论是流式的还是非流式的多媒体文件格式,在传输与播放时都需要进行一 定比例的压缩,以期得到数据包大小与播放质量的平衡。在压缩过程中多媒体文 件的数据信息进行了重新的编排,那么在使其重新恢复到原有状态时需要进行解 压缩【6 j 。在一般的情况下,压缩编码的过程交由专门的压缩软件进行,而解压缩则 是播放器的工作。 流媒体文件格式是经过特殊编码的,以适合在网络上边下载边播放,而不是 在等到整个文件下载完成才能播放。并不是说普通的标准多媒体文件不能够在网 络中以流的形式播放,而是由于其播放效率太低,所以很少采用。另外在编码时, 还需要向流媒体文件中加入一些其他的附加信息,例如计时、压缩和版权信息。 目前在流媒体领域中,竞争的公司主要有三个:微软、r e a l n e t w o r k s 和苹果 公司,而相应的产品就是:w i n d o w sm e d i a 、r e a ls y s t e m 和q u i c k t i m e 1 】【7 】。此外 还有像g e o 公司使用大量j a v a 技术开发的e m b l a z e 流媒体解决方案,但用户数量 较少,该公司现已向无线领域发展。表2 1 中就列出了三家公司产品中所分别使用 的流媒体文件格式。 第二章流媒体的传输及相关网络协议 9 表2 1 主流公司的流媒体文件格式 格式扩展名媒体格式公司名称播放工具 a s f a d v a n c e ds t r e a m i n gf o r m a t 砌vf 砌d o w sm e d i av i d e om i c r o s o f tw i n d o w sm e d i ap l a y e r 、砌a 晒,d o w sm e d i a 彳口d i o n nr e a l a u d i o r e a l v i d e o r ar e a l a u d i o r e a l p l a y e r s r t r e a l t e x tr e a l n e t w o r k s r e a l o n ep l a y e r 。 e m v b r e a l a u d i o r e 耐诉d e o 譬召r r pr e a l p i x m 0 v q u i c k t i m em o v i e a p p l e q u i c k t i m ep l a y e r q t 另外还有一些其他公司的流媒体文件格式,像m a c r o r n e d i a 公司的s w f ( s h o c k w a v ef l a s h ) 、v i v o 公司的v i v ( v i v om o v i e ) 以及由r e a l n e t w o r k s 和m a c r o m e d i a 公司共同开发的r f ( r e a l f l a s h ) 等。其中s w f 格式的文件已经成为了网络动画 格式的事实标准。 在实际的网络应用环境中,会使用一些流媒体发布文件,如r a m 、a s x 等。 这些文件本身不提供压缩格式,也不描述影音数据,他们的作用在于以特定的方 式安排影音数据的播放。虽然流媒体发布文件在流媒体播放的过程中并不是必须 的,但使用流媒体发布文件非常有利于流式多媒体的发展以及使用。例如:实际 的流媒体文件可位于多个不同的存储地点,而由流媒体发布文件中的信息控制这 些流媒体的播放。另外,由流媒体发布文件隐藏流媒体文件的实际位置也是很好 的做法。 2 2 流媒体网络传输协议 2 2 1 实时传输协议r t p 早在七十年代初期,人们就试图在网络中传输话音,此后在七八十年代产生 了许多重要的专利技术,比如时戳、顺序编号等。1 9 9 1 年2 月,在d a r t n e t 上进行 了一系列的话音试验。同年8 月,l a w r e n c eb e r k e l e y 际实验室的网络研究工作组 在d a r t n e t 上发布了一个称为“v a t 的语音会议工具,所使用的协议就是后来r t p 协议的前身。到了1 9 9 2 年,r t p 协议有了1 0 版,1 9 9 5 年1 1 月正式被i e s g ( i n t e r n e t e x p e r tt a s kf o r c e ) 定为i n t e r n e t 标准,文本号是r f c l 8 8 9 川。1 9 9 6 年,n e t s c a p e 公司 1 0 基于i n t e lp x a 2 7 0 的嵌入式流媒体系统的设计研究 宣布其“n e t s c a p el i v em e d i a 建立在r t p 协议之上。而微软,其n e t - m e e t i n g 软件 也支持了r t p 会议。 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 的缩写,中文名称是实时传输协议,用 于i n t e m e t 上针对多媒体数据流的传输【8 】。r t p 被定义为在一对一或一对多的传输情 况下工作,其目的是提供时间信息和实现流同步。r t p 的典型应用是建立在u d p 上, 但也可以在t c p 或a t m 等其他协议之上工作。 r t p 本身没有提供机制来确保实时的传输或其他的服务质量保证,其q o s l 扫低 层的服务来完成。它不保证传输或防止乱序传输,也不假定下层网络是否可靠, 是否按顺序传送数据包。r t p 包含的序列号允许接收方重构发送方的数据包顺序, 也可以用来确定一个数据包的正确位置,例如,在视频解码的时候可以不用按顺 序对数据包进行解码。 , r t p 是面向连接的,在r t p 会话期间,每个会话的参与者都维护着一份参与者名 单,r t p 中的控制部分r t c p 监控会话的质量,向每个参与者反馈已发送的数据包 数量、丢失的数据包数量,作为流量控制的参考信息。r t p 和r t c p 配合使用,能 以有效的反馈和最小的开销使传输效率最佳化,因而适合于传送网络视频流数据。 r t p 实际上是由实时传输协议i 汀p ( r e a l t i m et r a n s p o r tp r o t o c 0 1 ) 和实时传输 控制协议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 0 1 ) 两部分组成的。i 玎p 协议基 于多播或单播网络为用户提供连续媒体数据的实时传输服务;r t c p 协议是r t p 协 议的控制部分,用于实时监控数据传输质量,为系统提供拥塞控制和流控制。传 输和控制部分相辅相成,共同完成流媒体的传输和流量的控制。 在本论文嵌入式流媒体传输系统中所用到的各层网络协议彼此间关系如图2 3 所示: 应用程序 r t p r t c p u d pt c p i p v 4 i p v 6 局域网j 。域网 图2 3 流媒体传输系统中各层网络协议关系 应用程序通过r t p r t c p 传输数据包以及传输控制信息,r t p 数据包基于u d p 协议传输以保证实时性,而r t c p 控制包基于t c p 协议传输以保证可靠性,从而保 证了数据传输的实时性和正确性。 r t p 数据包中包括四项基本内容,图2 4 显示了r t p 数据包的位置及结构。r t p 数据包由固定报头和有效载荷两部分组成,其中固定报头又包括时戳、顺序标号、 同步源标示、贡献源标示等,有效载荷就是传输的音频或视频等多媒体数据【8 】。 第二章流媒体的传输及相关网络协议 i p u d p r t p 数据包如图2 4 所示: 图2 4r t p 数据包 “t i m e s t a m p i n g ( 时戳) 是实时应用中的一个重要概念,发送端会在数据包 中插入一个即时的时间标记,这个时间标记就是所说的时戳,时戳会随着时间的 推移而增加。当数据包抵达接收端后,接收端会根据时戳重新建立原始音频或视 频的时序。时戳也可以用于同步多个不同的数据流,帮助接收方确定数据到达时 间的一致性。 由于u d p 协议发送数据包时无时间顺序,因此人们就使用“s e q u e l l c cn u m b e r s ” ( 顺序编号) 对抵达的数据包进行重新排序。同时顺序标号也被用于对丢包的检查。 时戳和顺序编号都能再现数据,但顺序编号并不是多余的。在实际的传输过程中 会遇到这样的情况,在某些视频格式中,一个视频帧的数据可能会被分解到多个 r t p 数据包中传送,这些数据包会具有同一个时戳,因此仅凭时戳是不能够对数据 包重新排序的。 “s o u r c ei d e n t i f i c a t i o n ”( 源标识) 可以帮助接收端利用发送端生成的唯一数值 来区分多个同时的数据流,得到数据的发送源。例如在网络会议中通过源鉴定可 以得到哪一个用户在讲话。 “p a y l o a d t y p e ( 有效负载类型) 对传输的音频、视频等数据类型予以说明, 并说明数据的编码方式,接收端从而知道如何破译和播放负载数据。默认的负载 类型在r f c l 8 9 0 文档中有定义。在任意给定时间的传输中,r t p 发送端只能传输一 种类型的负载。 r t p 报头格式如图2 5 所示,除了“c s r c ( 贡献源标识) 外,其他内容都会 出现在每一个r t p 报头中。 b123 n12 84s 6 7 8 9 012 3i ls 6 7 8 9 8128 上ls67 89 日1 4 - - - 4 1 - 一+ - - 4 , - - + - - 4 1 - - 4 1 - - 4 - 一+ 一+ 一4 1 - - 4 1 - - 4 1 - - 4 1 - - 4 - - - 4 - - 4 1 - - + 一+ - - 4 - - - 4 - 一4 - - - + 一- - 4 1 - 一4 1 - - 4 - 一4 1 - - 4 1 - - 4 1 - - 4 1 - - 4 1 一 i u ;2 i p i x l c c l i p t ls e q u e n c en u m b e ri + 一4 1 一4 1 - - 4 1 一- i l - 中4 1 4 1 - - 4 1 一+ 一4 1 一t 一4 - 一4 1 一+ 一4 1 一4 - 一4 1 - 一4 1 一4 - 一一4 - 一一+ 一一4 1 一4 1 一+ 一4 1 一4 1 一4 1 一4 1 一一+ it i m e s t a m pi 4 - - - - - 一一+ 一+ - - 4 - - - 4 1 - - - - 4 1 - - - 4 - - - 4 - - - 4 - - - - - 4 1 一4 1 - - 4 1 - - 4 1 - - 4 1 一+ 一+ 一一+ 一+ 一+ 一+ 一+ 一- 4 1 , - - 4 - - - 4 - - - 4 - - - 4 - - i k is 9 n c h r o n i z a t i o ns o u t - c e ( s s r c )i d e n t i f i e ri + 皇+ 皇+ 宣+ 士+ 暑+ 掌4 1 = + = + 暑- i f = + = 4 - 年+ = 4 1 4 1 4 - = + = = 4 - 4 1 富4 1 4 = = - i f4 - ;+ 葺+ 宣+ = + = + 篁+ n - t 1 - 鲁+ 皇4 1 - = 4 - ic o n t r i b u t i n gs o t i f c e ( c s r c ) i d e n t i f i e r sl i- i 4 1 - - 4 - - - 4 - - - - - 4 1 - - 4 1 一4 1 一+ 一 - - + 一一+ 一+ 一+ 一+ 一+ 一+ - - 4 1 - - + 一4 - - - + - - + 一+ - - 4 - - - 4 1 - - 4 - - - 4 - - - 4 1 - - - - - - 4 - - - 4 1 - - 图2 5 r t p 报头格式 1 2 基于i n t e lp x a 2 7 0 的嵌入式流媒体系统的设计研究 每一个r t p 首部都具有前1 2 个字节,随后的c s r c 域则只有在用到混合器时才 可能出现。首部中比较重要的域及其意义如下: v e r :v e r s i o n ( 版本) ,占用2 比特,说明r t p 协议的版本,当前的版本号为2 。 p :p a d d i n g ( 填充) ,占用1 比特。填充位若为1 5 示净荷后有填充字节,填充字 节的最后一个字节表示填充的字节数,它经常用于固定长度的加密算法或者将多 个口包封装在低层协议报文里时可能需要的填充字节。 x :e x t e n s i o n ( 扩展) ,占用1 比特。如果应用程序类型允许扩展,则使用x 位指 定分组中是否有扩展。若x - - 1 ,表示有一个长度可变的头部扩展域被3 口n c s r c 域 之后。 c c :c s r cc o u n t ( 贡献源标识计数) ,占用4 比特,紧跟在r t p 固定头部之后, 用来表示r t p 数据包的来源;r t p 协议允许在同一会话中存在多个数据源,它们可 以通过r t p 混合器合并为一个数据源。 m :m a k e r ( 标记) ,占用1 比特,意旨接受重要事件,一般在数据包流中的帧边 界进行标记。对m 位的解释依赖于应用程序,需要标记数据流中的点( 如在发送视 频时每帧的开头) 的应用程序使用它。如果该值为1 ,在音频应用中表明语音段的开 始,在视频应用中表明一帧的结束。 p t :负载类型( p a y l o a dt y p e ) ,占7 个比特,n j r t p 协议中所携带的媒体类型, 包括采用的编码算法、采样频率、承载通道等。常见的负载类型有:p c mm u l a w 、 m p e ga u d i o 、g 7 2 2 等音频流以及m p e g 1 m p e g 2v i d e o 、m o t i o nj p e g 、h 2 6 1 等视频流,用户可以根据需要定义负载类型。在数据传输过程中,根据网络的拥 塞情况或网络传输状况及时调整负载类型,以保证传输的实时性。 s e q u e n c en u m b e r :顺序编号,占1 6 l l 特。 t i m e s t a m p :时戳,占3 2 l b 特。 s s r c :同步源标识,占3 2 比特,从一个同步源出来的所有的包构成了相同的 时间和序列部分。所以在接收端就可以用同步源为包分组,从而进行回放。 c s r c :贡献源标识,可以有o 到1 5 个项目,每个项目占3 2 比特,一列贡献源 标识被插入到“m i x e r ( 混合器) 中,混合器表示将多个载荷数据组合起来产生一 个将要发出来的包,允许接收端确认当前数据的贡献源,它们具有相同的同步源 标识符。 当应用程序开始一个r t p 会话时将使用两个端口:一个给i u p 进行数据数据流 的传递,另一个给r t c p 进行控制流的传递。一个只管传递有效数据,另一个帮助 监视网络流量和阻塞情况为有效数据传递提供可靠保障。r t p 和r t c p 就像一对姐 妹,两者配合能以有效的反馈和最小的开销使传输效率最佳化【9 】。 r t p u d p i p 数据包的具体结构如表2 。2 所示: 第二章流媒体的传输及相关网络协议 1 3 表2 2r t p u d p i p 数据包的具体结构 v e r s l o n 头部长度服务类型报文长度 标识标志位片断偏移值 生存期用户协议号头校验和 源口地址 目的i p 地址 源端口号目的端口号 报文长度校验和 vp) dc cmp t s e q u e n c en u m b e r t i m e s t a m p s y n c h r o n i z a t i o ns o u r c e ( s s r c ) i d e n t i f i e r c o n t r i b u t i n gs o u r c e ( s s r c ) i d e n t i f i e r p a y l o a d r t p 协议的特点: 1 协议简单 r t p 协议是建立在u d p 协议上的,其本身不支持资源预留,不提供保证传输 质量的任何机制。数据包也是依靠下层协议提供长度标识和长度限制。因此协议 规定相对简单的多。 虽然r t p 协议头中没有提供媒体数据的长度,但这一点可以通过u d p 来实现, u d p 在w i n d o w s 中提供了编程接口,其每次发送的数据包大小都是有边界的,即发 送的数据在接收时一定和发送时的数据长度相同。 2 支持多站点传送 由于r t p 协议在其协议头中通过同步源标识符s s r c 来识别不同的发送端和接 收端,因此可以应用在多站点的情况中。r t p 协议可以利用u d p 的组播来支持多点 传送,由r t p 和u d p 来共同完成传输层的工作,可以满足网络多媒体应用的需求。 3 具有传输控制功能 r t p 的传输控制功能并不是像t c p 协议提供的流量控制、差错控制等,而是通 过r t c p 来对r t p 携带的媒体数据的传输和接收情况进行分析和反馈。在r t c p 协议 中携带了媒体传输时的延迟、抖动、丢包率等有关服务质量的信息,通过r t c p 反 馈到发送端,可使其做出相应的码率和编码方式的调整。 4 扩展性好 r t p 协议一般建立在u d p 之上,充分利用了u d p 协议的多路复用服务,当 然它也可以建立在其他的传输协议上,像a t m 、i p v 6 等。这主要得益于r t p 协议 不对下层协议作任何的制定。同时r t p 对于新的负载类型和多媒体软件来讲也是 完全开放的。 5 数据流和控制流分离 r t p 协议的数据传输和控制传输使用不同的端口,大大提高了协议的灵活性 和处理的简单性。 1 4 基于i n t e lp x a 2 7 0 的嵌入式流媒体系统的设计研究 由于r t p 的技术特点,r t p 广泛的应用于各种情况下实时数据的传输。以下 给出r t p 的一些应用,但r t p 的用途不限于此。在这些例子中,r t p 运行于i p 和u d p 之上,且遵循r f c 3 5 5 1

温馨提示

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

评论

0/150

提交评论