流媒体技术原理与应用

时间:2022-09-10 05:47:10
流媒体技术原理与应用
 
 
 
 

南京邮电学院纪其进等

  摘要:流媒体是网络环境中的一种新的媒体形式,有着广阔的应用前景。本文初步探讨了流媒体技术的原理及实现流媒体技术的协议,介绍了流媒体技术当前和未来可能的一些应用。

  1 引言

   当今,我们正处在信息时代,不但面对巨大的信息量,信息的表现形式也越来越丰富。越来越多的公司和个人正在利用音频、视频等多媒体技术发布和传播信息。一些多媒体应用系统(如视频会议、远程教学等)也不断出现。随着PC等智能终端的日益普及,用户有能力而且希望通过便利的方法获得这些信息。

   网络已经并将继续改变我们的生活方式。多媒体应用的环境正由桌面平台(如多媒体PC)向网络多媒平台和简单智能终端相结合的方向演进,网络将成为无可比拟的超级服务器。想要使用网络中的多媒体信息,就必须实现通过网络访问和传输这些信息。流媒体技术正是在这种情况下应运而生。

  本文初步探讨了流媒体技术的原理及实现流媒体技术的相关协议,介绍了流媒体技术当前和未来可能的一些应用。

  2 什么是流媒体

  音/视频(A/V)等多媒体信息是在时间上展开的数据流,具有数据量大和实时等特点。要在多媒体终端(如PC)上再现或回放多媒体信息,很重要的一点就是要获得平滑的多媒体数据流。当多媒体数据保存在终端的DSM(数字存储媒质,如计算机硬盘或VCD)中时,通过数据总线在DSM和内存之间进行传输不难实现。所以用户可以通过下载方式将网络中服务器的数据保存至本地硬盘。但采用下载方式,用户必须考虑两个因素:对客户端的存储需求和播放启动延时。因为A/V文件一般都较大,所以需要的存储容量也较大;同时由于网络带宽的限制,下载常常要花数分钟甚至数小时。

  可以想象,如果能够直接从网络上得到平滑的数据流,则无须首先把多媒体数据下载到本地终端。流媒本技术正是试图解决这个问题。通常,将直接从网络上获得的平滑数据流的传输方式称为流式传输(尽管这个概念很模糊,本文沿用这一说法)。所谓流式传输就把声音、影像或动画等信息由网络中音视频服务器向用户终端(如PC、PDA等)连续、实时传送。在采用流式传输的系统中,用户不必象采用下载方式那样等到整个文件全部下载完毕,而只需经过几秒或十数秒的启动延时(缓冲)即可在用户的计算机上利用解压设备(硬件或软件)对压缩的多媒体数据解压后进行回放。当音频、视频等媒体数据在客户终端上播放时,数据的剩余部分将在后台从服务器继续下载。这种对多媒体数据边下载边回放的方式不仅使启动延时成十倍、百倍地缩短,而且不需要本地终端有太大的存储容量。

  综上所述,作者认为流媒体指的是通过网络传输的、能够在本地终端实时回放的、具有实时特征的媒体内容编码数据流。因为Internet/Intranet上已经有很多重要的应用,流媒体的传输网络主要是以Internet为代表的IP网。随着ATM的不断成熟,考虑到ATM固有的优秀品质,可以想象ATM网将在这一领域发挥重要作用。另外,静止的文本和图像已经不再能满足用户不断提高的要求,动态的音频和视频必将成为未来网络应用重要信息载体,因此流媒体主要用于传送音频和视频信号码流。

  3 流媒体技术原理

  如前所述,所谓流媒体是指在Internet等网络中采用流式传输方式得到的连续时基媒体数据,显然,流媒体实现的关键技术就是流式传输,即通过网络获得平滑的数据流。为了实现流式传输,需要采取一些技术手段。

  3.1 流媒体技术的关键

  由于目前的存储容量和网络带宽还不能完全满足巨大的A/V,3D等多媒体数据流量的要求,所以对A/V,3D等多媒体数据一般要进行预处理后才能进行存储或传输。预处理主要包括采用先进高效的压缩算法和降低质量(有损压缩)两个方面。同样,在流媒体技术中,进行流式传输的多媒体数据应首先经过特殊的压缩,然后分成一个个压缩数据包,由服务器向用户计算机连续、实时传送。

  另外,与下载方式相比,尽管流式传输对于系统存储容量的要求大大降低,但它的实现仍需要缓存。这是因为Internet是以分组传输为基础进行统计时分复用,数据在传输过程中要被分解为许多分组,在网络内部采用无连接方式传送。由于网络是动态变化的,各个分组选择的路由可能不尽相同,故到达用户计算机的路径和时间延迟也就不同。所以,必须使用缓存机制来弥补延迟和时延抖动的影响,使媒体数据能连续输出,不会因网络暂时拥塞而使回放出现停顿。高速缓存使用环形链表结构来存储数据,通过丢弃已经播放的内容,可以重新利用空出的高速缓存空间来缓存后续的媒体内容。

  如果在终端之间用无连接方式(如UDP/IP)通信,还必须保证数据包传输顺序的正确。在网络质量有一定保证的前提下,缓存机制是实现流媒体技术的重要问题。

  3.2 支持流媒体传输的网络协议

  流媒体采用流式传输方式在网络服务器与客户端之间进行传输。流式传输的实现需要合适的传输协议。IETF(Internet Engineering Task Force,因特网工程任务组)制订的很多协议可用于实现流媒体技术。其它的标准化组织也在这方面做了很大的努力,如MPEG-4的多媒体递送集成框架(DMIF,〖6〗)。本文主要介绍IETF的工作。

  3.2.1 RTP/RTCP

  RTP(Real-time Transport Protocol)国交互式音频、视频等具有实时特征的数据提供端到端的传送服务。如果底层网络支持多播,RTP还可使用多播向多个目的端点发送数据。RTP协议包含两个密切相关的部分,即负责传送具有实时特征的多媒体数据的RTP和负责反馈控制、监测QoS和传递相关信息的RTCP(Real-time Transport Control Protocol)。在RTP数据包的头部中包含了一些重要的字段使接收端能够对收到的数据包恢复发送时的定时关系和进行正确的排序以及统计包丢失率等。RTCP是RTP的控制协议,它周期性地与所有会话的参与者进行通信,并采用和传送数据包相同的机制来发送控制包。

  值得注意的是,RTP协议本身并不提供任何QoS必须由下层网络来保证。但是通过RTCP控制包可以为应用程序动态提供网络的当前信息,据此可对RTP的数据收发作相应调整使之最大限度地利用网络资源。

  3.2.2 RSVP

  IETF的资源预留协议RSVP(Resource Reservation Protocol)是网络中预留所需资源的传送通道建立和控制的信令协议,它能根据业务数据的QoS要求和带宽资源管理策略进行带宽资源分配,在IP网上提供一条完整的路径。通过预留网络资源建立从发送端到接收端的路径,使得IP网络能提供接近于电路交换质量的业务。即在面向无连接的网络上,增加了面向连接的我;它既利用了面向无连接网络的多种业务承载能力,又提供了接近面向连接网络的质量保证。但是RSVP没有提供多媒体数据的传输能力,它必须配合其它实时传输协议来完成多媒体通信服务。

  3.2.3 RTSP

  实时流协议(RTSP)是用于控制具有实时特征数据传输的应用层协议。它提供了一个可扩展的框架以控制、按需传送实时数据,如音频、视频等,数据源既可以是实况数据产生装置,也可以是预先保存的媒体文件。该协议致力于控制多个数据传送会话,提供了一种在UDP、组播UDP和TCP等传输通道之间进行选择的方法,也为选择基于RTP的传输机制提供了方法。

  RTSP可建立和控制一个或多个音频和视频连续媒体的时间同步流。虽然在可能的情况下,它会将控制流插入连续媒体流,但它本身并不发送连续媒体流。因此,RTSP用于通过网络对媒体服务器进行远程控制。尽管RTSP和HTTP有很多类似之处,但不同于HTTP,RTSP服务器维护会话的状态信息,从而通过RTSP的状态参数可对连续媒体流的回放进行控制(如暂停等)。

  3.2.4 MIME

  通用因特网邮件扩展MIME(Multipurpose Internet Mail Extensions)是SMTP的扩展,不仅用于电子邮件,不能用来标记在Internet上传输的任何文件类型。通过它,Web服务器和Web浏览器才可以识别流媒体并进行相应的处理。Web服务器和Web浏览器都是基于HTTP协议,而HTTP内建有MIME。HTTP正是通过MIME标记Web上繁多的多媒体文件格式。为了能处理一种特定文件格式,需对Web服务器和Web浏览器都进行MIME类型设置。对于标准的MIME类型,如文本和JPEG图像,Web服务器浏览器提供内建支持;但对Real等非标准的流媒体文件格式,则需设置audio/x-pn-real audio等MIME类型。浏览器通过MIME来识别流媒体的类型,并调用相应的程序或Plug-in(插件)来处理。在IE和Netscape这两个最常用的浏览器中,都提供了很多的内建流媒体支持。

