《网络多媒体技术》课件第8章.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《网络多媒体技术》课件第8章.ppt》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络多媒体技术 网络 多媒体技术 课件
- 资源描述:
-
1、1 1第8章 流媒体技术8.1 流媒体概述流媒体概述8.2 流媒体传输协议流媒体传输协议8.3 流媒体的关键技术及开发平台流媒体的关键技术及开发平台8.4 P2P流媒体流媒体8.5 流媒体的应用流媒体的应用8.6 本章小结本章小结思考练习题思考练习题2 2流媒体技术是多媒体和网络领域的交叉学科。多媒体技术使PC机能够将声音、视频、文字等多种信息整合成多媒体信息,并实现方便的交互,从而给人们的工作和娱乐带来丰富多采的变化,只是这些多媒体信息的数据量比传统的文本文件要大得多。当人们不再满足只在单机上看到丰富的声、文、图等多媒体信息,而是希望能从网络中获得多媒体信息的时候,网络的数据传输压力大大增加
2、,因为即使下载一个很短时间的视/音频文件也需要用户等待很长的时间。形成这种等待的主要原因是多媒体文件需要从服务器上全部下载到客户端后才能播放。为了解决这个问题,流媒体技术应运而生。本章对流媒体技术从概述、传输协议、关键技术、开发平台以及P2P流媒体技术几个方面进行全面介绍。3 38.1.1 流媒体的定义流媒体的定义目前尚没有一个关于流媒体的公认定义。一般来说,流媒体(Streaming Media)是指在Internet/Intranet中使用流式技术进行传输的连续时基媒体,如音/视频等多媒体内容。其中流式(Streaming)技术是指在媒体传输过程中,服务器将多媒体文件压缩解析成多个压缩包后
3、放在IP网上按顺序传输,客户端(通常是指PC机,也称用户端)则开辟一块一定大小的缓冲区(计算机内存中用于临时存放数据的存储块)来接收压缩包,8.1 流媒体概述流媒体概述4 4缓冲区被充满只需几秒钟或数十秒钟的时间,之后客户端就可以解压缩缓冲区中的数据并开始播放其中的内容。客户端在消耗掉缓冲区内数据的同时,又下载后续的压缩包到空出的缓冲区空间中,从而实现了边下载边播放的流式传输。可见流式传输是流媒体实现的关键技术。5 5与传统的多媒体技术相比,流媒体具有如下特点:流媒体是实时的,当客户下载媒体文件时,不需要像传统的播放技术那样将整个文件都下载下来之后再播放,而是边下载边播放,它不仅节省了客户端的
4、缓冲区容量,还大大减少了用户的等待时间。流媒体数据在播放后即被丢弃,不会存储在用户的计算机上,便于流媒体文件的版权保护。流媒体的服务器支持客户端对流媒体进行VCR(录像机)操作控制,即用户可以像使用家用录像机一样对流媒体进行播放、暂停、快进、快退、停止等操作。6 68.1.2 流媒体的通信原理流媒体的通信原理由于目前的网络带宽还不能完全满足巨大的AV、3D等多媒体数据流量的要求,因此在流媒体通信技术中,应首先对AV、3D等多媒体文件数据进行预处理,然后才能进行流式传输。它主要包括降低质量和采用先进、高效的压缩算法两个方面。与下载方式相比,尽管流式传输大大降低了对系统缓存容量的要求,但它的实现仍
5、需要缓存,这是因为Internet是以包传输为基础进行断续异步传输的。数据在传输中要被分解为许多包,而网络又是动态变化的,各个包选择的路由可能不尽相同,故到达用户计算机的时间延时也就不同。7 7所以,必须使用缓存系统来弥补延时和抖动的影响,并保证数据包传输顺序的正确,使媒体数据能连续输出,不会因网络的暂时拥堵而出现播放停顿。在整个传输和控制过程中,必须采用一定的网络协议来实现流式传输,为客户提供可靠的服务质量保证。8 8流媒体的传输过程如图8-1所示。客户(Web浏览器)通过HTTP/TCP与Web服务器(Web Server)交换信息,获取流媒体服务清单,根据获得的流媒体服务清单向媒体服务器
6、(AV Server)请求相关服务;然后客户机的Web浏览器启动相应的媒体播放器(AV Player),通过RTP/UDP从媒体服务器中获取流媒体数据,实时播放。在播放过程中,客户机的媒体播放器需要实时通过RTSP/TCP(UDP)与媒体服务器交换控制信息,媒体服务器根据客户机反馈的流媒体接收情况,智能化地调整向客户机传送的媒体数据流,从而在客户端达到最优的接收效果。9 9图8-1 流式传输的基本原理实现流式传输有两种方法:实时流式(Realtime Streaming)传输和顺序流式(Progressive Streaming)传输。一般来说,如果视频为实时广播,或使用流式传输媒体服务器,或
7、应用如RTSP的实时协议,则流式传输为实时流式传输。如果使用HTTP服务器,文件即通过顺序流发送,这种传输方式就称为顺序流式传输。流式文件在播放前可完全下载到硬盘上。10 101.顺序流式传输顺序流式传输顺序流式传输是顺序下载的,在下载文件的同时客户可观看在线媒体,在给定时刻,客户只能观看已下载的那部分,而不能跳到还未下载的后续部分。顺序流式传输不像实时流式传输那样,可在传输期间根据客户连接的速度作调整。由于标准的HTTP服务器可发送这种形式的文件,因而不需要其他特殊协议,它经常被称做HTTP流式传输。顺序流式传输比较适合高质量的短片段,如片头、片尾和广告,由于这种文件是无损下载的,因此它可以
8、保证电影播放的最终质量。这意味着客户在观看前必须经历延时,对较慢的连接尤其如此。11 11当通过调制解调器发布短片段时,顺序流式传输显得很实用,它允许用比调制解调器更高的数据速率创建视频片段。尽管有延时,但毕竟可以发布较高质量的视频片段。顺序流式文件是放在标准HTTP或FTP服务器上的,这种文件易于管理,基本上与防火墙无关。顺序流式传输不适合长片段和有随机访问要求的视频,如讲座、演说与演示。它也不支持现场广播,严格说来,它是一种点播技术。12 122.实时流式传输实时流式传输实时流式传输保证媒体信号带宽与网络连接匹配,使媒体可被实时观看到。实时流式传输与HTTP流式传输不同,它需要专用的流媒体
9、服务器与传输协议。实时流式传输总是实时传送,特别适合现场事件,也支持随机访问,客户可快进或后退以观看前面或后面的内容。理论上讲,实时流一经播放就不可停止,但实际上可能发生周期性暂停现象。13 13实时流式传输必须匹配连接带宽,这意味着在以调制解调器的速度连接时图像质量较差,而且,由于出错而丢失的信息被忽略掉,因此当网络拥挤或出现问题时视频质量很差。如欲保证视频质量,采用顺序流式传输也许更好。实时流式传输需要特定服务器,如Quick Time Streaming Server、Real Server与Windows Media Server。这些服务器允许对媒体发送进行更多级别的控制,因而系统设
10、置和管理比标准HTTP服务器更复杂。实时流式传输还需要特殊网络协议,如RTSP(Real Time Streaming Protocol)或MMS(Microsoft Media Server)。这些协议在有防火墙时有可能会出现问题,导致用户不能看到一些地点的实时内容。14 148.1.3 流媒体的播放方式流媒体的播放方式1.单播单播客户端与媒体服务器之间是点到点连接的,媒体服务器为每一提出请求的客户端单独发送一条媒体流,这种播放方式称为单播。可见,只有当客户端首先发出请求后,服务器才会发送单播流,并且请求的客户数越多,单播流就越多,这会给服务器和网络带宽带来沉重负担。15 152.组播组播媒
11、体服务器只需发送一条媒体流,之后通过组播转发树再复制并转发该媒体流,使网络中的所有客户端共享同一条流,这种播放方式称为组播。可见,组播的好处是减少了网络上传输的媒体流的数量,从而节省了网络带宽。16 163.点播和广播点播和广播点播是指客户端主动与服务器取得联系,要求服务器传送它指定的媒体流。点播连接时,用户可以对流进行开始、暂停、后退等VCR操作,实现了对流的最大控制。由于点播最终传送的是单播流,因此,当点播的用户数不断增加时,网络带宽会迅速消耗殆尽。广播是指服务器将一条媒体流向网络中的所有客户发布,而客户只能被动接收,并且不能通过VCR操作来控制流。这种广播连接同样会浪费网络带宽。17 1
12、78.1.4 流媒体系统的基本结构流媒体系统的基本结构流媒体系统包括音/视频源的编码/压缩、存储、流媒体服务器、媒体流传输网络、用户端播放器5个部分,如图8-2所示。原始音/视频流经过编码和压缩后,形成流媒体文件并存储,媒体服务器根据用户的请求把流媒体文件传递到用户端的媒体播放器。这5个部分有些是网站需要的,有些是客户端需要的,而且不同的流媒体标准和不同公司的解决方案会在某些方面有所不同。一个流媒体系统应至少包括以下三个组件。18 18图8-2 流媒体系统基本结构19 191.编码器编码器(Encoder)它用于将原始音/视频转换成流媒体格式的软件或硬件。要传送的多媒体数据应先进行预处理,将多
13、媒体文件经过压缩编码,处理成流媒体文件格式。这种格式的文件尺寸较小,并且加入了流式信息,适合在网络上边下载边播放。常用的流媒体文件格式有*.wma、*.wmv、*.avi、*.rm、*.mp3、*.mov等。前面章节曾介绍过,有多种不同的压缩编码方法可以将原始音/视频压缩成能够在Internet上传播的流格式文件。20202.媒体服务器媒体服务器(MediaServer)它是用于向客户发布流媒体的软件。转换成流媒体格式的文件被存放在媒体服务器上,作为向客户发布流媒体的服务器,它要处理来自客户端的请求,例如客户端要求播放、暂停或者快进一个流文件,这就要求服务器在流媒体传输期间要始终与客户端的播放
14、器保持通信。21 213.播放器播放器(Player)它是客户端用来收看(听)流媒体的软件。位于客户端的播放器实际上就是一个解码器,它能够解码收到的流媒体文件。除此之外除此之外,播放器还通过与媒体服务器的相互通信来提供对流的交互式操作。不仅如此,要实现流媒体的传输,客户端需要缓冲系统来缓存流数据。流媒体文件通过IP网络传输的时候,最终是以一个个IP分组的形式传送的。IP分组在传输时是各自独立的,因此会根据路由选择协议动态地选择不同的路由到达客户端,导致客户端接收到的分组延时不同,次序被打乱。因此需要缓冲系统将IP分组按正确的顺序进行整理,保证媒体数据的顺序输出。2222不仅如此,当网络出现暂时
15、拥塞使得数据分组延误到达时,由于缓冲区事先缓存了一定数量的数据,因此节目不会中断,从而保证了播放的连续性。缓冲区采用环形链表结构存储数据,该结构能使已经播放完的数据随即被丢弃,空出的缓冲区空间再重新被利用来缓存后续的媒体内容。除了以上这三个组件之外,通常为了用户操作的简单和直观,流媒体系统还采用Web服务器向用户提供流媒体节目的目录信息,用户可以通过自己的Web浏览器获得这个目录信息,从而定位节目所在的媒体服务器的位置,之后与媒体服务器建立联系。2323流媒体采用流式传输方式在网络服务器与客户端之间传输数据。流式传输的实现需要合适的传输协议。IETF(Internet Engineering
16、TaskForce,因特网工程任务组)制定的很多协议可用于实现流媒体技术。8.2 流媒体传输协议流媒体传输协议24248.2.1 实时传输协议实时传输协议实时传输协议(Real-time Transport Protocol,RTP)是由IETF设计的用于互联网上多媒体数据流的一种传输协议,主要用来为实时数据的应用提供点到点或点到多点的传输服务。它已成为IP网多媒体系统广泛采用的实时媒体传输层协议。RTP由两个紧密相关的部分组成:实时传输协议(RTP)和实时传输控制协议(RealtimeTransportControlProtocol,RTCP)。为了可靠、高效地传送实时数据,RTP和RTCP
17、必须配合使用。RTP主要用于承载多媒体数据,并通过包头时间参数的配置来使其具有实时的特征。2525RTCP主要用于周期性地传送RTCP包,监视RTP传输的服务质量。在RTCP包中,含有已发送的数据包的数量、丢失的数据包的数量等统计资料。因此,服务器可以利用这些信息动态地改变传输速率,实现流量控制和拥塞控制服务。26261.相关概念相关概念(1)RTP会话。两个或多个用户之间通过RTP建立的连接称为RTP会话,“用户”为会话的参加者。对于一个参加者而言,会话由一对传输层地址标识。这对传送层地址包括一个网络地址(IP地址)和一对端口号。一个端口为RTP报文的发送/接收所使用,另一个端口为RTCP报
18、文的发送/接收所使用。如果会话是由组播建立起来的RTP会话,那么该RTP会话的标识对于会话的每个参加者来说都是相同的,即每个参加者使用同一个IP地址和同一对端口号标识该RTP会话以进行通信。如果会话是由单播建立起来的,那么会话双方使用各自的IP地址,但却用相同的一对端口号来标识该RTP会话。2727在一个RTP会话上通常只传送一种媒体类型的数据,多个媒体对应多个RTP会话,每个RTP会话具有自己的RTCP报文,用以控制会话的质量。RTP会话之间通过不同的端口对号来区分。2828(2)RTP协议的相关文件。为了实现根据应用进行分帧的原则,RTP定义了两类文件:格式文件(Format Docume
19、nts),规定了将某种媒体流划分成应用数据单元(ADU)的原则以及ADU的格式。RTP协议已经为H.26X视频流、MPEG视频流以及各种编码格式的音频流等制定了格式文件。用户也可以根据自己的需要定义新的格式文件。轮廓文件(Profile Document),规定了某一特定应用对RTP协议的具体使用方法。一般一种应用对应一个轮廓文件。2929(3)同步源和提供源。在一个采用RTP支持的多媒体会议会话中,需多个用户同时参加,而且每个用户发出多种类型的媒体,例如麦克风的声音或摄像机的视频,那么发出某一类媒体的源,如麦克风和摄像机被称为同步源(Synchronization Source,SSRC)。
20、同步源之间通过同步源标识符来区分。要注意的是,如果某一类型的媒体来自多个源,例如同时有多个摄像机提供视频,那么每一个源也都要用不同的同步源(SSRC)标识符来区分。3030会话过程中,多个用户发出的多个同步源都汇集到一个叫做Mixer(混合器)的中间系统中,经混合器重新组合形成一个新的组合流再发送出去,用户接收的是混和器输出的组合流。这样,用户终端就能够获得所有参加会议的其他用户的信息。31 31混合器的作用是接收所有源的RTP报文,以某种方式将它们组合起来,其中还对部分报文进行数据格式转换,使之形成新的RTP报文,并将其发送出去。由于这些输入的同步源彼此之间不同步,因此需利用混合器对它们进行
21、调整,生成组合流。这样,该组合流就是一个同步流,它同样也需要用一个同步源标识符来标识。此时该同步源标识符代替了输入混合器的所有同步源的同步源标识符,这样便将具有唯一一个同步源标识符的组合流送给各个接收端。在混和器中形成组合流的所有同步源叫做该组合流的提供源(Contributing Source,CSRC)。32322.RTPRTP报文由固定长度的报头、可选的CSRC及载荷组成,格式如图8-3所示。RTP报头为固定长度,共12个字节。RTP报文包含的主要字段有:V:RTP协议的版本号,占2位。当前的协议版本号为2。P:填充标志,占1位,指明载荷区最后是否有填充数据。如果有填充数据,则载荷区的最
22、后一字节中装载填充数据的长度。3333图8-3 RTP报文格式3434X:扩展标志,占1位,如果X1,则在RTP报头后跟有一个扩展报头。CC:CSRC计数器,占4位,指示CSRC标识符的个数。M:标记,占1位,标识连续码流中的某些特殊事件,标记的具体解释则在轮廓文件中定义。PT:有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型,接收端可以据此解释并播放RTP数据。序列号:占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。接收者通过序列号来检测报文的丢失情况,重新排序报文,恢复数据。3535时戳(Timestamp):占32位,反映了该RTP报文的第一个字节
23、的采样时刻。接收者使用时戳来计算延时和延时抖动,并进行同步控制。同步源标识符:占32位,用于标识同步源。该标识符是随机选择的,参加同一视频会议的两个同步源不能有相同的SSRC。提供源标识符列表(CSRC):每个CSRC标识符占32位,可以有015个,具体数目则由上面的CC字段给出。每个CSRC标识了包含在该RTP报文有效载荷中的所有提供源。36363.RTCPRTCP是一个控制协议,它的报文不携带用户数据,只携带与会话有关的控制信息。它通过周期性地向所有参加者发送RTCP报文来传输有关服务质量的反馈信息和参加会话的成员信息。为了实施不同的控制功能,RTCP定义了发送者报告报文(Sender R
24、eport,SR)、接收者报告报文(Receiver Report,RR)、信源描述报文(Source DescriptionItems,SDES)、结束报文和应用相关功能报文(Application Specific Functions)等五种类型的报文,其中最重要的是SR和RR。3737SR报文在会话中由当前发送者产生,格式如图8-4所示。SR报文包含三部分内容:(1)SR报头部分。报头部分包含了一个RTCP报文的公共信息,包括以下字段:V,版本号,占2位,标识RTP版本,与RTP报头中的版本号相同;P,填充标志,占1位;RC,接收报告计数,占5位,指出接收报告块的个数;PT,报文类型,占
25、8位,SR报文类型标识符为200;报文长度,占16位;SSRC标识符,占32位,为发送该SR报文的同步源标识符。3838图8-4 SR报文格式3939(2)发送者信息部分。发送者信息部分记录了有关本机发送RTP报文情况的信息,包括以下字段:NTP时戳,占64位,指出该SR报文发送时的全局网络时间;RTP时戳,占32位,和NTP时戳相一致的时间,用于媒体内部和媒体间的同步;发送者的报文计数,占32位,指出该发送者从开始传送RTP报文到该SR报文产生的时间间隔内共发送的RTP报文总数;发送者的有效载荷计数,占32位,指出该发送者从开始传送RTP报文到该SR报文产生的时间间隔内共发送的有效载荷总数,
展开阅读全文