实时传输协议及在无线流媒体业务中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{业务管理}实时传输协议及在无线流媒体业务中的
应用
实时传输协议及在
无线流媒体业务中的应用
张瑞丹
(电信科学技术第十研究所陕西西安710061)
摘要:分析了实时传输协议(RTP)和实时传输控制协议(RTCP)的基本概念、协议结构和工作机制,介绍了适用于无线流媒体通信的音视频编码标准,结合RTP
协议的适用性,讨论了RTP在无线流媒体业务中的应用。
关键词:实时传输协议流媒体编码
第三代移动通信网络引入了具有先天技术优势的CDMA无线接入技术,具备高速数据传送能力。无线运营商可以随时、随地地为移动用户提供宽带数据的发送、接收应用业务。这些应用业务包括视频、视讯会议、高保真音频及互联网接入等服务,其中的许多服务都是基于无线实时流媒体通信技术之上。传统的TCP是面向连接的协议,它的重传机制和拥塞控制机制不适合用于实时媒体流的传输。实时传输协议(RTPRealtimeTransportProtocol)是一个应用型的传输层协议,它作为多媒体应用的核心协议,受到越来越多的重视,被广泛应用于流媒体传输业务中。
一、实时传输协议:
RTP是针对多媒体数据流的一个传输协议,由IETF(Internet工程任务组)作为RFC1889发布,它被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步;它的典型应用是建立在UDP之上,但也可以在TCP或ATM等其他协议之上工作;它本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠实时传输控制协议(RTCPRealtimeTransportControlProtocol)提供这些服务,RTCP负责管理传输质量在当前应用进程之间交换控制信息。在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送数据包的数量、丢失数据包的数量等统计资料。因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP 配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送实时数据。
1.RTP协议结构
RTP数据帧由RTP头和不定长的连续媒体数据组成,其中固定的RTP头为12字节,
媒体数据可以是编码数据。RTP头结构如图1所示,各段含义如下:
图1RTP数据帧结构
(1)V:版本;2比特。定义RTP的版本(当前版本是2,版本1用于RTP草案)。
(2)P:间隙(Padding);1比特。设置时,数据包包含一个或多个附加间隙位组,这部分不属于有效载荷。如果补齐位被设置成1,一个或多个附加的字节会加在包头的最后,附加的最后一个字节放置附加的字节数。补齐是一些加密算法所必需的,在下层网络数据包携带多个RTP包时也需要补齐。
(3)X:扩展位;1比。如果被设置成1,一个头部扩展域会加在RTP包头后。
(4)CSRCCount:包含CSRC标识符(在固定头后)的编号,4比特。定义了本头部包含的CSRC源数目。
(5)M:标记;1比特。其解释由具体应用所定义,可不定义标记字段,也可以定义多个标记字段。
(6)payloadtype:载荷类型;7比特。记录后面资料使用哪种编码方式,接收端找出相应的解码器解码出来。
(7)sequencenumber:序列号;16比特。每发送一个RTP数据包,序列号增加1。接收端可以依次检测数据包的丢失,并恢复数据包序列。序列号的初始值是随机的(不可预料
的),即使源的本身没有被加密,但包流通过translator后就被加密了。不可预料的序列号初始值使对加密的攻击变得更加困难。
(8)timestamp:时标;32比特。记录RTP包中数据开始产生的时钟时间,采样时间必须通过时钟及时提供线性无变化增量获取,以支持同步和抖动计算。时标可以让接收端知道在正确的时间将资料播放出来。时钟频率和数据格式有关,不能使用系统时钟。对固定速率的音频来说,每次取样时戳、时钟增1,与包序号一样,时戳的开始值也是随机的。如果多个连续的RTP包在逻辑上是同时产生的,那么它们就具有相同的时戳。
(9)SSRC:同步源;32比特。该标识符随机选择,旨在确保在同一个RTP会话中不存在两个同步源具有相同的SSRC标识符。
(10)CSRC:作用源标识符;0到15段,每段32比特。CSRC列表表示包内对载荷起作用的源,标识数量由CC段给出,如果超出15个作用源,也只标识15个。CSRC标识由混合器插入,采用作用源的SSRC标识。
2.RTP工作机制
威胁流媒体数据传输的一个尖锐问题就是不可预料数据到达的时间。但是,流媒体的传输是需要数据的适时到达用以播放和回放。RTP协议提供了时间标签、序列号以及其它的结构用于控制适时数据的流放。在流的概念中,“时间标签”是最重要的信息,发送端依照即时采样,在数据包里隐蔽地设置了时间标签;当接受端收到数据包后,就依照时间标签并按照正确的速率恢复成原始的、适时的数据。不同的流媒体格式调时属性是不一样的,但是,RTP本身并不负责同步,它只是传输层协议。为了简化传输层处理,提高该层的效率,将部分传输层协议功能(比如流量控制)上移到应用层来完成。同步就属于应用层协议完成的,应用层没有传输层协议的完整功能,不提供任何机制来保证实时地传输数据,不支持资源预留,也不保证服务质量,RTP报文甚至不包括长度和报文边界的描述,而且其协议的数据报文和控制报文使用相邻的不同端口,这就大大提高了协议的灵活性和处理的简单性。
RTP协议和UDP协议共同完成传输层协议的功能。UDP协议只传输数据包,不管数据包传输的时间顺序,它的多路复用使RTP协议利用它来支持显式的多点投递,可以满足多媒体会话的需求。RTP协议的数据单元是用UDP分组来承载的,在承载RTP数据包时,有时候一帧数据被分割成几个具有相同时间标签的包,由此可见时间标签并不是必须的。RTP协议虽然是传输层协议,但是它并没有作为OSI体系结构中单独的一层来实现,通常它只提供协议框架,并根据具体的应用来提供服务,开发者可以根据应用的具体要求对协议进行充分的扩展。
二、无线流媒体编码及传输标准
众所周知,电信系统之间的互操作性至关重要,而要保持这种互操作性的关键就是需要制定电信设备制造商、运营商在制造产品和提供服务的过程中必须遵守的开放标准。在提供无线流媒体方面,已经有数个音、视频压缩标准和基于包传输的标准得到较充分的发展。
1.音频编码标准
目前,在音频编码标准的制定上,无线多媒体标准组织将注意力集中到几个现存的蜂窝通信语音编码标准上,这些标准包括应用于GSM并得到3GPP支持的AMR(AdaptiveMulti-Rate)编码算法以及应用于CDMAOne得到3GPP2支持的EVRC(EnhancedVariableRateCoder)编码算法,这两种算法都具有良好的抗误码能力。MPEG-4音频包括如MPEG-4AAC (AdvancedAudioCoding)等音频编码标准,以支持宽带、可扩展音频通信。
2.MPEG-4视频编码标准
MPEG-4标准的制定始于1995年,于2000年初正式成为国际标准,是第一个基于音视频内容和对象的编码标准。它从音视频场景中,按照人的直观感受分为若干个音视频对象,并分别对这些对象进行形状、纹理和运动矢量等编码,而不是象传统编码方式那样基于像素进行编码。
MPEG-4视频编码标准,作为MPEG-4标准的一部分,通常称为MPEG-4视频。它提供了大量视频编码工具,在不损失对端互操作性的前提下,MPEG-4定义了由对象类型、类及等级组成