RTP RTCP协议简介

合集下载

实时运输控制协议RTCP

实时运输控制协议RTCP
H.323
H.3进行实时声音和视频会议的标准。 请注意,H.323 不是一个单独的协议而是一组协议。
H.323
H.323 包括: ✓ 系统和构件的描述,呼叫模型的描述,呼叫信令过程 ✓ 控制报文, 复用,话音编解码器,视像编解码器 ✓ 以及数据协议等。
但不保证服务质量 QoS。
三个或更多的 H.323 终端的音频或视频会议。
用 H.323 网关连接非 H.323 网络
多点控制单元 MCU
互联网
网关
公用电话网
网闸
H.323 终端
H.323 的协议体系结构
音频/视频应用
音频 编解码
视频 编解码
RTP
RTCP
UDP
信令和控制
H.225.0 登记 信令
H.225.0 呼叫 信令
行报告。 发送端报告分组 SR 用来使发送端周期性地向所有接收端用多播方式
进行报告。 源点描述分组 SDES 给出会话中参加者的描述。
RTCP 使用的五种分组类型
类型 200 201 202 203 204
缩写表示 SR RR
SDES BYE APP
意义 发送端报告 接收端报告 源点描述
结束 特定应用
H.245 控制 信令
TCP
IP
数据 应用
T.120 数据
H.323 标准指明的四种构件
1. H.323 终端。 2. 网关 —— 网关连接到两种不同的网络,使 H.323 网络可以和非
H.323 网络进行通信。 3. 网闸 (gatekeeper) ——所有的呼叫都要通过网闸,因为网闸提供
地址转换、授权、带宽管理和计费功能。 4. 多点控制单元 MCU (Multipoint Control Unit) —— MCU 支持

RTP_RTCP协议分析

RTP_RTCP协议分析

RTP/RTCP协议分析摘要本文主要介绍了RTP/RTCP协议组成,在详细了解和分析RFC3550协议和阅读目前国内外在RTP协议研究成果上给出了使用协议的要求及使用过程中需要注意的问题。

前言RTP/RTCP协议是IETF的音视频传输工作组提出的在Internet和现有局域网上传输实时信息的一个新型协议,是实现实时通信不可缺少的协议。

该协议是专门为交互的音频、视频等实时性数据而设计的。

RTP/RTCP协议由实时传输协议RTP和实时传输控制协议RTCP两部分组成。

RTP负责实时性数据的传输,它工作于UDP和IP多点传送的顶层,用于处理IP网上的视频和音频流。

每个UDP 包均加上一个包含时间标志和符号化方式识别码后发送出去,接收端配以适当的缓冲区,它就可以利用时间标志和序号信息“复原再生”数据包、记录顺序、同步音频、视频和数据以及改善接收端连接重放效果。

RTCP监测数据传输并管理控制信息,它监视迟滞和带宽,并将其通知发送端。

一旦可用带宽变窄,RTCP 立刻将该信息通知发送端,发送端根据此信息,变更符号化方式识别码,继续进行多媒体通信。

RTP/RTCP充分考虑所给定的网络,实现传送质量与给定网络相适应的多媒体通信。

协议提供端到端的实时数据流传输业务,可以满足实时通信的基本要求,但协议本身并不提供对实时应用的服务质量标准,需要有下层的协议提供服务支持。

RTP/RTCP可以满足实时通信的基本要求,但如果要想保证实时应用的带宽,还需要利用RSVP协议。

RSVP装在端系统和路由器中,用以确保端对端的传输带宽。

它能够在数据网络上为实时性音频和视频业务实现带宽预留并设置队列管理方法,尽量减少实时通信中的时间延迟和延时抖动。

使用RTP/RTCP协议之前要对协议进行说明,以符合各种不同的要求,对RTP/RTCP的说明随应用程序而不同,但至少应包括以下两个文件:框架文件:定义净荷类型的代码,并将这些代码映射到净荷的格式之中;定义对RTP/RTCP的扩充或修改以满足特殊应用的需要。

RTC PRTP RTSP协议简介

RTC PRTP RTSP协议简介

一、 RTP : (Real-time Transport Protocol,实时传输协议)是一个网络传输协议RTP报文格式RTP报文由两部分组成:报头和有效载荷。

RTP报头格式如图所示,其中:1.V:RTP协议的版本号,占2位,当前协议版本号为2。

2.P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。

3.X:扩展标志,占1位,如果X=1,则在RTP报头后跟有一个扩展报头。

:CSRC计数器,占4位,指示CSRC 标识符的个数。

5.M: 标记,占1位,不同的有效载荷有不同的含义,对于视频,标记一帧的结束;对于音频,标记会话的开始。

6.同步信源(SSRC)标识符:占32位,用于标识同步信源。

该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。

7.特约信源(CSRC)标识符:每个CSRC标识符占32位,可以有0~15个。

每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源。

8.PT: 有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM 图像等。

9.序列号:占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。

接收者通过序列号来检测报文丢失情况,重新排序报文,恢复数据。

10.时戳(Timestamp):占32位,时戳反映了该RTP报文的第一个八位组的采样时刻。

接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。

图 RTP报头格式二、RTCP:RTP 控制协议(RTCP:RTP Control Protocol)三、RTSP:(Real Time Streaming Protocol),实时流传输协议,是TCP/IP协议体系中的一个应用层协议,RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。

RTSP是用来控制声音或影像的多媒体串流协议,RTSP方法:OPTIONS :查询到服务器所提供的方法;DESCRIBE :得到会话描述信息(SDP);SETUP :提醒服务器建立会话,并确定传输模式;PLAY :客户端发送播放请求;PAUSE : 请求引起流发送临时中断TEARDOWN :客户端发起关闭请求;RTSP开启实时预览音视频的步骤一般为:OPTIONS---DESCRIBE--SETUP--PLAY--TEARDOWN。

