第8章互联网上的音频和视频服务第8章互联网上的音频/视频服务8.1概述8.2流式存储音频/视频8.3交互式音频/视频8.4改进“尽最大努力交付”的服务8.1概述计算机网络最初是为传送数据信息设计的。互联网IP层提供的“尽最大努力交付”服务,以及每一个分组独立交付的策略,对传送数据信息也是很合适的。互联网使用的TCP协议可以很好地解决网络不能提供可靠交付这一问题。多媒体信息的特点多媒体信息(包括声音和图像信息)与不包括声音和图像的数据信息有很大的区别。1,多媒体信息的信息量往往很大。2,在传输多媒体数据时,对时延和时延抖动均有较高的要求。3,多媒体数据往往是实时数据(realtimedata),它的含义是:在发送实时数据的同时,在接收端边接收、边播放。互联网是非等时的模拟的多媒体信号经过采样和模数转换变为数字信号,再组装成分组。这些分组的发送速率是恒定的(等时的)。传统的互联网本身是非等时的。因此经过互联网的分组变成了非恒定速率的分组。tt互联网t模拟信号t采样后的信号构成分组恒定速率非恒定速率在接收端设置缓存要解决非等时问题,接收端需设置适当大小的缓存。当缓存中的分组数达到一定的数量后再以恒定速率按顺序把分组读出进行还原播放。缓存实际上就是一个先进先出的队列。图中标明的T叫做播放时延。tT缓存(队列)恒定速率t非恒定速率有可能发生分组丢失缓存的影响缓存使所有到达的分组都经受了迟延。早到达的分组在缓存中停留的时间较长,而晚到达的分组在缓存中停留的时间则较短。以非恒定速率到达的分组,经过缓存后再以恒定速率读出,就能够在一定程度上消除了时延的抖动。但我们付出的代价是增加了时延。分组发出123456t到达分组数654321123456t缓存时间缓存时间再推迟播放时间如果网络无时延推迟播放分组迟到网络出现时延分组1的时延分组到达123456t实际的网络需要解决的问题在传送时延敏感(delaysensitive)的实时数据时,不仅传输时延不能太大,而且时延抖动也必须受到限制。对于传送实时数据,很少量分组的丢失对播放效果的影响并不大(因为这是由人来进行主观评价的),因而是可以容忍的。丢失容忍(losstolerant)也是实时数据的另一个重要特点。需要解决的问题(续)由于分组的到达可能不按序,但将分组还原和播放时又应当是按序的,因此在发送多媒体分组时还应当给每一个分组加上序号。这表明还应当有相应的协议支持才行。要使接收端能够将节目中本来就存在的正常的短时间停顿(如音乐中停顿几拍)和因某些分组的较大迟延造成的“停顿”区分开来,就需要增加一个时间戳(timestamp),以便告诉接收端应当在什么时间播放哪个分组。必须改造现有的互联网大量使用光缆和高速路由器,网络的时延和时延抖动就可以足够小,在互联网上传送实时数据就不会有问题。把互联网改造为能够对端到端的带宽实现预留(reservation),把使用无连接协议的互联网转变为面向连接的网络。部分改动互联网的协议栈所付出的代价较小,而这也能够使多媒体信息在互联网上的传输质量得到改进。互联网提供的音频/视频服务类型目前互联网提供的音频/视频服务大体上可分为三种类型:流式(streaming)存储音频/视频——边下载边播放。流式实况音频/视频——边录制边发送。交互式音频/视频——实时交互式通信。“边下载边播放”中的“下载”对于流式音频/视频的“下载”,实际上并没有把“下载”的内容存储在硬盘上。“边下载边播放”结束后,在用户的硬盘上没有留下有关播放内容的任何痕迹。流媒体(streamingmedia)即流式音频/视频。流媒体特点就是“边下载边播放”(streamingandplaying)。8.2流式存储音频/视频8.2.1具有元文件的万维网服务器8.2.2媒体服务器8.2.3实时流式协议RTSP8.2流式存储音频/视频浏览器从服务器下载已经录制好的音频/视频文件步骤如下:万维网服务器客户机服务器媒体播放器GET:音频/视频文件RESPONSE音频/视频文件浏览器注意:传统的下载文件方法并没有涉及到“流式”(即边下载边播放)的概念。浏览器从服务器下载音频/视频文件步骤用户从客户机(clientmachine)的浏览器上用HTTP协议向服务器请求下载某个音频/视频文件。服务器如有此文件就发送给浏览器。在响应报文中就装有用户所要的音频/视频文件。整个下载过程可能会花费很长的时间。当浏览器完全收下这个文件后,就可以传送给自己机器上的媒体播放器进行解压缩,然后播放。8.2.1具有元文件的万维网服务器元文件就是一种非常小的文件,它描述或指明其他文件的一些重要信息。这里的元文件保存了有关这个音频/视频文件的信息。万维网服务器客户机服务器媒体播放器元文件浏览器GET:元文件RESPONSEGET:音频/视频文件RESPONSE使用元文件下载音频/视频文件浏览器用户使用HTTP的GET报文接入到万维网服务器。这个超链指向一个元文件。这个元文件有实际的音频/视频文件的统一资源定位符URL。万维网服务器把该元文件装入HTTP响应报文的主体,发回给浏览器。客户机浏览器调用相关的媒体播放器,把提取出的元文件传送给媒体播放器。媒体播放器使用元文件中的URL,向万维网服务器发送HTTP请求报文,要求下载音频/视频文件。万维网服务器发送HTTP响应报文,把该音频/视频文件发送给媒体播放器。媒体播放器边下载边解压缩边播放。8.2.2媒体服务器媒体服务器也称为流式服务器(streamingserver),它支持流式音频和视频的传送。媒体播放器与媒体服务器的关系是客户与服务器的关系。媒体播放器不是向万维网服务器而是向媒体服务器请求音频/视频文件。媒体服务器和媒体播放器之间采用另外的协议进行交互。使用媒体服务器万维网服务器媒体播放器元文件浏览器GET:元文件RESPONSEGET:音频/视频文件RESPONSE媒体服务器客户机服务器媒体播放器不是向万维网服务器而是向媒体服务器请求音频/视频文件。使用媒体服务器下载音频/视频文件步骤~前三个步骤仍然和上一节的一样,区别就是后面两个步骤。媒体播放器使用元文件中的URL接入到媒体服务器,请求下载浏览器所请求的音频/视频文件。下载可以借助于使用UDP的任何协议,例如使用实时运输协议RTP。媒体服务器给出响应,把该音频/视频文件发送给媒体播放器。媒体播放器在迟延了若干秒后,以流的形式边下载边解压缩边播放。使用TCP,还是UDP?传送音频/视频文件可以使用TCP,也可以使用UDP。起初人们选用UDP来传送。采用UDP会有以下几个缺点:由于网络的情况多变,在接收端的播放器很难做到始终按规定的速率播放。很多单位的防火墙往往阻拦外部UDP分组的进入,因而使用UDP传送多媒体文件时会被防火墙阻拦掉。使用UDP传送流式多媒体文件时,如果在用户端希望能够控制媒体的播放,如进行暂停、快进等操作,那么还需要使用另外的协议RTP和RTSP,增加了成本和复杂性。使用TCP,还是UDP?现在对流式存储音频/视频的播放,如YouTube和Netflix,都是采用TCP来传送。客户机万维网服务器TCP发送缓存TCP接收缓存视频文件应用程序缓存等时地从缓存中把帧读出,解压缩,显示在屏幕上互联网上传送已发送的待发送的已收到的使用TCP传送流式视频主要步骤用户使用HTTP获取存储在万维网服务器中的视频文件,然后把视频数据传送到TCP发送缓存中。若发送缓存已填满,就暂时停止传送。从TCP发送缓存通过互联网向客户机中的TCP接收缓存传送视频数据,直到接收缓存被填满。从TCP接收缓存把视频数据再传送到应用程序缓存(即媒体播放器的缓存)。当这个缓存中的视频数据存储到一定程度时,就开始播放。这个过程一般不超过1分钟。在播放时,媒体播放器等时地(即周期性地)把视频数据按帧读出,经解压缩后,把视频节目显示在用户的屏幕上。8.2.3实时流式协议RTSPRTSP(Real-TimeStreamingProtocol)协议以客户服务器方式工作。它本身并不传送数据,是一个多媒体播放控制协议,用来使用户在播放从互联网下载的实时数据时能够进行控制,如:暂停/继续、后退、前进等。因此RTSP又称为“互联网录像机遥控协议”。要实现RTSP的控制功能,我们不仅要有协议,而且要有专门的媒体播放器(mediaplayer)和媒体服务器(mediaserver)。RTSP特点RTSP是有状态的协议。它记录客户机所处于的状态(初始化状态、播放状态或暂停状态)。RTSP控制分组既可在TCP上传送,也可在UDP上传送。RTSP没有定义音频/视频的压缩方案,也没有规定音频/视频在网络中传送时应如何封装在分组中。RTSP没有规定音频/视频流在媒体播放器中应如何缓存。万维网服务器客户机服务器媒体播放器元文件浏览器媒体服务器音频/视频流GET:元文件RESPONSESETUPRESPONSEPLAYRESPONSERESPONSETEARDOWN使用RTSP的媒体服务器的工作过程使用RTSP的媒体服务器的工作过程浏览器向万维网服务器请求音频/视频文件。万维网服务器从浏览器发送携带有元文件的响应。浏览器把收到的元文件传送给媒体播放器。RTSP客户与媒体服务器的RTSP服务器建立连接。RTSP服务器发送响应RESPONSE报文。RTSP客户发送PLAY报文,开始下载音频/视频文件。RTSP服务器发送响应RESPONSE报文。RTSP客户发送TEARDOWN报文断开连接。RTSP服务器发送响应RESPONSE报文。8.3交互式音频/视频8.3.1IP电话概述8.3.2IP电话所需要的几种应用协议8.3.3实时运输协议RTP8.3.4实时运输控制协议RTCP8.3.5H.3238.3.6会话发起协议SIP8.3.1IP电话概述1.狭义的和广义的IP电话狭义的IP电话就是指在IP网络上打电话。所谓“IP网络”就是“使用IP协议的分组交换网”的简称。广义的IP电话则不仅仅是电话通信,而且还可以是在IP网络上进行交互式多媒体实时通信(包括话音、视像等),甚至还包括即时传信IM(InstantMessaging)。2.IP电话网关20世纪90年代中期,VocalTec公司率先推出了实用化的IP电话。但是这种IP电话必须使用PC。1996年3月,VocalTec公司成功地推出了IP电话网关(IPTelephonyGateway),它是公用电话网与IP网络的接口设备。IP电话网关的作用就是:(1)在电话呼叫阶段和呼叫释放阶段进行电话信令的转换。(2)在通话期间进行话音编码的转换。IP电话网关的几种连接方法分组交换电路交换电路交换互联网PC到PC公用电话网IP电话网关互联网PC到固定电话机公用电话网IP电话网关公用电话网IP电话网关互联网固定电话机到固定电话机3.IP电话的通话质量IP电话的通话质量主要由两个因素决定:一个是通话双方端到端的时延和时延抖动;另一个是话音分组的丢失率。但这两个因素是不确定的,取决于当时网络上的通信量。经验证明,在电话交谈中,端到端的时延不应超过250ms,否则交谈者就能感到不自然。IP电话的端到端时延(1)话音信号进行模数转换要经受时延。(2)话音比特流装配成话音分组的时延。(3)话音分组的发送需要时间,此时间等于话音分组长度与通信线路的数据率之比。(4)话音分组在因特网中的存储转发时延。(5)话音分组在接收端缓存中暂存所引起的时延。(6)话音分组还原成模拟话音信号的时延。(7)话音信号在通信线路上的传播时延。(8)终端设备的硬件和操作系统产生的接入时延。低速率话音编码的ITU-T标准(1)G.729——速率为8kb/s的共轭结构代数码激励线性预测声码器CS-ACELP(Conjugate-StructureAlge