浅析流媒体技术及其网络直播系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
浅析流媒体技术及其网络直播系统
刘建明林文孝曾楠
(国电信息中心)
摘要:随着网络的宽带化,流媒体技术应用日益普及。本文介绍了流媒体技术特点,并以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随机地采用上述两种方式与客户端建立连接。
①MMST
MMST直接建立一个TCP连接到Media Services的1755端口。客户端的开始、暂停、恢复播放、定位等操作会发送控制命令到Media Services。在非正常断开之后,客户端会重试连接到1755端口,如不能连接会一直定时连接下去。在客户端正常停止后并不断开连接,只是接收和发送的数据速率为0。当连接速度下降到需求速度之下时,连接速度会自动降速为一个满足网络带宽的固定值。在实况流的传送中,如果网络速度不能满足要求,会优先满足声音质量,而使视频跳帧直至停止视频的传送。最差情况下即当声音质量仍不能保证时,就会不断地暂停,等待缓存。当连接速度回升之后,经过协商连接会自动恢复适当水平。
②MMSU
MMSU首先建立一个TCP连接到Media Services的1755端口,然后Media Services建立一个UDP连接到客户端的Media Player。这时,Media Player处于缓冲状态,如果UDP 无法发送数据,等待一段时间之后UDP连接就关闭,而TCP连接仍保留,处于缓冲状态.。
上述TCP与UDP的连接几乎是同时建立的,TCP连接只负责RTCP,UDP连接只负