多媒体通信协议RTP和RTCP

多媒体通信协议RTP和RTCP
多媒体通信协议 与
会话控制技术
by
通信1502 黄奕锋
CONTENTS
01. 多媒体通信协议简介 02. RTP协议和RTCP协议 03. RTP协议应用方案
01. 多媒体通信协议简介
01
概念:
多媒体通信技术是计算机技术、电视技术和通信技术
相互渗透、相互影响的结果。因此,它具有计算机的交互
性、声音和视频的实时性以及通信系统的分布性。
02
用来使接收端周期性地向所有的点用多播方式进行报告。接收端每收到一 个RTP流(一次会话包含有许多的RTP流)就产生一个接收端报告分组RR。
RR分组的内容有:所收到的RTP流的SSRC;该RTP流的分组丢失率(若 分组丢失率太高,发送端就应当适当降低发送分组的速率);在该RTP流中 的最后一个RTP分组的序号;分组到达时间间隔的抖动等。
(6)参与源数 占4位
这个字段给出后面的参与源标识符的数目。
(7)版本
占2位
当前使用的是版本2。
02
(8)填充P 占1位
在某些特殊情况下需要对应用数据块加密,这往往要求每一个数据块有 确定的长度。如不满足这种长度要求,就需要进行填充。这时就把P位置1, 表示这个RTP分组的数据有若干填充字节。在数据部分的最后一个字节用来 表示所填充的字节数。
02
➢ 实时运输控制协议RTCP (RTP Control Protocol)是与RTP配合使用 的协议,实际上,RTCP协议也是RTP协议不可分割的部分。
➢ RTCP分组也使用UDP来传送,但RTCP并不对音频/视频分组进行 封装。由于RTCP分组很短,因此可把多个RTCP分组封装在一个 UDP用户数据报中。
RTP支持的有效载荷类型有:

RTP与RTCP协议介绍

RTP与RTCP协议介绍

RTP与RTCP协议介绍转⾃:/113473/25481/本⽂主要介绍RTP与RTCP协议。

author: ZJ 06-11-17Blog:1.流媒体( Streaming Media)1.1流媒体概念流媒体技术是⽹络技术和多媒体技术发展到⼀定阶段的产物。

术语流媒体既可以指在⽹上传输连续时基媒体的流式技术,也可以指使⽤流式技术的连续时基媒体本⾝。

在⽹上传输⾳频、视频等多媒体信息⽬前主要有两种⽅式:下载和流式传输。

采⽤下载⽅式,⽤户需要先下载整个媒体⽂件,然后才能进⾏播放。

由于⽹络带宽的限制,下载常常要花很长时间,所以这种处理⽅式延迟很⼤。

⽽流媒体实现的关键技术是流式传输。

传输之前⾸先对多媒体进⾏预处理(降低质量和⾼效压缩) ,然后使⽤缓存系统来保证数据连续正确地进⾏传输。

使⽤流式传输⽅式,⽤户不必像采⽤下载⽅式那样要等到整个⽂件全部下载完毕,⽽是只需经过⼏秒到⼏⼗秒的启动延时即可在客户端进⾏播放和观看。

此时媒体⽂件的剩余部分将在后台继续下载。

与单纯的下载⽅式相⽐,这种对多媒体⽂件边下载边播放的流式传输⽅式不仅使启动延时⼤幅度地缩短,⽽且对系统缓存容量的需求也⼤⼤降低。

使⽤流式传输的另⼀个好处是使传输那些事先不知道或⽆法知道⼤⼩的媒体数据(如⽹上直播、视频会议等) 成为可能。

到⽬前为⽌,Internet 上使⽤较多的流式视频格式主要有以下三种:RealNetworks 公司的RealMedia ,Apple 公司的QuickTime 以及Microsoft 公司的Advanced Streaming Format (ASF) 。

1.2⽀持流媒体的协议多媒体应⽤的⼀个显著特点是数据量⼤,并且许多应⽤对实时性要求⽐较⾼。

传统的TCP 协议是⼀个⾯向连接的协议,它的重传机制和拥塞控制机制都是不适⽤于实时多媒体传输的。

RTP 是⼀个应⽤型的传输层协议,它并不提供任何传输可靠性的保证和流量的拥塞控制机制。

RTP 位于UDP(User Datagram Protocol) 之上。

RTP,RTCP,RTSP协议介绍

RTP,RTCP,RTSP协议介绍

RTP,RTCP,RTSP协议介绍流媒体是边下载边播放的⽅式, 是视频会议、IP电话等应⽤场合的技术基础。

为什么TCP/IP协议就不能满⾜多媒体通信的要求呢?因为TCP有以下4个特点:1.TCP重传机制2.TCP拥塞控制机制3.TCP报⽂头⽐UDP报⽂头要⼤4.TCP的启动速度慢对⽐:IP:数据传输 RTP:多媒体数据实时传输TCP:保证数据传输可靠 RTCP:保证多媒体数据传输的可靠RTP提供时间标志,序列号以及其他能够保证在实时数据传输时处理时间的⽅法RTCP是RTP的控制部分,是⽤来保证服务质量和成员管理的RTSP具体数据传输交给RTP,提供对流的远程控制RSVP预留带宽,提⾼QoS(Quality of Sever)RTP通常使⽤UDP来传送数据,但RTP也可以在TCP或ATM等其他协议之上⼯作。

当应⽤程序开始⼀个RTP会话时将使⽤两个端⼝:⼀个给RTP,⼀个给RTCP(RTP port + 1). RTP本⾝并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。

通常RTP算法并不作为⼀个独⽴的⽹络层来实现,⽽是作为应⽤程序代码的⼀部分。

