当前位置:文档之家› 浅析流媒体技术及其网络直播系统

浅析流媒体技术及其网络直播系统

浅析流媒体技术及其网络直播系统刘建明林文孝曾楠(国电信息中心)摘要:随着网络的宽带化,流媒体技术应用日益普及。

本文介绍了流媒体技术特点,并以MMS协议为例简要分析了其工作机理;分析对比了目前主流的三种流媒体技术;提出了利用流媒体技术组建网络直播平台的方案,本文最后,介绍了该平台在国家电网信息网(SGInet)中的应用实例。

关键词:流媒体传输网络直播网络的宽带化使得人们对网络信息不再满足于简单的文本、图像,而越来越希望宽带网络能带来更直观更丰富的信息表现方式。

流媒体技术的发展及应用使得这种需要成为可能。

随着网络技术的迅猛发展,国家电网公司总部与公司系统各单位之间已基本实现宽带化,架构了以IP为基础的无阻塞数据承载平台。

这使得利用公司信息网络和流媒体技术实时直播公司大型会议成为现实,也成为企业信息化中一项新的信息应用领域。

1、流媒体技术的起源与发展流媒体技术起源于窄带互联网时期。

由于经济发展的需要,人们希望有一种网络技术,能进行远程视频或音频信息沟通。

1994年,一家叫做Progressive Networks 的美国公司开始专注于流媒体技术的研究。

1995年,该公司推出了C/S架构的音频接受系统real audio,并在随后的几年内引领了网络流式技术的潮流。

1997年9月,该公司更名为如今大家熟知的RealNetworks,相继发布了多款应用非常广泛的流媒体播放器(Realplayer)系列。

随后,微软和苹果等公司在看到流媒体的大好前景之后,也相继加入流媒体产品市场,强大的竞争攻势在无形中促进了流媒体的迅速发展,使得流媒体以惊人的发展速度深入人心。

2000年下半年,随着全球范围内互联网的升温,宽带IP网成为现实, 作为流媒体技术倡导者和发起者的美国RealNetworks、Microsoft、Apple等公司几乎同时向世界宣布了他们最新的流媒体技术的宽带解决方案。

在短短的时间里,流媒体技术有了飞跃性发展。

当前,流媒体技术已广泛应用于视频会议、远程培训、网络电视等领域,在信息网络上进行全方位的视听接触,实现第一时间的音/视频(A/V)多媒体信息传递。

2、流媒体技术浅析2.1 流媒体技术概述2.1.1 流媒体的定义流媒体是指在Internet/Intranet中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。

流式媒体在播放前不需要下载整个文件,只需将开始部分内容存入内存,流式媒体的数据流随时传送随时播放。

流媒体实现的关键技术是流式传输技术。

与传统传输方式相比,流式传输使启动延时成十倍、百倍的缩短,而且不需要太大的缓存容量。

流式传输避免了用户必须等待整个文件全部从网上下载后才能观看的缺点。

2.1.2 流式传输方式实现流式传输有两种方法:实时流式传输(Realtime streaming)和顺序流式传输(Progressive streaming)。

一般说来,如果视频为实况广播、或使用流式传输媒体服务器、或应用如MMS的实时协议等,即为实时流式传输。

如果使用HTTP服务器,文件即通过顺序流发送。

采用哪种传输方式依赖于具体的需求。

实时流式传输指保证媒体流的带宽与网络连接匹配,使媒体可被实时观看到。

实时流与HTTP流不同,它需要专用的流媒体服务器与相应的传输协议。

实时流式传输必须匹配连接带宽,这就意味着当网络拥挤或出现问题时,会损失视频质量。

另外,实时流式传输需要特定服务器,如Real Server、Windows Media Services或QuickTime Streaming Server等,这些服务器可对媒体流的传输进行更多的控制。

实时流式传输还需要特殊的网络协议,如RTSP、MMS等。

顺序流式传输是顺序下载,在下载文件的同时用户可观看在线媒体,在既定时刻,用户只能观看已下载的部分,而不能跳到还未下载的部分。

顺序流式传输不象实时流式传输在传输期间可根据用户连接的速度做调整。

顺序流式传输可保证媒体播放的最终质量,比较适合高质量的短片段,如片头、片尾或广告的播放。

顺序流式传输通过标准的HTTP协议传送,易于管理、但不支持实况广播。

严格来说,顺序流式传输并不是真正意义上的流媒体技术。

2.1.3 流媒体的工作原理①用户选择某一流媒体服务器后,WEB浏览器与Web服务器之间使用HTTP/TCP 交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;② Web浏览器启动音视频客户程序,使用HTTP从Web服务器检索相关参数对音视频客户程序初始化,这些参数可能包括目录信息、音视频数据的编码类型或与音视频检索相关的服务器地址;③音视频客户程序及音视频服务器运行实时流协议,以交换音视频传输所需的控制信息,实时流协议提供执行播放、快进、快倒、暂停及录制等命令操作;④音视频服务器使用RTP/UDP协议将音视频数据传输给音视频客户程序,一旦音视频数据抵达客户端,音视频客户程序即可播放输出。

2.2 流式传输协议实时流式传输需要合适的传输协议。

实时传输协议RTP是在网络上传输多媒体数据时实现一对一或一对多情况下的传输协议,它提供时间信息并实现流同步。

