流媒体实时传输技术的研究

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

42

流媒体实时传输技术的研究

范俊辉

1,田 斌1,陈 强2

(1. 西安电子科技大学 综合业务网国家重点实验室,陕西 西安 710071;

2. 上海德毅达信息技术有限公司,上海 200233)

摘 要 阐述了流媒体实时传输技术的基本概念和协议,详细地分析了RTP 协议和RTSP 协议,并给出了基于该协议的流媒体传输的实例。

关键词 流媒体;RTP ;RTCP;RTSP 中图分类号 TN915.04

流媒体实现的关键技术就是流式传输。实现流式传输有两种方法:实时流式传输(Real-time streaming )

和顺序流式传输(progressive streaming )。目前,实时流媒体的网络协议主要有实时传输协议

/实时传输控制协议(RTP :Real-time Transport Protocol/RTCP :Real-time Transport Control Protocol )

,实时流传输协议(RTSP :Real-Time Streaming Protocol ),资源预留协议(RSVP :Resource Reservation Setup Protocol )和会话描述协议(SDP :Session Description Protocol )

。这几种协议的层次如图1所示。这里主要讨论RTP/RTCP ,

RTSP 协议。

SDP

应用层 RTSP RTP 传输层 TCP UDP

网络层

IP

图1 协议的层次图

1 RTP协议

RTP 协议最早是IETF(Internet Engineering Task Force)在RFC1889文件中提出的,在RFC3550文件中进行了修订和更新,它是专门为交互式音频、视频、仿真数据等实时媒体应用而设计的轻型传输协议。它由两个紧密相关的部分组成: ①实时传输协议RTP :

负责传送带有实时信息的数据包; ②实时传输控制协议RTCP :负责管理传输质量和在

当前应用进程之间交换的控制信息。

RTP 通常使用UDP 来传送数据,但RTP 也可以在TCP 或ATM 等协议下工作。

当应用程序开始一个RTP 会话时将使用两个端口:偶数端口给RTP ,和其相邻的下一个奇数端口给RTCP 。RTP 本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP 提供这些服务。

RTCP 和RTP 一起提供流量控制和拥塞控制服务。在RTP 会话期间,各参与者周期性地传送RTCP 包。RTCP 包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷

类型。RTP 和RTCP 配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。

RTP 的数据包[1]格式见图2。

V P X CC M PC

顺序号时间戳 同步源SSRC 标识符 特约信源CSRC 标志符 数据载荷PAYLOAD 图2 RTP的数据包格式

V 为协议版本;P 为标志数据区后是否有填充字段;CC 为表示首部后所跟的CSRC 标识符的数目;

M 为重要事件标志;PT 为数据区的数据类型(由RFC 定义)。

电子科技 2005年第12期(总第195期)

流媒体实时传输技术的研究

电子科技/2005年12月15日

432 RTSP协议

RTSP 协议最早是由RealNetworks 公司、Nets- cape Communications 公司和Columbia 大学等联合提出的Internet 草案,关于它的设想在RFC2326文件中有所描述。

RTSP 协议用于建立并控制一个或几个时间同步的连续视频、音频流的连接。尽管用RTSP 交叉传输连续媒体流和控制流是可能的,但通常它并不用

于连续媒体流的传输。换言之,RTSP 充当多媒体服务器的网络远程控制。

RTSP 连接没有绑定到传输层连接,在 RTSP 连接期间,RTSP 用户可打开或关闭

多个对服务器的可靠传输连接以发出RTSP 请求。

RTSP 控制的流媒体可以用RTP 作为传输协议,但RTSP 操作并不依赖用于携带连续媒体的传输机制。为了兼容现有的Web 基础结构,RTSP 在制定时较多地参考了HTTP 协议,使用与HTTP 类似的语法和操作,不同的是RTSP 是双向的,即客户机和服务器都可以发出请求和回答请求。

通讯方法Methods [2]是RTSP 通讯中的标志字,相当于一个特殊的指令。可以由客户端发向服务器,也可以由服务器发出。表1和表2是RTSP 的标准

Methods 及其描述,C 表示客户端,S 表示服务器;P 表示presentation ,S 表示stream 。

表1 Methods 描述

方法 发送方向 作用对象 需求

OPTIONS C->S, S->C

P, S S:(发送)可选,(应答)要求; C(发送)要求,(应答)可选

DESCRIBE C->S P, S S:推荐; C:推荐 PAUSE C->S P, S S:推荐; C:推荐 GET PARAMETER

C->S, S->C P, S S:可选; C:可选 PING C->S, S->C

P, S S:推荐; C:可选 PLAY C->S P, S S:要求; C:要求 REDIRECT S->C P, S S:可选; C:可选 SETUP C->S S S:要求; C:要求 SET PARAMETER C->S, S->C

P, S S:可选; C:可选 TEARDOWN

C->S

P, S

S:要求; C:要求

表2 Methods 用途

方法 用途

OPTIONS 相互告诉对方可以接受的方法 DESCRIBE 客房端从服务器端得到媒体对象的描述 PAUSE 客户端向服务器请求暂停接收流媒体,不断开连接

GET PARAMETER

返回向对方请求的某些参数的值 PING 回响度检验,确定对方是否在活动 PLAY 客户端向服务器请求开始播放流媒体 REDIRECT 服务器通知客房端连接另一个服务器

SETUP 为流媒体申请资源 SET PARAMETER 设置某些参数的值 TEARDOWN

停止播放,释放资源

相关文档
最新文档