RTSP与RTP最⼤的区别在于:RTSP是⼀种双向实时数据传输协议,它允许客户端向服务器端发送请求,如回放、快进、倒退等操作。

RTSP可基于RTP来传送数据,还可以选择TCP、UDP、组播UDP等通道来发送数据,具有很好的扩展性。

RTSP 默认使⽤554端⼝, ⾮常类似 HTTP 协议的流控制协议, rtsp 的命令总是按照顺序来发送.RTP/RTCP -------------------------RFC3550/RFC3551RTSP --------------------------RFC23262.1 RTP数据协议RTP 为实时应⽤提供端到端的运输,但不提供任何服务质量的保证,服务质量由RTCP来提供。

RTP和RTCP

RTP和RTCP

实时传输协议RTP(Real time Transport Protocol)被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。

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

当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。

RTP不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。

通常RTP算法并不作为一个独立的网络层来实现,而是应用程序代码的一部分。

实时传输控制协议RTCP(Realtime Transport Control Protocol)和RTP一起提供流量控制和拥塞控制服务。

在RTP会话期间,各参与者周期性地传送RTCP包。

RTCP包中含有已发送的数据包数量、丢失的数据包数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。

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

rtp(real-timetransportprotocol)是用于internet上针对多媒体数据流的一种传输协议。

rtp被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。

rtp通常使用udp来传送数据,但rtp也可以在tcp或atm等其他协议之上工作。

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

通常rtp算法并不作为一个独立的网络层来实现,而是作为应用程序代码的一部分。

实时传输控制协议rtcp.rtcp(real-timetransportcontrolprotocol)和rtp一起提供流量控制和拥塞控制服务。

在rtp会话期间,各参与者周期性地传送rtcp包。

RTP、RTCP、RTSP协议详解

RTP、RTCP、RTSP协议详解

RTP、RTCP、RTSP协议详解一、 RTP协议实时传输协议(RTP)为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。

应用程序通常在 UDP 上运行RTP以便使用其多路结点和校验服务;这两种协议都提供了传输层协议的功能。

但是RTP可以与其它适合的底层网络或传输协议一起使用。

如果底层网络提供组播方式,那么RTP可以使用该组播表传输数据到多个目的地。

RTP本身并没有提供按时发送机制或其它服务质量(QoS)保证,它依赖于低层服务去实现这一过程。

RTP协议并不保证传送或防止无序传送,也不确定底层网络的可靠性。

RTP实行有序传送, RTP中的序列号允许接收方重组发送方的包序列,同时序列号也能用于决定适当的包位置,例如:在视频解码中,就不需要顺序解码。

RTP协议由两个紧密链接部分组成:RTP―传送具有实时属性的数据;RTP控制协议(RTCP)―监控服务质量并传送正在进行的会话参与者的相关信息。

RTCP 第二方面的功能对于“松散受控”会话是足够的,也就是说,在没有明确的成员控制和组织的情况下,它并不非得用来支持一个应用程序的所有控制通信请求。

协议结构1238916bitVPXCSRC CountMPayload TypeSequence numberTimestampSSRCCSRC (variable 0 –15 items 32bits each) V ―版本。

识别RTP版本。

P ―间隙(Padding)。

设置时,数据包包含一个或多个附加间隙位组,其中这部分不属于有效载荷。

X ―扩展位。

设置时,在固定头后面,根据指定格式设置一个扩展头。

CSRC Count ―包含 CSRC 标识符(在固定头后)的编号。

M ―标记。

标记由 Profile 文件定义。

允许重要事件如帧边界在数据包流中进行标记。

Payload Type ―识别RTP有效载荷的格式,并通过应用程序决定其解释。

几种常见音视频传输协议使用总结

几种常见音视频传输协议使用总结

几种常见音视频传输协议使用总结音视频传输协议是指用于传输音频和视频数据的通信协议,其主要功能是将音视频信号编码、压缩、分包并传输到网络中,然后在接收端将其解包、解码并还原成音视频信号。

目前比较常见的音视频传输协议包括RTP/RTCP、RTSP、SIP、H.323、WebRTC等。

下面将对这几种协议进行总结。

一、 RTP/RTCPRTP(Real-time Transport Protocol)和RTCP(Real-time Transport Control Protocol)是一对用于音视频传输的协议,是IETF制定的标准协议之一。

RTP主要负责传输音视频数据,而RTCP则是对RTP传输的控制协议,用于传输控制信息。

RTP/RTCP主要用于实时通信场景下,如视频会议、IP电话等。

RTP/RTCP协议优点是实时性好,支持多种编码算法。

缺点是协议复杂,需要采用其他协议结合使用,比如RTSP。

二、RTSPRTSP(Real-time Streaming Protocol)是一种实时流媒体协议,是由IETF标准化的。

RTSP协议本身不传输音视频数据,而是传输对音视频数据进行控制的命令和参数。

RTSP 主要用于流媒体服务中,如监控摄像头、直播等场景下。

RTSP 协议优点是控制协议比较简单,可扩展性好,能够支持多种流媒体格式。

缺点是实时性相比RTP较差,需要使用其他协议结合使用。

三、 SIPSIP(Session Initiation Protocol)是一种会话初始化协议,是由IETF标准化的。

SIP主要用于会话管理,如呼叫建立、振铃、通话呼叫、目的地传递等。

SIP通常与其他协议如RTP、RTCP一起使用。

SIP协议优点是扩展性好,能够支持多种呼叫场景。

缺点是需要与其他协议结合使用,复杂度较高。

四、 H.323H.323是ITU-T定义的多媒体通信协议,主要用于实现视频会议、IP电话等场景下的音视频传输。

RTPRTCP协议

