1
计算机网络技术理论与实践
1.9.5.1 8.5.1 流媒体工作原理

8.5.1 流媒体工作原理

网络多媒体服务指在网络上能同时提供多种媒体信息(话音、数据、视频、文本、图像等)的服务方式。它是人们在传递和交换信息时同时利用多种信息媒体,并以“可视的、智能的、个人的”服务模式,构成声、图、文并茂,用户可以不受时空限制地索取、传播和交换信息的一种新兴的服务方式。到目前为止,网络多媒体服务已经处于高速发展阶段。当前在Internet网络上的多媒体服务主要包括IP电话、视频点播/直播、多媒体会议系统、视频聊天等。

网络多媒体服务具有三个主要特性:

·集成性(综合性)。利用多种不同媒体综合地表现某个内容,以取得更好的效果(多媒体通信系统至少应能传送2种以上的媒体信息,如视频、图像、数据、语音等,并具有对这些信息进行存储、传输、处理、显现的能力);

·交互性。指在通信系统中人与系统之间的相互控制能力;

·同步性。指在多媒体终端上显现的图像、声音和文字是以同步方式工作的,通过网络传送的多媒体信息必须保持它们在时间上或事件之间的同步关系。

在网络多媒体服务中,多种不同的媒体信息可以从不同的侧面来展示同一个内容,媒体信息的种类越多,对这个内容的展示效果就越立体、越形象、越生动,便于用户更好地理解。比如,对于一段电影,如果只有视频信息,人们很难看懂其中的含义,如果加上声音,大多数人就能够看懂了,对于外国影片来说,还需要加上字幕才能便于我们理解。网络多媒体服务的交互性要求较高,这就给网络传输带来了很大的挑战。同步性也是网络多媒体中非常重要的特性,如果多种媒体不能很好的同步,那么媒体之间不仅不能互相协作增强展示效果,反而会互相影响,降低了媒体的展示能力。比如,看电影的时候,如果视频和声音不同步,那么声音就成为我们理解电影的干扰,会降低电影的展示效果。

网络多媒体服务由于其庞大的数据量和较高的实时性,以及各种不同服务质量的需求,使其对网络有较高的要求:

·带宽。网络多媒体服务通常要传输多种媒体信息,其中视频信息和音频信息的数据量都非常庞大,因此多媒体服务需要网络能够提供足够的带宽;

·实时性。对于音频和视频媒体来说,在很多应用中都要求较高的实时性,尤其是交互式的语音服务中,对于实时性的要求尤为明显;

·通信方式。网络多媒体包含多种媒体,为了适应各种媒体的特性,在网络多媒体中采用多种传输方式,包括点到点、点到多点、广播等;

·连接方式。网络多媒体服务根据实际通信的需要,包含了对称和非对称两种连接方式;比如,在视频点播应用中,通常采用非对称方式,而在语音聊天等应用中可以采用对称通信方式。

当前的Internet上有多种多媒体服务,下面主要介绍流媒体服务。

在网络多媒体的发展中,出现了如下矛盾:一方面,用户希望在网络上随时看到生动、清晰的多媒体演示,希望能够实时看到一些直播节目;另一方面,缓慢的网络速度使文件下载需要很长的时间。为了解决这个矛盾产生了流媒体技术。

流媒体从广义上讲是指让音频和视频形成稳定、连续的传输流和回放流的一系列技术、方法和协议的总称。从狭义上讲是指在Internet网络上,采用“流式传输”技术的连续时基媒体,通常也将流媒体中的视频与音频称为视频流和音频流。

流媒体的传输过程和普通多媒体信息的传输过程不一样,它需要能够实现边下载,边播放,以提高用户观看媒体信息的响应速度。流媒体的传输过程包括:

①将音频、视频、动画等多媒体文件经过特殊的压缩方式分成一个个具有流媒体文件格式的压缩包;

②视频服务器向用户计算机连续、实时地传送这些压缩包;