实时传输控制协议RTCP和RTP一起提供流量控制和拥塞控制。

在RTP会话期间,参与者周期性地传送RTCP 包。

RTCP包中含有已发送的数据包数量、丢失的数据包数量等重要信息资料。

这样,服务器便可利用这些信息动态变化的传输状态控制传输速率。

RTP和RTCP的配合使用,使实时传输达到最佳效果。

实时流协议,以MMS为例,定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。

MMS协议在体系结构上位于RTP和RTCP之上,它使用TCP或UDP完成数据传输。

MMS与HTTP相比,HTTP传送HTML超链接文档,由客户端发出请求,服务器作响应;而MMS传送的是多媒体数据,发出的请求是双向(客户端、服务器端)的。

下面以MMS协议及Microsoft Media为例简要介绍该协议的工作机理。

MMS协议根据连接方式分为两种:MMST和MMSU。

当客户端提交请求时,Windows Media Services随机地采用上述两种方式与客户端建立连接。

①MMSTMMST直接建立一个TCP连接到Media Services的1755端口。

客户端的开始、暂停、恢复播放、定位等操作会发送控制命令到Media Services。

在非正常断开之后,客户端会重试连接到1755端口,如不能连接会一直定时连接下去。

在客户端正常停止后并不断开连接,只是接收和发送的数据速率为0。

当连接速度下降到需求速度之下时,连接速度会自动降速为一个满足网络带宽的固定值。

在实况流的传送中,如果网络速度不能满足要求,会优先满足声音质量,而使视频跳帧直至停止视频的传送。

最差情况下即当声音质量仍不能保证时,就会不断地暂停,等待缓存。

当连接速度回升之后,经过协商连接会自动恢复适当水平。

②MMSUMMSU首先建立一个TCP连接到Media Services的1755端口,然后Media Services建立一个UDP连接到客户端的Media Player。

这时,Media Player处于缓冲状态,如果UDP 无法发送数据,等待一段时间之后UDP连接就关闭,而TCP连接仍保留,处于缓冲状态.。

上述TCP与UDP的连接几乎是同时建立的,TCP连接只负责RTCP,UDP连接只负责RTP,只接收数据。

UDP的连接地址是TCP连接端口号加2。

当UDP传输被阻塞的时候,Media Player处于缓冲状态,TCP连接则定时发送状态交换信息,反复几次超时之后重新建立两个连接。

此时,Media Services换一个端口发送UDP包到原先的接收端口,TCP连接被断开之后则立刻重新尝试连接。

在连接速度方面,刚开始连接时,会尝试使用最高速度连接,检测丢包之后协商降低UDP的连接速率。

如果UDP接收数据很小,Media Player则提示UDP不通。

在正常播放时,如果UDP接收速度下降,Media Player在检测到丢包后,通过TCP连接发送状态并请求到Media Services恢复必须的包,如果速度持续走低就请求降低传输速度。

2.3流传播的方式流媒体以实时流传播时有单播、多播、点播和广播几种不同的方式。

单播是在客户端与媒体服务器之间需要建立一个单独的数据通道,从一台服务器送出的每个数据包只能传送给一个客户机,这种传送方式称为单播。

每个用户必须分别对媒体服务器发送单独的请求,而媒体服务器必须向每个用户发送所申请的数据包拷贝。

多播是通过多播网络来传送实时流,网络中所有发出请求的客户端共享同一流,这种方式的最大好处是可以极大地节省网络带宽。

多播通常也叫组播,通过IP组播技术构建一种具有组播能力的网络,允许路由器一次将数据包复制到多个通道上,减少网络上传输信息包的总量。

采用组播方式,单台服务器能够对几十万台客户机同时发送连续数据流而无延时。

点播是在客户端与服务器之间建立的主动连接。

在点播连接中,用户可以通过选择内容项目来初始化客户端连接,若文件已被编入索引,点播连接即拥有对流的最大控制,用户可以开始、停止、后退、快进或暂停流等操作。

这种方式由于每个客户端各自连接服务器,会大量占用有限的网络带宽。

广播指的是用户被动接收流。

在广播过程中,客户端接收流,但不能控制流。

例如:用户不能暂停、快进或后退等。

有两类广播:单播和多播,两种都是被动的。

在广播单播中,每个客户端都保持各自与服务器的连接。

在广播多播中,被动的用户通过监视特定的IP地址接收多播数据包。

3、主流流媒体技术目前有三种主流流媒体技术,即:Microsoft公司的Windows Media系列、RealNetworks 公司的RealSystem和Apple公司的QuickTime系列。

3.1 Windows Media系列目前,Windows Media系列的流媒体产品,捆绑在Windows操作系统中,只能运行在Windows操作系统上。

该产品具有先进、集成、低费用等特点,该产品包括Media tools、Media Services和Media Player等组件。

Windows Media的核心是ASF流格式文件,采用MMS实时流传输协议。

Media services没有客户连接数限制。

3.2 RealSystemRealSystem系列的流媒体产品支持多种平台,包括Win2000/NT、Unix/Linux、Solaris 等。

该产品包括Real Producer、Real Server、Real Player等组件。

Sure Stream(自适应流)技术是Real Networks公司的代表性技术,Real Server有客户连接数限制,Real Server具备网络管理功能。

相关主题