RTPRTCP协议

缩写表示 SR RR SDES BYE APP
意义 发送端报告 接收端报告 源点报告 结束 特定应用
RTCP的五种分组类型 的五种分组类型
结束分组BYE:表示关闭一个数据流 : 结束分组 特定应用分组APP:使应用程序定义新的分组类 特定应用分组 : 型 源点描述分组SDES:给出会话中参加者的描述, 源点描述分组 :给出会话中参加者的描述, 他包含参加者的规范名CNAME(电子邮件地址 他包含参加者的规范名 ( 的字符串) 的字符串)
RTCP的主要功能 的主要功能
功能1 功能
功能2 功能
功能3 功能
功能4 功能
提供数 据传输 质量的 反馈
为每个 RTP源传 源传 输一个固 定的识别 符CNAME
知晓成 员数目, 员数目, 控制包 的发送 速率
传输最 小连接 控制信 息,如 参加者 标识
RTCP的五种分组类型 的五种分组类型
类型 200 201 202 203 204
Hale Waihona Puke RTP的首部格式 的首部格式
序号: 序号:占16位 位 在一次 在一次RTP会话时,初始序号随机选择 会话时, 在一次 会话时 每发出一个 每发出一个RTP分组,其序号 分组, 每发出一个 分组 其序号+1 这样能发现丢失的分组,同时也能将时序的 这样能发现丢失的分组, 这样能发现丢失的分组 同时也能将时序的RTP 重新排列好
Company Logo
RTP的首部格式 的首部格式
如果只有系列号,并不能完整按照顺序的将data播放出来, 因为如果data中间有一段是没有资料的,只有系列号的话会 造成错误,需搭配上让它知道在哪个时间将data正确播放出 来,如此我们才能播放出正确无误的信息

实时传输协议、实时传输控制协议(RTP、RTCP)简介word版本

实时传输协议、实时传输控制协议(RTP、RTCP)简介word版本
11/25/98
VOIP培训
-----RTP、RTCP部分
2002年8月
深圳市格林耐特通信技术有限公司
GreenNET 1
• RTP简介
RTP是一种提供端对端传输服务的实时传输协议, 用来支持在单目标广播和多目标广播网络服务中传输 实时数据,而实时数据的传输则由RTCP协议来监视和 控制。
使用RTP协议的应用程序运行在RTP之上,而执行 RTP的程序运行在UDP的上层,目的是为了使用UDP的端 口号和检查和。如图16-12所示,RTP可以看成是传输 层的子层。由多媒体应用程序生成的声音和电视数据 块被封装在RTP信息包中,每个RTP信息包被封装在UDP 消息段中,然后再封装在IP数据包中。
时间戳
同步源标识(SSRC)
提供源标识(CSRC)(注:H.323中不使用)

相关Profile
大小
数据
注:如果x=1的话则有最后两行.
11/25/98
深圳市格林耐特通信技术有限公司
GreenNET 7
• v=2
版本号, 目前版本号为2。
•p
表示有效载荷是否被填充(1为填充)。
•x
表示在最后CSRC之后是否有扩展存在(1为有)。
这里需要强调的是,RTP本身不提供任何机制来确 保把数据及时递送到接收端或者确保其他的服务质量 ,它也不担保在递送过程中不丢失信息包或者防止信 息包的次序不被打乱。
11/25/98
深圳市格林耐特通信技ቤተ መጻሕፍቲ ባይዱ有限公司
GreenNET 6
• RTP包格式
v=2 p x cc m 有效载荷类型(pt) 序列号码
11/25/98
深圳市格林耐特通信技术有限公司

网络协议知识:RTP协议和RTCP协议的联系与区别

网络协议知识:RTP协议和RTCP协议的联系与区别

网络协议知识:RTP协议和RTCP协议的联系与区别RTP协议和RTCP协议是网络传输中的两个独立的协议,用于实时传输音视频数据。

RTP协议的主要作用是传输音视频数据,而RTCP协议则负责传输音视频数据的质量和统计信息。

RTP协议是Real-time Transport Protocol的简称,是一种在网络上传输实时媒体数据的协议。

它的主要作用是将音频和视频数据打包成分组,按照网络传输的要求进行传输,确保数据能够及时地传到接收端。

RTP协议有两个主要的特点,一是它标记了媒体数据的时序和同步信息,以便在接收端对其进行正确的重构和处理;另一个特点是它支持多种类型的数据格式和编解码器。

与RTP协议相比,RTCP协议则是一种基于RTP协议的控制协议。

它主要用于向发送端和接收端提供音视频传输的统计和控制信息,以便更好地掌握音视频传输的质量和性能。

RTCP协议有三个主要的特点,一是它提供了控制信息,包括网络连接和质量,以及控制音视频带宽的分配;二是它提供了需要进行修正和校准的时序信息,保证多媒体数据的同步播出;三是RTCP协议还能支持多种类型的传输标志和质量报告。

RTP协议和RTCP协议之间有着密切的联系,是紧密结合在一起的。

RTP协议将音视频数据传输到接收端,而RTCP协议则获取该数据传输信息,可进行控制、标记、校准和统计等操作。

通过使用RTCP控制协议,实现视频质量的维护、协调和控制。

RTCP控制协议主要依靠传输过程中两个对等的手动识别目标进行维护。

每个发送者和接收者都可以通过RTCP控制协议对带宽进行监控、调控和管理,从而实现网络通信的可行性和性能。

虽然RTP协议和RTCP协议在音视频的传输和控制方面起到了重要的作用,但需要注意的是,它们并不是解决媒体流传输的唯一方法,同时也存在一些问题和困难。

例如,我们在使用RTP/RTCP协议进行多媒体传输时,可能会遇到数据带宽不足,网络拥堵,延迟过高等问题。