4 流媒体技术的开发

  在1999年年底结束的streaming Media West’99展览会中,Microsoft,RealNetworks,Apple,Intel等公司就流媒体技术的发展、应用展开了激烈的竞争。同时,与会的专家预计未来3年内,更多的Internet用户(包括企业和个人用户)将通过流媒体技术发布和获取信息。在市场的推动下,业界对流媒体技术的开发投入了很大的力量,流毁灭体技术的应用范围也越来越广。

  4.1 流式视频格式

  一般而言,媒体内容是一定的格式保存的。媒体播放器要能够识别媒体文件格式,并从中得到回放时需要的信息。到目前为止,Internet上使用较多的流式视频格式主要是以下三种:RealNetworks公司的RealMekia,Apple计算机公司的QuickTime以及Microsoft公司的Advanced Streaming Format(ASF)。

  4.1.1 RealMedia

   RealNetworks公司所制定的音频视频压缩规范称为RealMedia,是目前在Internet上相当流行的跨平台的客户/服务器结构的多媒体应用标准。它采用音频/视频流同步回放技术来实现在Internet上全带宽地提供最优质的多媒体信息,同时也能够在Internet上以28.8kbps的传输速率提供立体声和连续视频。

   RealNetworks公司自1995年发布RealAudio 1.0以来,RealAudio和RealVideo产品已经成为Internet网上最受欢迎的解决方案。其中所采用的SureStream(自适应流)技术是RealNetworks公司具有代表性的技术。它通过RealServer将A/V文件以流的方式传输,然后利用SureStream方式,根据客户端不同的拨号速率(不同的带宽),让传输的A/V信息自动适应带宽,并始终以流畅的方式播放。其同步推出的RealPlayer是目前最流行的流媒体播放器。

  4.1.2 QuickTime

  Apple计算机公司的QuickTime是数字媒体领域事实上的工业标准,可以通过Internet提供实时的数字化信息流、工作流与文化回放功能。它由三个不同部分所组成:QuickTime电影(Moive)文件格式、QuickTime媒体抽象层以及QuickTime内置媒体服务系统。QuickTime电影文件格式定义了存储数字媒体内容的标准方法,使用这种文件格式不仅可以存储单个的媒体内容(如视频帧或音频采样),而且能保存对该媒体作品的完整描述(元数据)。QuickTime媒体抽象层是一种综合性的媒体软件框架,它定义了软件工具和应用程序如何访问QuickTime内置媒体服务系统,以及如何通过硬件提升QuickTime的关键性能。而QuickTime内置媒体服务系统则可作为软件开发工具的基础,帮助软件开发商和用户充分利用QuickTime的技术优势。

  4.1.3 ASF

  Microsoft公司推出的ASF(Advanced Streaming Format,高级流格式),是一种独立于编码方式的数据格式,音频、视频、图像以及控制命令脚本等多媒体信息可以通过这种格式,以网络数据包的形式传输。其中,在网络上传输的内容就称为ASF Stream。ASF支持任意的压缩/解压缩编码方式,并可以使用任何一种底层网络传输协议,具有很大的灵活性。Microsoft公司希望用ASF取代QuickTime之类的技术标准以及WAV,AVI等文件类型,并打算将ASF用作将来的Windows版本中所有多媒体内容的标准文件格式。

   ASF的主要优点包括:本地或网络回放、可扩充的媒体类型、部件下载、可伸缩的媒体类型、流的优先级化、多语言支持、环境独立性、丰富的流间关系以及扩展性等。但ASF的最大优势可能在于Microsoft在业界的影响力及由此得到的众多厂商的支持。

  4.2 流媒体技术的实现过程

   按照内容提交的方式,流媒体可以分为两种:实况流媒体广播(即Web广播)和由用户按需访问的存档的视频和音频。不论是哪一种类型的流媒体,其实现从摄制原始镜头到媒体内容的回放都要经过一定的过程。下文以RealMedia为例来说明流媒体的制作、传输和使用的过程:

   *采用视频捕获装置对事件进行录制;

   *对获取的内容进行编辑,然后利用视频编辑硬件和软件对它进行数字化处理;

   *经数字化的视频和音频内容被编码为流媒体(.rm)格式。

   *媒体文件或实况数据流被保存在安装了流媒体服务器软件的宿主计算机上;

   *用户点击网页请求视频流或访问流内容的数据库;

   *宿主服务器通过网络向最终用户提交数字化内容;

   *最终用户利用桌面或移动终端上的显示媒体内容的播放程序(如Realplayer)进行回放和观看。

  5 流媒体技术的应用

  Internet的不断发展决定了流媒体应用广阔的市场前景。流媒体技术及其相关产品将广泛用于远程教育、网络电台、视频点播、收费播放等。流媒体技术在企业一级的可能应用包括电子商务、远程培训、视频会议、客户支持等。下面简介一些主要的流媒体应用。

   *视频播出(Streaming Video):娱乐是流媒体的重要应用场合。用摄像机或其它装置获得视频信号后,就可以通过 站点进行基于Internet的现场直播;或者保存为流媒体格式的文件,以供按需播放。需要在一台较高配置的PC机或服务器上安装上普通视频采集卡和声卡,然后通过视频采集卡输入视频和通过声卡输入声音信号就可以用实时编码工具来进行直播或录制成流媒体文件。在这种应用中可加入一定的计费手段,从而能够提供有偿多媒体内容服务。

   *远程教学(Remote seminar):远程教学将为更多的人提供接受教育的机会。教学者事先在Internet/Intranet上发出通知,听众在讲座开始前访问某个URL地址,当讲座开始时,听众可以看到演讲者的演讲画面并听到他的声音。整个讲座也可以媒体文件的形式记录下来,用于以后按需播放。教学者事先把媒体文件传给远程教学服务器,当听众需要听讲座时,同样访问相应的URL地址,请求获取服务器中的媒体内容。媒体数据通过流式传输下载到用户的浏览器高速缓存中,由媒体播放器实时回放。

   *视频会议(Video Conference):视频会议和远程教学有很多类似之处,但它对实时性的要求更高。在一个视频会议中,各个会议点用音/视频采集设备得到多媒体内容信息,经过数字化后用某种压缩方法进行压缩。压缩数据可以通过网络直接在各个会议点之间组播,或传到多点处理器(MP)经过合成或转换后再向各与会点组播。但不管采用哪种方式,都需要保证以尽量小的时延在各个点进行回放,这正是流媒体技术发挥作用的地方。虽然,视频会议的音/视频可以保存在DSM中,但这样做没有太大的意义。

  6 结束语:流媒体的未来

   流媒体服务系统和传统的网络文件服务系统有许多相似之处,尤其强调对数据对象的共享使用和追求最大化的数据吞吐率,但是,流媒体技术更为强调对高速、稳定和边疆的寻体流的访问支持,以及对不同媒体同步(如音视码流的唇同步)的支持,从而确保媒体数据的以最小的时延到达并在本地终端同步回放。

   由于当前的流媒体服务系统存在着对连续性、实时性的严格要求以及对数据巨量需要,现阶段的网络尚有些免为其难。随着计算机网络的进一步发展,网络带宽的不断扩大,网络多媒体平台将不断完善,流媒体技术必将会在未来的网络应用中发挥更大的作用。正如当初图像处理要求对计算机的影响一样,可以预见,流媒体服务系统也将对网络和终端的硬件和软件设计产生重大影响。