③用户等待很短的启动时延后,利用播放器对已经接收到的压缩包进行解压,并播放出来;

④用户计算机的后台继续下载后续的压缩包。

与传统下载传输方式相比,流式传输可以实时传输媒体信息并且能够实时的播放,不需要用户等待很长的下载时间。此外,流式传输对于播放完的媒体信息可以删除掉,不需要缓存整个媒体信息,可以节省大量存储空间。

目前实现流式传输的主要方法包括顺序流传输和实时流传输,它们分别适用于不同类型的媒体信息传输。

顺序流传输(Progressive Streaming),它的传输原理是按照一定的顺序传输流数据,传输过程与用户连接的速度无关。在下载文件的同时用户可观看媒体内容,但只能观看已下载的那部分,不能跳到还未下载的部分。顺序流式传输在传输期间不能根据用户连接的速度做调整,进行的是无损下载,这种方法保证了多媒体播放的最终质量,但是用户在观看前,必须经历较长的时间延迟。标准的HTTP服务器可发送顺序流,不需要其他特殊的协议,因此,这种传输方式也经常被称作HTTP流式传输。顺序流传输易于管理,可以穿越防火墙,但是实时性较差,比较适合高质量的短片段,如片头、片尾和广告。不适合长片段和有随机访问要求的视频,也不支持现场直播。

实时流传输(Realtime Streaming),它的传输原理是媒体传输速率必须匹配用户的连接带宽,使媒体信息可被实时观看到。这意味着图像质量会因网络速度降低而变差,以减少对传输带宽的需求。实时流传输需要专用的流媒体服务器(如QuickTime Streaming Server、RealServer和Windows Media Server等)和传输协议(如RTP、RTCP、RTSP和MMS等),这种传输方式总是实时传送,特别适合现场事件,也支持随机访问,用户可实现快进或后退功能,适用于长片段、直播和有随机访问要求的视频,但是有时会出现无法穿越防火墙的问题。

通常来说,一个完整的流媒体系统包含5个组件:媒体数据、编码器、播放器、服务器和流媒体传输网络。各组件含义如下:

·媒体数据,媒体的内容信息;

·编码器(encoder),将原始的音频、视频数据转化为流媒体格式的软件;

·播放器(player),播放流媒体信息的客户端软件;

·服务器(server),向用户发送流媒体信息的软件;

·流媒体传输网络,用于传输流媒体信息的网络。

流媒体系统中5个组件之间通过特定的协议互相通信,并按照特定的格式互相交换文件数据,交互过程如图8-11所示。其中,Web浏览器和Web服务之间通过HTTP协议来交互流媒体的链接信息;Web浏览器将流媒体服务器的位置告知播放器;播放器通过RTSP、RTP等协议从流媒体服务器获取流媒体数据。

img202

图8-11 流媒体系统示意图

流媒体的整个播放过程如下:

①用户浏览Web页面时,点击一个由流媒体服务器提供的流媒体内容的链接;

②Web服务器将链接所指的媒体发布文件(发布文件中含有流媒体服务器的地址)发送到用户的Web浏览器上;

③浏览器下载这个媒体发布文件,并将其传送到用户的流媒体播放器上;

④流媒体播放器读取媒体发布文件中的流媒体服务器地址,直接向流媒体服务器请求内容;

⑤流媒体服务器以流式传输方式把内容传送给播放器,播放器开始播放。

由于Internet采用的是IP协议,它只能提供尽力而为的服务,因此,Internet本身不能保证流媒体服务的服务质量,需要增加一些特殊的网络协议来辅助完成流媒体服务,包括实时传输协议(RTP)、实时传输控制协议(RTCP)、实时流协议(RTSP)和资源预留协议(RSVP)。RTP是针对多媒体数据流的一种传输协议,目的是提供时间信息和实现流同步;RTCP和RTP一起提供流量控制和拥塞控制服务;RTSP定义了一对多应用程序如何有效地通过IP网络传送多媒体数据;RSVP在一定程度上为流媒体的传输提供QoS保证。