关键词 移动流媒体 Streaming 3GPP RTSP SDP RTP
1、引言
流媒体业务是从Internet上发展起来的一种多媒体应用,指使用流(Streaming)方式在网络上传输的多媒体文件,包括音频、视频和动画等。
移动流媒体业务就是流媒体技术在移动网络和终端上的应用,主要是利用目前2.5G或3G的移动通信网,为手机终端提供音频、视频的流媒体服务。移动流媒体业务的内容包括新闻资讯、影视、MTV、体育、教育、行业和专项应用等多种形式。移动流媒体业务根据数据内容的播放方式可以分为以下三种业务类型:
(1)流媒体点播(VOD):内容提供商将预先录制好的多媒体内容编码压缩成相应格式,存放在内容服务器上并把内容的描述信息以及链接放置在流媒体的门户网站上。最终用户就可以通过访问门户网站,发现感兴趣的内容,有选择地进行播放。
(2)流媒体直播:流媒体编码服务器将实时信号编码压缩成相应的格式,并经由流媒体服务器分发到用户的终端播放器。根据实时内容信号源的不同,又可以分为电视直播、远程监控等。
(3)下载播放:用户将流媒体内容下载并存储到本地终端中,然后可以选择在任意时间进行播放。对于下载播放,主要的限制指标是终端的处理能力和终端的存储能力,内容提供商可以制作出较高质量的视音频内容(高带宽、高帧速率),但需要考虑内容的下载时间及终端的存储空间。
流媒体传输技术的主要特点是以流(Streaming)的形式进行多媒体数据的传输。把连续的影像和声音信息经过压缩处理后放到网络服务器上,客户端在播放前并不需要下载整个媒体文件,而是在将缓存区中已经收到的信息进行播放的同时,多媒体文件的剩余部分将持续不断地从服务器下载到客户端,即“边下载,边播放”。
移动流媒体技术是网络音视频技术和移动通讯技术发展到一定阶段的产物,它是融合很多网络技术之后所产生的技术,它会涉及到流媒体数据的采集、压缩、存储、无线网络通信以及移动终端等多项技术。
由于流媒体的技术特点,决定了其在移动网络中的广阔应用前景。首先,流媒体技术有效降低对传输带宽和抖动的要求,使得在无线传输环境实现实时媒体播放业务成为可能。移动终端体积小、低能耗的要求决定了有限的存储空间,而媒体文件不需要在终端中保存,避免了对存储空间的要求。其次,有效的版权保护,能够确保移动流媒体应用的商用模式。
随着第三代移动通信技术的逐步成熟,将移动流媒体技术引入移动增值业务,已经成为目前全球范围内移动业务研究的热点之一。目前,3GPP,3GPP2等标准化组织早已经开展了移动流媒体的应用研究工作,并已经制定了相应的标准。
2、移动流媒体业务的系统结构
如图1所示,一个端到端的移动流媒体系统包括流媒体客户端(终端)、移动通信网接入网、移动通信网核心网、IP网络、流媒体内容服务器、流媒体内容缓冲服务器、用户终端档案服务器、门户网站、业务管理、DRM服务器、门户服务器等。其中,流媒体内容服务器(包括媒体制作和内容管理)和内容缓冲服务器构成了移动流媒体服务器的核心内容,而用户终端档案服务器、业务管理服务器(或综合业务管理平台)、DRM服务器、门户服务器等作为公共的业务功能实体,构成了流媒体服务器的外围功能实体。移动流媒体业务可以采用IP或其他方式承载。下层承载网络支持GPRS,CDMA分组网络以及未来的3G分组域网络。
(1)流媒体内容服务器(Content Server)为移动流媒体业务平台的服务器,是提供移动流媒体业务的核心设备,主要负责移动流媒体内容的保存、编辑、格式转换等,功能还应包含SP/CP和用户的管理等方面。
(2)内容缓冲服务器(Cache Server),用于在运营商间接提供内容,而需要在用户访问的时候向Content Server获取内容并进行缓存。在用户访问并播放远端的流媒体内容时,Cache Server使得媒体内容更靠近用户,可以平滑IP网络造成的时延抖动。
(3)直播内容采集服务器对电视信号或实时监控信号进行编码,将需要传送的内容自动制作编码成符合用户使用要求的流媒体数据流,并转发给流媒体终端。可与内容服务器合设,也可单独设置。
(4)用户终端档案服务器(User Agent Profile),也可以称为用户设备能力数据库,主要用于终端的流媒体业务支持能力协商。
(5)数字版权管理服务器(DRM)负责流媒体内容的数字版权管理,可以是移动流媒体业务专用的DRM服务器,也可以作为公共的DRM服务器为其他业务提供数字版权管理的功能。
(6)业务管理服务器负责SP/CP的管理,包括鉴权和认证等。
(7)门户服务器实现用户浏览移动流媒体内容的入口和导航功能,可进行用户个性化设置、QoS设置等,并可实现业务推荐和排行、流媒体业务预览和查询界面等功能,可为不同类型的终端提供不同的业务界面和业务集合。
3、移动流媒体的编解码类型
移动流媒体系统所支持的媒体内容编解码格式与业务类型无关,即无论是点播、直播,还是下载播放,这些格式都是适用的。
依据3GPP的PSS规范,UMTS系统的移动分组流媒体支持的编码类型包含视频、音频、静态图像、位图、向量图、普通文本和定时文本等,其中音频和视频的编解码类型可以有多种组合。
视频的媒体编解码类型主要有三种,即H.263,MPEG-4和H.264。具体包括:H.263 profile 0 Level 45;H.263 profile 3 Level 45;MPEG-4 Visual Simple Profile level Ob;H.264(AVC)Baseline Profile Level 1b,且constraint_setl_flag=1,不要求输出的时间顺序。
音频媒体编解码方面,包含4种:Enhanced aac Plus;Extended AMR-WB;MPEG-4 AAC Low Complexity (AAC-LC);MPEG4AACLongTermPrediction(AAC-LTP)。
其中,MPEG-4音频解码器支持的最高采样率为48kHz。所支持的通道配置为mono(1/0)和stereo(2/0)。对于AAC-LC或AAC-LTP流,应在SDP“a=fmtp”行中包含MIME参数“profile-level-id”和“object”。其值如表1所示。
[table]
Object Type | Profile-level-id | Object |
AAC-LC | 15 | 2 |
AAC-LTP | 15 | 4 |
4、实现移动流媒体业务的相关协议
图2给出了实现移动流媒体业务的协议栈描述。其中,视频、音频等流媒体数据主要通过RTP/UDP承载,而一些静态的图像、文本则可以使用HTTP进行承载。对于能力交换(Capbility Exchange)和表示描述(Presentation Description)可以使用HTTP或者RTSP进行封装,这取决于不同的实现方式。RTSP和SDP用于会话建立和控制,MIME描述媒体类型,RTP是流媒体负载的传输协议。
(1)会话建立
会话建立是指移动流媒体客户端获得初始会话描述的方法。初始会话描述可能是一个表示描述、或者一个场景描述、或者仅仅是一个指向该内容的URL。移动流媒体客户端应当支持按以下格式定义的初始会话描述:SMIL,SDP或者简单的RTSP URL。
除了“rtsp://”以外,移动流媒体客户端还应该支持以“file://”(用于本地存储的文件)和“http://”(用于通过HTTP协议分发的表示描述或场景描述)开头的指向有效初始会话描述的URL,移动流媒体客户端应支持至少其中一种。三种输入:file://temp/morning_news.smil,http://mediaportal/morning_news.sdp,以及rtsp://mediaportal/morning news.3gp或rtsp://mediaportal/morning_news.3g2。
(2)实时流媒体协议(RTSP)
RTSP(Real-time Streaming Protocol)是由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头字段:用于移动流媒体客户端和服务器协商移动流媒体客户端应发送哪些QoS Metrics,以什么样的频率发送以及如何取消发送这些Metrics;Video Buffering头字段:用于Buffer的管理。
(3)会话描述协议(SDP)
RTSP需要一个表示描述(Presentation Description),以便说明一个流媒体会话的基本属性,包括媒体类型和格式、所需要的传输带宽、播放的时间范围、所需Buffer信息等。作为在移动网络中的应用的一种带宽和时延敏感的业务,这些信息对于保证移动终端用户的业务感受是非常重要的。
SDP协议最初用于描述SIP会话中支持的媒体类型,只是一种用于会话描述的格式(协议),它并不是一个传输协议,也不包含在媒体的编解码之中,而是用于在不同传输协议间的传递消息的通知协议,其主要目的是解决多媒体会话通知、邀请和会话的初始化工作。
3GPP的PSS规范中使用SDP协议实现RTSP的表示描述,并对SDP进行了必要的扩展,以便满足流媒体业务在移动网络中QoS需求。
SDP消息中包含两层,即会话层和媒体层。一个会话描述中可能包含一个或多个媒体层的信息。SDP消息的基本内容包括:会话信息(会话名和目的、会话时间、会话使用的带宽、会话的用户信息)和媒体信息(媒体类型,例如视频或音频;传输协议,例如RTP/UDP/IP;媒体格式,例如H.263视频或者MPEG视频;多播地址和媒体传输端口;IP单播会话的联系地址和媒体传输端口等)。
(4)数据传输协议RTP与RTCP
为了传输会话控制信息和媒体信息,移动流媒体客户端和服务器应支持基于IP的网络接口。控制信息和媒体信息基于TCP/IP和UDP/IP传输。
移动流媒体的业务定义是按照实时或点播方式通过移动网络向手机终端进行音视频广播,面向连接的TCP需要较多的开销,所以不适合移动流媒体的应用;移动流媒体传输一般采用实时传输协议RTP/UDP来传输实时多媒体数据,以获得较小的时延和减少数据开销。
RTP(Realtime Transport Protocol)是实时数据传输协议,RTCP(Realtime Transport Control Protocol)是RTP的控制协议。
RTP是针对Internet上多媒体数据流的一个传输协议,由IETF作为RFC1889发布。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP的典型应用建立在UDP上,但也可以在TCP或ATM等其他协议之上工作。RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。
RTCP负责管理传输质量在当前应用进程之间交换控制信息。在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。
RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,适合传送网上的实时数据。RTCP的一个关键作用就是能让接收方同步多个RTP流,例如当音频与视频一起传输的时候,由于编码的不同,RTP使用两个流分别进行传输,这样两个流的时间戳以不同的速率运行,接收方必须同步两个流,以保证声音与影像的一致。
RTP只是保证同一媒体流的时间戳功能,但是对于同时需要不同媒体流(音频+视频)的业务时,RTCP把时间戳和实时时钟联系起来,保证了媒体的同步,同时RTCP保证参与会话的成员反馈通信信息,从而保证通信的质量。
RTCP包的主要类型包括:SR:发送报告,发送者的发送和接收信息的统计;RR:接收报告,非发送者的接收信息的统计;SDES:信息源的描述;BYE:会话参与者会话结束标志;APP:某种应用功能;几个单独的RTCP包可以组合成混合RTCP包进行传输。
3GPP对用于移动流媒体传输的RTP/RTCP也进行了一些扩展,以支持传输的完整性、RTP重传、拥塞控制和速率自适应等功能。
(5)能力交换协议
在移动流媒体业务中,终端能力协商是一个重要的功能,它使得流媒体服务器可以提供广泛的内容给多种类型的客户端设备。其另一个重要功能是在不同版本的移动流媒体间提供平滑转换。因此,移动流媒体客户端和服务器应支持能力交换。
用户终端档案服务器(User Agent Profile)用于存储用户参数和设备功能信息。这些信息可用于控制如何向移动用户提供流媒体内容。
5、结束语
在移动流媒体技术的标准化方面,移动分组流媒体主要在3GPP进行规范,3GPP2对用于cdma2000系统的移动流媒体文件格式有所规定。
3GPP R6版本的PSS规范项目已经基本完成,在技术内容上与R5兼容。在协议、能力交换、网络适配、DRM等方面有所增强。在编解码方面,3GPP也根据相关组织规范的最新版本进行了更新,与之保持一致,并且在R6引入了视频H.264(AVC)、音频Extended AMR-WB和音频EnhancedaacPlus。