多媒体网络传输技术——流媒体1多媒体网络传输技术1概述流媒体(StreamingMedia)是一种新兴的网络传输技术,在互联网上实时顺序地传输和播放视/音频等多媒体内容的连续时基数据流,流媒体技术包括流媒体数据采集、视/音频编解码、存储、传输、播放等领域。在网络上传播多媒体信息主要有两种方式:下载和流式传输。下载方式是传统的传输方式,指在播放之前,用户下载多媒体文件至本地,通常这类文件容量较大,依据目前的网络带宽条件,需要较长时间,并且对本地的存储容量也有一定的要求,这就限制了PDA等低存储容量设备的使用。流式传输则把多媒体信息通过服务器向用户实时地提供,采用这种方式时,用户不必等到整个文件全部下载完毕,而只需经过几秒或几十秒的启动时延即可播放,之后,客户端边接收数据边播放。与下载方式相比,流式传输具有显著的优点:一方面大大地缩短了启动延时,同时也降低了对缓存容量的需求;另一方面,又可以实现现场直播形式的实时数据传输,这是下载等方式无法实现的,同时有助于保护多媒体数据的著作权。2流媒体技术2.1缓存技术Internet以包传输为基础进行断续的异步传输,实时A/V源或存储的A/V文件在传输中被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据,通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。2.2流媒体传输流程流媒体的具体传输流程如下:(1)Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来。(2)用HTTP从Web服务器检索相关数据,A/V播放器进行初始化。(3)从Web服务器检索出来的相关服务器的地址定位A/V服务器。(4)A/V播放器与A/V服务器之间交换A/V传输所需要的实时控制协议。(5)一旦A/V数据抵达客户端,A/V播放器就可以播放了。2.3媒体系统结构现存流媒体解决方案采用的技术是多样的,但其体系结构的本质是相近的。流媒体的体系构成:①编码工具:用于创建、捕捉和编辑多媒体数据,形成流媒体格式;②流媒体数据;③服务器:存放和控制流媒体的数据;④网络:适合多媒体传输协议甚至实多媒体网络传输技术——流媒体2时传输协议的网络;⑤播放器:供客户端浏览流媒体文件(通常是独立的播放器和ActiveX方式的插件)。2.4流媒体传输协议流式传输的实现需要合适的传输协议。TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时多媒体数据。(1)实时传输协议RTP与RTCPRTP是用于Internet/Intranet针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多传输的情况下工作,其目的是提供时间信息和实现流同步。RTP通常使用UDP来传送数据,但RTP也可以在TCP或ATM等其他协议上工作。当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。RTCP和RTP一起提供流量控制和拥塞控制服务。RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。(2)实时流协议RTSP实时流协议RTSP是由RealNetworks和Netscape共同提出的,该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。(3)资源预订协议RSVP由于音频和视频数据流比传统数据对网络的延时更敏感,要在网络中传输高质量的音频、视频信息,除带宽要求之外,还需其他更多的条件。RSVP是Internet上的资源预订协议,使用RSVP预留一部分网络资源(即带宽),能在一定程度上为流媒体的传输提供QoS。3流媒体发展现状Internet/Intranet上使用较多的流媒体技术主要有RealNetworks公司的RealSystem,Microsoft公司的WindowsMediaTechnology和Apple公司的QuickTime,它们是流媒体传输系统的主流技术。3.1RealSystemRealSystem由媒体内容制作工具RealProducer、服务器端RealServer、客户端软件(ClientSoftware)3部分组成,其流媒体文件包括RealAudio,RealVideo,RealPresentation和RealFlash4类文件,分别用于传送不同的文件。RealSystem采用SureStream技术,自动地并持续地调整数据流的流量以适应实际应用中的各种不同网络带宽需求,轻松实现视音频和三维动画的回放。Real流式文件采用RealProducer软件进行制作,首先把源文件或实时输入变为流式文件,再把流式文件传输到服务器上供用户点播。由于RealSystem的技术成熟、性能稳定,美国在线(AOL),ABC,AT&T,Sony等公司和网上主要电台都使用RealSystem向世界各地传送实时影音媒体信息以及实时的音乐广播。多媒体网络传输技术——流媒体33.2WindowsMediaTechnologyWindowsMediaTechnology是Microsoft提出的信息流式播放方案,旨在Internet和Intranet上实现包括音频、视频信息在内的多媒体流信息的传输。其核心是ASF(AdvancedStreamFormat)文件,ASF是一种包含音频、视频、图像以及控制命令、脚本等多媒体信息的数据格式,通过分成一个个的网络数据包在Internet上传输,实现流式多媒体内容发布,因此,我们把在网络上传输的内容就称为ASFStream。ASF支持任意的压缩/解压缩编码方式,并可以使用任何一种底层网络传输协议,具有很大的灵活性。WindowsMediaTechnology由MediaTools,MediaServer和MediaPlayer工具构成。MediaTools是整个方案的重要组成部分,它提供了一系列的工具帮助用户生成ASF格式的多媒体流(包括实时生成的多媒体流);MediaServer可以保证文件的保密性,不被下载,并使每个使用者都能以最佳的影片品质浏览网页,同时具有多种文件发布形式和监控管理功能;MediaPlayer则提供强大的流信息的播放功能。3.3QuickTimeQuickTime是一个非常老牌的媒体技术集成,是数字媒体领域事实上的工业标准。之所以说集成这个词是因为QuickTime实际上是一个开放式的架构,包含了各种各样的流式或者非流式的媒体技术。QuickTime是最早的视频工业标准,1999年发布的QuickTime4.0版本开始支持真正的流式播放。由于QuickTime本身也存在着平台的便利(MacOS),因此也拥有不少的用户。QuickTime在视频压缩上采用的是SorensonVideo技术,音频部分则采用QDesignMusic技术。QuickTime最大的特点是其本身所具有的包容性,使得它是一个完整的多媒体平台,因此基于QuickTime可以使用多种媒体技术来共同制作媒体内容。同时,它在交互性方面是三者之中最好的。例如,在一个QuickTime文件中可同时包含midi、动画gif、flash和smil等格式的文件,配合QuickTime的WiredSprites互动格式,可设计出各种互动界面和动画。QuickTime流媒体技术实现基础是需要3个软件的支持,QuickTime播放器、QuickTime编辑制作、QuickTimeStreaming服务器。3.4流媒体技术在国内的现状流媒体技术已广泛应用于远程教育、网络电台、视频点播、收费播放等,在企业一级的应用包括电子商务、远程培训、视频会议、客户支持等。在国内,流媒体技术在国外成熟技术的基础上逐步扩大应用,诸如网上现场直播、网上教育系统、网上手术数字化直播系统等,他们的体系结构是类似的。4存在问题互动流媒体业务平台流媒体技术不是一种单一的技术,它是网络技术及视/音频技术的有机结合。在网络上实现流媒体技术,需要解决流媒体的制作、发布、传输及播放等方面的问题,而这些问题则需要利用视音频技术及网络技术来解决,具体如下:4.1流媒体制作技术方面解决的问题在网上进行流媒体传输,所传输的文件必须制作成适合流媒体传输的流媒体格式文件。因这通常格式存储的多媒体文件容量十分大,若要在现有的窄带网络上传输则需要花费十分长的时间,若遇网络繁忙,还将造成传输中断。另外,通常格式的流媒体也不能按流媒体传输协议进行传输。因此,对需要进行流媒体格式传输的文件应进行预处理,将文件压缩生成多媒体网络传输技术——流媒体4流媒体格式文件。这里应注意两点:一是选用适当的压缩算法进行压缩,这样生成的文件容量较小。二是需要向文件中添加流式信息。4.2流媒体传输方面需解决的问题流媒体的传输需要合适的传输协议,目前在Internet上的文件传输大部分都是建立在TCP协议的基础上,也有一些是以FTP传输协议的方式进行传输,但采用这些传输协议都不能实现实时方式的传输。随着流媒体技术的深入研究,目前比较成熟的流媒体传输一般都是采用建立在UDP协议上的RTP/RTSP实时传输协议。为何要在UDP协议而不在UDP协议上进行实时数据的传输呢?这是因为UDP和TCP协议在实现数据传输时的可靠性有很大的区别。TCP协议中包含了专门的数据传送校验机制,当数据接受方收到数据后,将自动向发送方发出确认信息,发送方在接收到确认信息后才继续传送数据,否则将一直处于等待状态。而UDP协议则不同,UDP协议本身并不能做任何校验。由此可以看出,TCP协议注重传输质量,而UDP协议则注重传输速度。因此,对于对传输质量要求不是很高,而对传输速度则有很高的要求的视音频流媒体文件来说,采用UDP协议则更合适。4.3流媒体的传输过程中需要缓存的支持因为Internet是以包为单位进行异步传输的,因此多媒体数据在传输中要被分解成许多包,由于网络传输的不稳定性,各个包选择的路由不同,所以到达客户端的时间次序可能发生改变,甚至产生丢包的现象。为此,必须采用缓存技术来纠正由于数据到达次序发生改变而产生的混乱状况,利用缓存对到达的数据包进行正确排序,从而使视音频数据能连续正确地播放。缓存中存储的是某一段时间内的数据,数据在缓存中存放的时间是暂时的,缓存中的数据也是动态的,不断更新的。流媒体在播放时不断读取缓存中的数据进行播放,播放完后该数据便被立即清除,新的数据将存入到缓存中。因此,在播放流媒体文件时并不需占用太大的缓存空间。4.4流媒体播放方面需解决的问题流媒体播放需要浏览器的支持。通常情况下,浏览器是采用mime来识别各种不同的简单文件格式,所有的Web浏览器都是基于http协议,而http协议都内建有mime。所以Web浏览器能够通过http协议中内建的mime来标记Web上众多的多媒体文件格式,包括各种流媒体格式。5结束语流媒体技术广泛应用在多媒体新闻发布、网上演示、在线直播、网络广告、电子商务、视频点播、远程教育、实时视频会议等互联网的信息服务领域,互联网的发展决定了流媒体市场的广阔前景,流媒体技术的应用将为网络信息交流带来革命性的变化,对人们的工作和生活产生深远的影响。