此时,我们可以通过适当的优化和调整,来降低RTP/RTCP协议带来的负面影响,提高传输的质量和性能。

(完整word版)RTP与RTCP协议

(完整word版)RTP与RTCP协议

信令与协议分册目录目录第2章RTP与RTCP协议...................................................................................................... 2-12.1 概述................................................................................................................................... 2-12.2 RTP/RTCP协议应用.......................................................................................................... 2-12.3 报文格式和含义................................................................................................................. 2-22.3.1 RTP报头的格式 ...................................................................................................... 2-22.3.2 RTCP包格式........................................................................................................... 2-32.3.3 RTCP的主要功能.................................................................................................... 2-32.3.4 RTCP发送间隔 ....................................................................................................... 2-4第2章 RTP与RTCP协议2.1 概述基于IP承载的语音业务流是在UDP上传输的,而UDP协议是用于专门传输数据流,设计时并没有考虑实时业务传输的特殊要求,如媒体流的同步等。

RTP 与 RTCP 协议

RTP 与 RTCP 协议

一. 概述实时传输协议(RTP,Real Time Transport Protocol)由RFC 1889定义,主要用于网络上各种实时应用(Real-time applications)。

现在实时应用非常热(图14-02-1)。

图14-02-1 网络实时应用例为什么不采用TCP?众所周知,Web网页传输是建立在HTTP协议的基础上的,但是HTTP有着自己的局限性:1.HTTP是无连接协议,限制了每次连接只处理一个请求,服务器处理完客户的请求,收到应答后,即断开连接,虽然这种方式可以节省时间,但却无法实现广播。

2.HTTP是无状态协议,所谓的无状态协议是指协议对于事件处理无记忆能力,这就意味着如果后续处理需要前面的信息,则必须重传,如果采用HTTP则必须重传,从而导致传输数据量增大,带宽浪费。

存在4个问题:o 不需要100% 的可靠性o 重发延迟o 窗口后退o N 参与者-> N*N 连接实时传输协议提供了支持这些要求的功能:·丢失,顺序混乱:序列号·丢失,不稳定:时间戳·数据源/有效载荷认定·速率控制: 服务质量反馈(QoS feedback)RTP用于一对多传输情况下,提供时间信息和实现媒体同步。

此外,实时传输控制协议(RTCP,Real Time Transport Control Protocol)与RTP一起提供流量控制和拥塞控制服务。

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

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

RTP和其他熟悉的协议如HTTP、FTP等类似,但是根据实时流的特定要求作了剪裁。

和HTTP、FTP不同,RTP并不下载整个视频到客户计算机上,而是用固定的数据速率传输一个细的单向数据流,使其实时播放广播(在很短的初始化握手和数据缓冲之后)。

网络协议知识:RTP协议和RTCP协议的应用场景和优缺点

网络协议知识:RTP协议和RTCP协议的应用场景和优缺点

网络协议知识:RTP协议和RTCP协议的应用场景和优缺点RTP协议和RTCP协议是实时传输协议中的两个关键协议。

RTP全称为Real-time Transport Protocol(实时传输协议),是一个为互联网上数据传输提供实时传输服务的协议;RTCP全称为Real-time Transport Control Protocol(实时传输控制协议),是RTP协议的重要补充,用于在传输过程中监管传输的质量,并提供反馈信息,以便根据这些反馈信息进行控制和适应。

RTP和RTCP协议一起使用并提供了广泛的应用程序和系统的实时传输功能。

下面本文将详细介绍RTP 和RTCP的应用场景、优缺点及未来发展。

一、RTP协议的应用场景RTP主要应用于对实时性要求较高的音视频传输场景。

这些场景包括视频会议、互动课堂、监控录像、直播、视频通话、IP电话等,并且被广泛应用于各种应用领域,如医疗、教育、娱乐、通信等。

由于这些应用程序需要实时传输功能,因此RTP协议被广泛应用。

在RTP的应用场景中,主要包括以下几个方面:1.视频会议视频会议需要将来自不同位置的多个音视频流混合在一起,同时需要在传输过程中保证时间同步,确保会议的实效性。

RTP被用于为音频和视频会议提供端到端的传输服务。

2.监控录像监控录像是可以长时间记录视频,然后存放在本地或云端,用于安防系统下发自动报警或进行查询回放的场景。

RTP保证了在任何情况下都能够传输实时视频数据,以确保实时快速的响应。

3.直播对于直播应用场景,RTP协议可以提供实时的传输服务,支持高质量的音视频传输。

4.视频通话RTP可以为大多数的实时视频通话应用程序提供实时传输功能。

二、RTP协议的优缺点RTP协议在实时传输应用场景下存在如下优缺点1.优点:(1)高实时性:RTP协议能够运行在UDP协议之上,因此在传输数据的时候可以减少网络延迟和其他网络问题的影响,从而支持实时传输,有效提高了传输质量和传输速度。

RTPRTCP协议深度解析实时传输协议的特点与应用

RTPRTCP协议深度解析实时传输协议的特点与应用

RTPRTCP协议深度解析实时传输协议的特点与应用RTP/RTCP协议深度解析实时传输协议(RTP)以及其伴随的实时传输控制协议(RTCP)是用于在网络中传输实时音视频数据的重要协议。

本文将深入解析RTP/RTCP协议的特点和应用。

一、RTP协议的特点RTP协议是一种面向数据包的协议,它具有以下特点:1.1 建立在UDP协议之上RTP协议使用UDP协议作为传输层协议。

相比于TCP协议,UDP 协议在保证实时传输的同时,减少了数据交互的延迟,因此更适合实时音视频传输。

1.2 应用层协议RTP协议在OSI模型中位于应用层,并且通过RTP数据包封装音视频数据。

