移动流媒体业务的技术与标准作者:吴伟来源:《通信技术与标准》发布时间:2005-10-01摘要:本文首先介绍了移动流媒体业务的概念,以及流媒体的编解码类型,随后重点描述了实现移动流媒体业务的相关协议,最后介绍了相关标准的进展情况。关键词:移动流媒体Streaming3GPPRTSPSDPRTP1引言流媒体业务是从Internet上发展起来的一种多媒体应用,指使用流(Streaming)方式在网络上传输的多媒体文件,包括音频、视频和动画等。流媒体传输技术的主要特点是以流(streaming)的形式进行多媒体数据的传输。把连续的影像和声音信息经过压缩处理后放到网络服务器上,客户端在播放前并不需要下载整个媒体文件,而是在将缓存区中已经收到的信息进行播放的同时,多媒体文件的剩余部分将持续不断地从服务器下载到客户端,即“边下载,边播放”。这样就避免了用户在收看或收听媒体流的时候要花费一段时间把完整的文件下载到客户端,可以给用户带来“实时播放”的业务感知体验。2移动流媒体业务移动流媒体业务就是流媒体技术在移动网络和终端上的应用,主要是利用目前2.5G或3G的移动通信网,为手机终端提供音频、视频的流媒体服务。移动流媒体业务的内容包括新闻资讯、影视、MTV、体育、教育、行业和专项应用等多种形式。移动流媒体业务根据数据内容的播放方式可以分为三种业务类型:●流媒体点播(VOD):内容提供商将预先录制好的多媒体内容编码压缩成相应格式,存放在内容服务器上并把内容的描述信息以及链接放置在流媒体的门户网站上。最终用户就可以通过访问门户网站,发现感兴趣的内容,有选择的进行播放。●流媒体直播:流媒体编码服务器将实时信号编码压缩成相应的格式,并经由流媒体服务器分发到用户的终端播放器。根据实时内容信号源的不同,又可以分为电视直播、远程监控等。●下载播放:用户将流媒体内容下载并存储到本地终端中,然后可以选择在任意时间进行播放。对于下载播放,主要的限制指标是终端的处理能力和终端的存储能力,内容提供商可以制作出较高质量的视音频内容(高带宽、高帧速率),但需要考虑内容的下载时间及终端的存储空间。移动流媒体技术是网络音视频技术和移动通讯技术发展到一定阶段的产物,它是融合很多网络技术之后所产生的技术,它会涉及到流媒体数据的采集、压缩、存储,无线网络通信,以及移动终端等多项技术。由于流媒体的技术特点,决定了其在移动网络中的广阔应用前景。首先,流媒体技术有效降低对传输带宽和抖动的要求,使得在无线传输环境实现实时媒体播放业务成为可能。移动终端体积小、低能耗的要求决定了有限的存储空间,而媒体文件不需要在终端中保存,避免了对存储空间的要求。其次,有效的版权保护,能够确保移动流媒体应用的商用模式。随着第三代移动通信技术的逐步成熟,将移动流媒体技术引入移动增值业务,已经成为目前全球范围内移动业务研究的热点之一。目前3GPP、3GPP2等标准化组织早已经开展了移动流媒体的应用研究工作,并已经制定了相应的标准。3移动流媒体的编解码类型移动流媒体系统所支持的媒体内容编解码格式与业务类型无关,即无论是点播、直播,还是下载播放,这些格式都是适用的。依据3GPP的PSS规范,UMTS系统的移动分组流媒体支持的编码类型包含视频、音频、静态图像、位图、向量图、普通文本和定时文本等,其中音频和视频的编解码类型可以有多种组合。本文主要描述视频与音频媒体编码格式的要求。根据3GPPR6的PSS规范,视频的媒体编解码类型主要有三种:H.263、MPEG-4和H.264。具体包括:●H.263profile0Level45;●H.263profile3Level45;●MPEG-4VisualSimpleProfilelevel0b;●H.264(AVC)BaselineProfileLevel1b,且constraint_set1_flag=1,不要求输出的时间顺序。音频媒体编解码方面,包含4种:●EnhancedaacPlus;●ExtendedAMR-WB;●MPEG-4AACLowComplexity(AAC-LC);●MPEG?4AACLongTermPrediction(AAC-LTP)。其中,MPEG-4音频解码器支持的最高采样率为48kHz。所支持的通道配置为mono(1/0)和stereo(2/0)。对于AAC-LC或AAC-LTP流,应在SDP“a=fmtp”行中包含MIME参数“profile-level-id”和“object”。其值如表1所示:4实现移动流媒体业务的相关协议本章主要介绍会话建立、RTSP、SDP、RTP/RTCP等移动流媒体的重要协议,以及这些协议用于移动应用的扩展。实现移动流媒体业务的协议栈如图1所示。其中,视频、音频等流媒体数据主要通过RTP/UDP承载,而一些静态的图像、文本则可以使用HTTP进行承载。对于能力交换(CapbilityExchange)和表示描述(PresentationDescription)可以使用HTTP或者RTSP进行封装,这取决于不同的实现方式。RTSP和SDP用于会话建立和控制,MIME描述媒体类型,RTP是流媒体负载的传输协议。4.1会话建立会话建立是指移动流媒体客户端获得初始会话描述的方法。初始会话描述可能是一个表示描述、或者一个场景描述、或者仅仅是一个指向该内容的URL。移动流媒体客户端应当支持按以下格式定义的初始会话描述:SMIL、SDP或者简单的RTSPURL。除了“rtsp://”以外,移动流媒体客户端还应该支持以“file://”(用于本地存储的文件)和“http://”(用于通过HTTP协议分发的表示描述或场景描述)开头的指向有效初始会话描述的URL,移动流媒体客户端应支持至少其中一种。三种输入举例如下:●file://temp/morning_news.smil;●;●rtsp://mediaportal/morning_news.3gp或rtsp://mediaportal/morning_news.3g2。4.2实时流媒体协议(RTSP)RTSP(Real-timeStreamingProtocol)是由RealNetworks和Netscape共同提出的一种协议,它定义了如何使一对多应用程序有效地通过IP网络传送多媒体数据。连续的媒体是只有内在时间线的媒体。不连续的媒体则不包含自己的时间元素。话音、音频和视频属于连续的媒体,而静态图像和文本则是不连续的媒体。对于不连续的媒体的传输,例如矢量图、同步文本和合成音频,可以采用HTTP/TCP/IP协议。在这种情况下,由于HTTP已经具备这些功能,因此不需要一个独立的会话建立和控制协议。而对于使用RTP/UDP/IP的连续媒体流则需要一个会话控制协议来建立并控制独立的媒体流。流媒体业务使用RTSP协议来进行会话的建立和控制。RTSP在体系结构上位于RTP、RTCP之上,它使用TCP或RTP完成数据传输。与HTTP相比,RTP传送的是多媒体数据,而HTTP传送HTML。在使用RTSP时,客户机和服务器均可发出请求,也就是说RTSP可双向服务,而HTTP的请求是由客户机发出,服务器进行响应。RTSP的主要命令:DESCRIBE、PLAY、PAUSE、SET_PARAMETER、TEARDOWN、OPTIONS、SETUP。3GPP的PSS规范中对于RTSP协议在移动分组流媒体中的应用定义了一些扩展字段,主要包括:●Range头字段,并在PLAY的响应中包含这个字段;●Bandwidth头字段;●3GPP-link-Char头字段:用于移动流媒体客户端向移动流媒体服务器报告无线链路特性;●3GPP-Adaptation头字段:用于移动流媒体客户端设置速率自适应参数;●QoE头字段:用于移动流媒体客户端和服务器协商移动流媒体客户端应发送哪些QoSMetrics,以什么样的频率发送以及如何取消发送这些Metrics;●VideoBuffering头字段:用于Buffer的管理。4.3会话描述协议(SDP)RTSP需要一个表示描述(PresentationDescription),以便说明一个流媒体会话的基本属性,包括媒体类型和格式、所需要的传输带宽、播放的时间范围、所需Buffer信息等。作为在移动网络中应用的一种带宽和时延敏感的业务,这些信息对于保证移动终端用户的业务感受是非常重要的。SDP协议最初用于描述SIP会话中支持的媒体类型,只是一种用于会话描述的格式(协议),它并不是一个传输协议,也不包含在媒体的编解码之中,而是用于在不同传输协议间的传递消息的通知协议,其主要目的是解决多媒体会话通知、邀请和会话的初始化工作。3GPP的PSS规范中使用SDP协议实现RTSP的表示描述,并对SDP进行了必要的扩展,以便满足流媒体业务在移动网络中QoS需求。SDP消息中包含两层:会话层和媒体层。一个会话描述中可能包含一个或多个媒体层的信息。SDP消息的基本内容包括:●会话信息:■会话名和目的;■会话时间;■会话使用的带宽;■会话的用户信息;●媒体信息:■媒体类型,例如:视频或音频;■传输协议,例如:RTP/UDP/IP;■媒体格式,例如:H.263视频或者MPEG视频;■多播地址和媒体传输端口(IP多播会话);■IP单播会话的联系地址和媒体传输端口等。DP会话描述由许多文本行组成。文本行的格式为:类型=值。其中“类型”是一个字母,“值”是结构化的文本串。例如:m=video53000RTP/AVP31其中:m代表这一行代表媒体信息;video代表是视频流;53000代表UDP端口号是53000;RTP/AVP指媒体传输协议使用RTP/AVP;31代表媒体格式使用H.261并且使用90KHz的时钟。对于移动流媒体应用,3GPP在PSS规范中定义了一些扩展。SDP在移动流媒体的扩展要求包括带宽参数扩展、用于Buffer管理的扩展、完整性保护扩展等3GPP扩展要求。移动终端需要使用SDP中的带宽(Bandwidth)字段,以便正确设置QoS参数。因此,移动流媒体服务器应在SDP中的媒体层为每个媒体流包括“b=AS:”、“b=TIAS:”和“a=maxprate”字段,并且在会话层包含“b=TIAS:”和“a=maxprate”字段。当客户端接收到SDP,它将忽略会话层的“b=AS:”参数,并且从相关流的媒体层带宽参数的值来计算会话需要的带宽。若会话层具有“b=TIAS:”和“a=maxprate”参数,由于汇聚多个媒体流时会话层能够提供所需会话带宽更为准确的描述,则优先使用会话层的这个参数,而不是媒体层的参数。此外,3GPP的PSS规范中对于SDP中的会话层和媒体层都定义了带宽信息参数的两个扩展字段:●“b=RS:”:为发送者(即流媒体服务器)分配的RTCP带宽;●“b=RR:”:为接收者(即移动流媒体终端)分配的RTCP带宽。流媒体服务器在SDP的媒体层包含每个媒体流的“b=RS:”和“b=RR:”字段。为满足移动网络提供视频流媒体业务的性能要求或速率适配,3GPP的PSS规范也定义了一些扩展字段:●a=X-predecbufsize:;●a=X-initpredecbufperiod:;●a=X-initpostdecbufperiod:;●a=X-decbyterate:;●a=3gpp-videopostdecbufsize:。对于H.263格式的流媒体文件,SDP媒体层定义了framesize扩展字段。该字段定义了H.263流的最大视频帧的长度,便于终端分配适当大小的缓冲空间。格式如下:“a=framesize:-”。3GPP还定义了一些SDP会话层的扩展字段,用于支持会话的完整性保护,包括:●a=3GPP-Integrity-Key;●a=3GPP-SRTP-Config;●a=3GPP-SDP-Auth。4.4数据传输协议RTP与RTCP为了传输会话控制信息和媒体信息,移动流媒体客户端和服务器应支