流媒体技术在网络传输中的应用
2010-11-07李伟权厦门海洋职业技术学院361012
李伟权 厦门海洋职业技术学院 361012
流媒体技术在网络传输中的应用
李伟权 厦门海洋职业技术学院 361012
随着人们学习、工作、生活与因特网的关系日益密切,在当前及未来的因特网技术发展中,流媒体技术的应用与发展也越来越广泛,流媒体在网络中传输的质量问题也就日益突出,文章主要综述了如何解决好流媒体在网络传输中的应用问题。
时延抖动;分组丢失;内容分布网络;传输协议
当前,流媒体相关技术的应用和发展很快,在Internet上传输流媒体得相关技术也成为研究者们的一个热点。同时,在Internet上传输流媒体存在着许多困难,当前的网络是在90年代发展起来的,基于的协议是IPv4,随着网络用户的不断增加,使得当前的Internet不适合传输连续的流媒体,而且网上的信息的交互性也日益增长,使得网络中的信息传输量急剧增大,而网络的传输瓶颈问题也日益突出。本文主要是探讨在当前的网络传输状况下用哪些方式来有效地解决流媒体的传输问题。
流媒体是指在网络中使用流式传输技术的连续时基媒体,如音频、视频或多媒体文件。而流式传输就是把连续的声音和图像信息经过压缩处理后放在网络服务器上,让用户边下载边收看或收听,而不需要等待整个文件下载到用户自己的电脑后才可以观看或收听的网络传输技术。
当前的多媒体在网络中传输主要存在三种形式:1.流式存储音频/视频,2.流式实况音频/视频;3.流式交互音频/视频。它们对网络的传输要求也是不同的。比如它们对网络传输时延的要求就不一样,流式存储的网络时延可以在1s~10s之间,而流式实况则要求网络时延最多为几十s,流式交互的网络时延则要求更加严格,一般不超过400ms,最好小于150ms,否则,用户就难以接受。因此,一般而言,流式媒体在网络中的传输主要存在两个主要需要解决的问题,1.时延抖动;2.分组丢失。
流媒体的传输实现一般需要合适的传输协议。由于TCP需要较多的开销,比如TCP协议中的重传机制就不能适用于流媒体的分组数据报传输,在流媒体的网络传输过程中,如遇到网络拥塞或路由器缓冲区已满,则有可能将包含音频/视频的分组丢失,因此,在流媒体的传输方案中一般都采用HTTP/TCP来控制传输控制信息,而用RTP/UDP来传输实时数据。
目前,网络上支持流媒体传输的网络协议有:实时传输协议RTP;实时传输控制协议RTCP;实时流协议RTSP;RSVP协议。
当一个实时的音频/视频源或是存储的音频/视频文件在传输过程中被分解成许多的数据包分组,而网络本身是动态变化的,因此,各个分组选择的路由可能就不相同,到达用户端的时延也就不同。因此,需要采用一些技术来消除时延和抖动的影响,以保证数据包顺序正确,从而使媒体数据能够连续输出播放。比如,考虑使用RTP来传输采用64kb/s的PCM编码语音数据,再假设应用在20ms块中收集这些编码数据,即每个块中有160个字节。发送端在每个语音数据块的前面加上一个RTP首部(RTP header),这个首部包括音频编码的类型、序号和时间戳。这样一个RTP首部和音频块一起形成RTP分组(RTP packer)。然后通过UDP套接字接口发送该RTP分组。在接收端,应用从它的套接字接口接收到该RTP分组,从RTP分组中提取出该音频块,并使用RTP分组的首部字段来正确解码和播放该音频块。另外,也可以采用丢失恢复方案(loss recovery scheme)来解决分组在网络中传输过程中丢失存在的情况下仍然保持可接受的流媒体质量。比如,在因特网电话应用中通常采用的两种类型丢失方案:前向纠错(F E C)和交错(interleaving)。前向纠错的基本思想是给原始的分组流增加冗余信息,这些冗余信息可以用来重建一些丢失分组的近似或准确版本。付出的代价是多少会增加音频流的传输速率,而且有可能在接收端会产生较大的分组丢失间隙。交错技术作为冗余传输的一种替代方案,是发送方在发送分组之前对音频流数据单元重新排序,使得相邻的单元在传输流中以一定的距离分开,交错可以减轻分组丢失的影响,一般不会产生像前向纠错方案中出现的大的分组间隙,而是产生多个小的分组间隙,明显提高音频流的传输质量而且网络的开销也较低,也不增加流的带宽需求。但该方案明显增加了时延,因此,比较适合于处理流式存储音频。
当然,也可以在接收端采用延迟播放(delaying playout)技术来消除流媒体的时延抖动,延迟播放要和分组流中的数据块的序号和时间戳机制结合起来,一般有固定播放时延和自适应播放时延两种策略:1.固定播放时延:即接收方在块产生的q ms之后播放它。如果一个块在时刻t加上时间戳,那么接收方将在t+q的时间后播放该数据块。若在预定的播放时间之后才到达接收方的数据块将被丢弃,即认为该分组丢失。对于固定播放时延策略,就接收方而言,希望q值要小些,这样在不同固定播放时延下的分组丢失曲线如图1所示。可以获得比较满意的交互体验。比如,因特网电话能够支持400ms以内的播放时延。因此,最重要的就是如何来界定q值。2.采用自适应播放时延策略能够较好解决这个问题,在理想的情况下,接收方要在满足丢失率低于一定百分比的限制下,使播放时延最小。假设ti是第i个分组的时间戳,ri是分组i被接收方接收的时间,pi是分组在接收方播放的时间,di是平均网络时延的估计值,vi估计平均时延的估计平均时延偏差。则可以根据下面算法来确定播放时间pi:
图1 不同固定播放时延下分组丢失曲线图
K是个正的常数。
目前,流媒体的应用发展很快,仅从发送方或接收方来改善时延抖动和分组丢失显然是不足以解决流媒体在网络中的传输问题的,因此接下来,再讨论一下关于媒体流在网络中传输的另一种解决方法,即内容分发网络(content distribution network CDN)。这是一种从网络全局的角度来更好解决流媒体在网络中传输的问题。CDN的基本工作原理是:使用一种不同于Web高速缓存的模式,对于CDN而言,是由内容提供商来向CDN公司支付费用,使得其流媒体可以被请求的用户在更短时间得到。即由内容提供商将其服务内容提供给CDN公司,而CDN公司再将服务内容复制到整个因特网上许多的CDN服务器,而这些服务器一般放置在数据中心(data center),数据中心通常由第三方拥有并运营,并靠近ISP接入网络和客户机。因此,在一个CDN的基本工作模式中重要的是如何来确定对于请求主机而言哪个是最好的CDN服务器,以便以最快的速度向客户机提供内容。显然,CDN公司必须掌握因特网选路表以及从不同CDN服务器到各个接入网络的往返时延估计值和其他测量数据来为ISP提供最好的尽力而为的服务。因此,采用CDN来传输流媒体有以下三个特点:1.降低主干网络的流量负荷;2.通过分布在网络边缘的流媒体服务器,避免了网络拥塞;3.通过扩展CDN服务器数量可以有效降低每个CDN服务器的性能要求。
由于当前的网络运行机制是建立在尽力而为的服务基础之上,即对于应用将得到的服务质量(QoS)不作任何承诺。因此,为了解决流媒体在网络中传输的时延抖动和分组丢失的问题,还需要在因特网中引入确保服务质量的四个基本原则和调度、监管机制。
四个基本原则分别是:1.将分组进行标记,使得路由器能够区分不同类型流量的分组,即不同类型流量的分组拥有不同的网络传输优先级别;2.在不同流量之间提供一定的隔离,使之不会产生相互干扰;3.尽可能地有效使用网络资源,比如,带宽共享;4.呼叫准入原则,即在网络中,为流媒体的传输至少提供一种最低的服务质量,否则,网络将拒绝对该流媒体使用网络。
调度、监管机制:
调度机制:通常采用先入先出(FIFO)、优先级排队、轮转和加权公平排队(WFQ)。
监管机制:目前在网络最常用的监管机制是采用漏桶机制。
以上简要说明了在网络中,为更有效、更可靠传输流媒体而采用的四个基本原则和常用的调度、监管机制。
最后,来简单探讨关于流媒体技术的主要应用。
1.视频点播(VOD)
VOD技术目前广泛应用于局域网以及有线电视网。流媒体的视频直播应用突破了网络带宽的限制,实现了在低带宽的环境下的高质量影音传输,而新的智能流技术可以保证不同连接速率下的用户得到不同质量的影音效果。
2.视频会议
视频会议是流媒体技术一个新的商业用途,采用流媒体格式来传送视频/音频文件,使用者不必等待而可以连续、实时观看。其中,最常见的是可视电话的应用。
3.远程教育
使用VOD技术可以在教师和学生之间采用交互式的教学,突破目前学校多媒体教学的单一手段,目前的多媒体教学主要时间和精力都放在课件的制作上,因此,采用流媒体技术可以将教师从繁重的课件制作上解放出来,并可以大大提高教学的互动性。
4.因特网直播
随着因特网技术的发展和普及,在因特网上直接收看体育直播、大型晚会等直播的电视节目。随着流媒体技术的发展,实现在低带宽环境下传输高质量的音频/视频信息变的更加容易。
流媒体技术的发展主要依赖于网络的传输条件、媒体文件的编码压缩效率以及客户端的解码等几个重要因素。其中任何一个因素都有可能影响流媒体技术的发展和应用。本文主要是综述了如何解决流媒体传输过程中常见的时延抖动和分组丢失问题的方法和机制,并在此基础上简单概括了流媒体技术的应用。
[1] James F.Kurose,Keith W.Ross.计算机网络[M].北京:高等教育出版社.2005.
[2] 余勇昌,宋宜昌.流媒体技术的原理、应用及发展[J].现代电信科技.2003,(7): 1-4.
10.3969/j.issn.1001-8972.2010.09.054
李伟权 男 1971 大学本科 大学讲师研究方向EDA技术和通信网络技术。