它不仅仅是一个传输协议,还提供了一系列的特性,如时间戳、序列号和负载类型等,以便在接收端正确地还原音视频数据。

1.3 支持多种编码格式RTP协议可以适应多种音视频编码格式,如G.711、H.264等。

它使用负载类型字段来标识不同的编码格式,以便在接收端正确解码数据。

1.4 支持传输控制RTP协议通过协商和传输控制协议(RTCP)实现了传输的质量控制。

RTCP会定期发送控制包,以便收集网络传输的相关信息,在需要时调整传输参数,如带宽、延迟和抖动等。

二、RTCP协议的特点RTCP协议是RTP协议的伴随协议,它具有以下特点:2.1 用于反馈和控制RTCP协议通过反馈报文,向发送端提供网络传输的相关信息。

接收端可以通过RTCP报文向发送端反馈接收数据的情况,如丢包率、延迟和抖动等。

发送端可以根据这些信息调整自己的传输策略。

2.2 建立及维护连接RTCP协议可以用于RTP会话的建立及维护。

在RTP会话开始前,RTCP可以协商传输参数及传输质量要求。

同时,RTCP也负责记录参与会话的成员信息,如IP地址、端口号和同步源等。

2.3 支持多播和单播RTCP协议既支持多播传输,也支持单播传输。

对于多播传输,RTCP能够协调各个接收端的状态信息,以便在多播组中实现有效的传输控制。

rtcp协议

rtcp协议

RTCP 协议RTCP(RTP Control Protocol)是用于实时传输协议(RTP)的一个控制协议,用于支持多媒体会话中的实时控制和统计信息的交换。

它是RTP协议的重要补充,为实时应用提供了一些重要的功能。

1. RTCP 协议的介绍RTCP 是一个基于UDP的协议,用于在RTP会话中传输控制信息和统计信息。

它通过定期发送RTCP报文,实现了多媒体会话的控制和监控。

RTCP报文包含了多媒体会话的统计信息,例如发送者的丢包率、延迟和抖动等。

这些统计信息对于实时应用的质量控制和性能优化非常重要。

RTCP协议还可以用于传输一些控制信息,例如会话的开始和结束信号、参与者的加入和离开等。

2. RTCP 报文格式RTCP报文的格式非常灵活,可以根据需要进行扩展。

一个RTCP报文通常包含一个头部和一个或多个分组。

2.1 RTCP 头部RTCP头部一般包含以下字段:•版本(Version):用于指定RTCP协议的版本号,通常为2。

•填充(Padding):用于进行报文填充,保证报文长度为4字节的倍数。

•压缩(Compact):用于指定报文是否采用压缩格式。

•分组类型(Packet Type):用于指定RTCP分组的类型,例如SR (Sender Report)和RR(Receiver Report)等。

•长度(Length):用于指定RTCP分组的长度,以32位为单位。

2.2 RTCP 分组RTCP分组是RTCP报文的实际内容,可以根据需要进行扩展。

一个RTCP分组通常包含以下字段:•域(Field):用于指定分组的类型,例如发送者报告(SR)和接收者报告(RR)等。

•长度(Length):用于指定分组的长度,以8字节为单位。

•数据(Data):用于存储分组的具体数据。

3. RTCP 协议的应用RTCP协议广泛应用于实时应用中,例如音视频会议、流媒体传输等。

在音视频会议中,RTCP用于传输参与者的统计信息,例如延迟、抖动和丢包率等。

RTP RTCP

RTP RTCP

RTP协议分析第1章.RTP概述1.1.RTP是什么RTP全名是Real-time Transport Protocol(实时传输协议)。

它是IETF提出的一个标准,对应的RFC文档为RFC3550(RFC1889为其过期版本)。

RFC3550不仅定义了RTP,而且定义了配套的相关协议RTCP(Real-time Transport Control Protocol,即实时传输控制协议)。

RTP用来为IP网上的语音、图像、传真等多种需要实时传输的多媒体数据提供端到端的实时传输服务。

RTP为Internet上端到端的实时传输提供时间信息和流同步,但并不保证服务质量,服务质量由RTCP来提供。

1.2.RTP的应用环境RTP用于在单播或多播网络中传送实时数据。

它们典型的应用场合有如下几个。

简单的多播音频会议。

语音通信通过一个多播地址和一对端口来实现。

一个用于音频数据(RTP),另一个用于控制包(RTCP)。

音频和视频会议。

如果在一次会议中同时使用了音频和视频会议,这两种媒体将分别在不同的RTP会话中传送,每一个会话使用不同的传输地址(IP地址+端口)。

如果一个用户同时使用了两个会话,则每个会话对应的RTCP包都使用规范化名字CNAME(Canonical Name)。

与会者可以根据RTCP包中的CNAME 来获取相关联的音频和视频,然后根据RTCP包中的计时信息(Network time protocol)来实现音频和视频的同步。

翻译器和混合器。

翻译器和混合器都是RTP级的中继系统。

翻译器用在通过IP多播不能直接到达的用户区,例如发送者和接收者之间存在防火墙。

当与会者能接收的音频编码格式不一样,比如有一个与会者通过一条低速链路接入到高速会议,这时就要使用混合器。

在进入音频数据格式需要变化的网络前,混合器将来自一个源或多个源的音频包进行重构,并把重构后的多个音频合并,采用另一种音频编码进行编码后,再转发这个新的RTP包。

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

即時傳輸協議RTP(Realtime Transport Protocol):是針對Internet上多媒體資料流程的一個傳輸協定, 由IETF(Internet工程任務組)作為RFC1889發佈。

RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間資訊和實現流同步。

RTP的典型應用建立在UDP上,但也可以在TCP或ATM等其他協議之上工作。

RTP本身只保證即時資料的傳輸,並不能為按順序傳送資料包提供可靠的傳送機制,也不提供流量控制或擁塞控制,它依靠RTCP提供這些服務。

即時傳輸控制協議RTCP(Realtime Transport Control Protocol):負責管理傳輸品質在當前應用進程之間交換控制資訊。

在RTP會話期間,各參與者週期性地傳送RTCP包,包中含有已發送的資料包的數量、丟失的資料包的數量等統計資料,因此,伺服器可以利用這些資訊動態地改變傳輸速率,甚至改變有效載荷類型。

RTP和RTCP配合使用,能以有效的回饋和最小的開銷使傳輸效率最佳化,故特別適合傳送網上的即時資料。

RTCP主要有4個功能:(1)用回饋資訊的方法來提供分配資料的傳送品質,這種回饋可以用來進行流量的擁塞控制,也可以用來監視網路和用來診斷網路中的問題;(2)為RTP源提供一個永久性的CNAME(規範性名字)的傳送層標誌,因為在發現衝突或者程式更新重啟時SSRC(同步源標識)會變,需要一個運作痕跡,在一組相關的會話中接收方也要用CNAME來從一個指定的與會者得到相聯繫的資料流程(如音頻和視頻);(3)根據與會者的數量來調整RTCP包的發送率;(4)傳送會話控制資訊,如可在用戶介面顯示與會者的標識,這是可選功能。

4.2 RTP/RTCP工作過程工作時,RTP協議從上層接收流媒體資訊碼流(如H.263),裝配成RTP資料包發送給下層,下層協定提供RTP和RTCP的分流。

如在UDP中,RTP使用一個偶數號埠,則相應的RTCP使用其後的奇數號埠。

RTP資料包沒有長度限制,它的最大包長只受下層協議的限制。

4.3 伺服器的演算法伺服器軟體模型主要有兩種,即併發伺服器和迴圈伺服器。

迴圈伺服器(IterativeServer)是指在一個時刻只處理一個請求的伺服器。

併發伺服器(Concurrent Server)是指在一個時刻可以處理多個請求的伺服器。

事實上,多數伺服器沒有用於同時處理多個請求的冗餘設備,而是提供一種表面上的併發性,方法是依靠執行多個線程,每個線程處理一個請求,從客戶的角度看,伺服器就像在併發地與多個客戶通信。

由於流媒體服務時間的不定性和資料交互即時性的請求,流媒體伺服器一般採用併發伺服器演算法。

本文構建了一個基本的流媒體伺服器,能夠同時響應多個用戶的請求,把本地硬碟流媒體檔或即時資料流(H.263格式)發送給用戶。

在應用中,把客戶分為請求即時資料的即時客戶和請求檔資料的檔客戶兩類。

主要演算法為:(1)打開設備,分配資源。

當設備準備好時,創建一個RTP即時服務線程和一個RTCP即時服務線程。

(2)創建一個UDP套接字並將其綁定到所提供服務的位址之上。

(3)反復調用接收模組,接收來自客戶的RTCP報告,根據其類型做出回應。

對新即時客戶的請求,把客戶位址添加到即時服務的客戶列表中,對新檔客戶的請求,則創建一個新RTP檔服務線程和一個新RTCP檔服務線程;對已經在服務中的客戶則根據RTCP報告的內容調整服務。

RTP即時服務線程1:初始化客戶列表和RTP首部。

RTP即時服務線程2:從設備讀取媒體資料,把資料發送給即時服務列表中的客戶。

RTP即時服務線程3:更新RTP首部和統計資料。

RTP即時服務線程4:計算延時,重複第二步。

RTCP即時服務線程1:初始化RTCP首部。

RTCP即時服務線程2:發送發送方報告給即時服務列表中的客戶。

RTCP即時服務線程3:計算延時,重複第二步。

RTP檔服務線程1:初始化RTP首部。

RTP檔服務線程2.:從檔讀取媒體資料,把資料發送給客戶。

RTP檔服務線程3:更新已發送資料的統計資訊,為生成發送方報告做準備。

RTP檔服務線程4:計算延時,調整發送速度,正常情況下開始重複第二步。

RTCP檔服務線程1:初始化RTCP首部,發送一個源描述(SDES)報文給客戶。

RTCP檔服務線程2:根據已發送資料的統計資訊生成發送方報告,發送給客戶。

RTCP檔服務線程3:計算延時,正常情況下開始重複第一步。

5 流媒體伺服器實現中應注意的問題5.1 會話和流的兩級分用一個RTP會話(Session)包括傳給某個指定目的地對(Destination Pair)的所有通信量,發送方可能包括多個。

而從同一個同步源發出的RTP分組序列稱為流(Stream),一個RTP會話可能包含多個RTP流。

一個RTP分組在伺服器端發送出去的時候總是要指定屬於哪個會話和流,在接收時也需要進行兩級分用,即會話分用和流分用。

只有當RTP使用同步源標識(SSRC)和分組類型(PTYPE)把同一個流中的分組組合起來,才能夠使用序列號(Sequence Number)和時間戳(Timestamp)對分組進行排序和正確重播。

5.2 多線程的管理併發伺服器模式要求用多線程來提供服務,所以多線程的管理十分重要。

在本文構建的伺服器中,不同客戶的請求和回饋都由伺服器的主線程處理,由於即時資料的獨有性,不同即時客戶可以共用一個RTP即時服務線程和一個RTCP即時服務線程,這樣可以大大減小伺服器的負擔,而每個檔客戶由於請求的檔不同,相應地對速度和開始時間的要求都可能不同,所以需要有自己獨有的RTP檔服務線程和RTCP檔服務線程。

RTP服務線程負責把即時資料流發送給客戶,RTCP服務線程根據RTP線程的統計資料,產生發送方報告給客戶。

RTP線程和RTCP線程之間通過一段共用記憶體交互統計資料,對共用記憶體必須設置互斥體進行保護,防止出現錯誤讀寫。

在這種方式下,伺服器可以根據每個用戶的不同請求和具體情況方便地提供不同的服務。

5.3 時間戳的處理時間戳欄位是RTP首部中說明資料包時間的同步資訊,是資料能以正確的時間順序恢復的關鍵。

時間戳的值給出了分組中資料的第一個位元組的採樣時間(Sampling Instant),要求發送方時間戳的時鐘是連續、單調增長的,即使在沒有資料登錄或發送資料時也是如此。

在靜默時,發送方不必發送資料,保持時間戳的增長,在接收端,由於接收到的資料分組的序號沒有丟失,就知道沒有發生資料丟失,而且只要比較前後分組的時間戳的差異,就可以確定輸出的時間間隔。

RTP規定一次會話的初始時間戳必須隨機選擇,但協議沒有規定時間戳的單位,也沒有規定該值的精確解釋,而是由負載類型來確定時鐘的顆粒,這樣各種應用類型可以根據需要選擇合適的輸出計時精度。

在RTP傳輸音頻資料時,一般選定邏輯時間戳速率與採樣速率相同,但是在傳輸視頻資料時,必須使時間戳速率大於每幀的一個滴答。

如果資料是在同一時刻採樣的,協議標準還允許多個分組具有相同的時間戳值。

5.4 媒體資料發送速度的控制由於RTP協議沒有規定RTP分組的長度和發送資料的速度,因而需要根據具體情況調整伺服器端發送媒體資料的速度。

對來自設備的即時資料可以採取等時間間隔訪問設備緩衝區,在有新資料登錄時發送資料的方式,時間戳的設置相對容易。

對已經錄製好的本地硬碟上的媒體檔,以H.263格式的檔為例,由於檔本身不包含幀率資訊,所以需要知道錄製時的幀率或者設置一個初始值,在發送資料的時候找出發送資料中的幀數目,根據幀率和預置值來計算時延,以適當的速度發送資料並設置時間戳資訊。

5.5 多種流同步RTCP的一個關鍵作用就是能讓接收方同步多個RTP流,例如:當音頻與視頻一起傳輸的時候,由於編碼的不同,RTP使用兩個流分別進行傳輸,這樣兩個流的時間戳以不同的速率運行,接收方必須同步兩個流,以保證聲音與影像的一致。

為能進行流同步,RTCP要求發送方給每個傳送一個唯一的標識資料源的規範名(Canonical Name),儘管由一個資料源發出的不同的流具有不同的同步源標識(SSRC),但具有相同的規範名,這樣接收方就知道哪些流是有關聯的。

而發送方報告報文所包含的資訊可被接收方用於協調兩個流中的時間戳值。

發送方報告中含有一個以網路時間協定NTP(Network Time Protocol)格式表示的絕對時間值,接著RTCP報告中給出一個RTP時間戳值,產生該值的時鐘就是產生RTP分組中的TimeStamp欄位的那個時鐘。

由於發送方發出的所有流和發送方報告都使用同一個絕對時鐘,接收方就可以比較來自同一資料源的兩個流的絕對時間,從而確定如何將一個流中的時間戳值映射為另一個流中的時間戳值。

6 結論流媒體技術的應用日益廣泛,對流媒體技術的研究具有很大的實際意義,本文通過對RTP/RTCP協議的研究,分析流媒體伺服器的一般功能和結構,給出構建一個基本的流媒體伺服器的實現方案,實驗證明可以同時滿足多個即時和檔客戶的要求,並已經應用于一個遠端監控系統中。

Application(Layer 7) This layer supports application and end-user processes. Communication partners are identified, quality of service is identified, user authentication and privacy are considered, and any constraints on data syntax are identified. Everything at this layer is application-specific. This layer provides application services for file transfers, e-mail, and other network software services. Telnet and FTP are applications that exist entirely in the application level. Tiered application architectures are part of this layer.Presentation(Layer 6) This layer provides independence from differences in data representation (e.g., encryption) by translating from application to network format, and vice versa. The presentation layer works to transform data into the form that the application layer can accept. This layer formats and encrypts data to be sent across a network, providing freedom from compatibility problems. It is sometimes called the syntax layer.Session(Layer 5) This layer establishes, manages and terminates connections between applications. The session layer sets up, coordinates, and terminates conversations, exchanges, and dialogues between the applications at each end. It deals with session and connection coordination.Transport(Layer 4) This layer provides transparent transfer of data between end systems, or hosts, and is responsible for end-to-end error recovery and flow control. It ensurescomplete data transfer.Network(Layer 3) This layer provides switching and routing technologies, creating logical paths, known as virtual circuits, for transmitting data from node to node. Routing and forwarding are functions of this layer, as well as addressing, internetworking, error handling, congestion control and packet sequencing.Data Link(Layer 2) At this layer, data packets are encoded and decoded into bits. It furnishes transmission protocol knowledge and management and handles errors in the physical layer, flow control and frame synchronization. The data link layer is divided into two sublayers: The Media Access Control (MAC) layer and the Logical Link Control (LLC) layer. The MAC sublayer controls how a computer on the network gains access to the data and permission to transmit it. The LLC layer controls frame synchronization, flow control and error checking.Physical(Layer 1) This layer conveys the bit stream - electrical impulse, light or radio signal -- through the network at the electrical and mechanical level. It provides the hardware means of sending and receiving data on a carrier, including defining cables, cards and physical aspects. Fast Ethernet, RS232, and ATM are protocols with physical layer components.。

相关文档
最新文档