RTP协议

RTP是一种用于实时数据传输的协议,常与UDP结合使用,提供载荷类型标识、序列号和时间戳等服务,但不保证服务质量。RTCP与其配合确保QoS。RTP报文包括报头和有效载荷,包含版本、填充、扩展、CSRC计数、标记、有效载荷类型、序列号、时戳、SSRC和CSRC标识符等关键字段。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介

RTP全名是Real-time Transport Protocol(实时传输协议)。该协议为具有实时特性的数据(如交互式音频和视频)提供端到端的传输服务。这些服务包括载荷类型标识、序列号、时间戳和传输监控。应用程序通常将RTP运行于UDP之上,以利用UDP多路复用和校验和功能。RTP本身不保证服务质量,通常和RTCP协议一起使用,由RTCP提供服务质量保障。虽然RTP协议是为了满足多参与者的多媒体会议设计的,但它不局限于特定的应用。连续数据的存储、交互式分布式仿真等也适用于RTP协议。

二、RTP 包格式

RTP报文由两部分组成:报头和有效载荷。RTP报文格式如下图所示:

每个字段的含义如下:

V:RTP协议的版本号,占2位,当前协议版本号为2。

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

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

CC:CSRC计数器,占 4位,指示CSRC 标识符的个数,因此CSRC数量最多为15。主要用于多流组合传播。

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

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

序列号:占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。接收者通过序列号来检测报文丢失情况,重新排序报文,恢复数据。

时戳 (Timestamp):占32位,时戳反映了该RTP报文的第一个八位组的采样时刻。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。

同步信源(SSRC)标识符:占32位,用于标识同步信源。该标识符是随机选择的,参加同一视频会议的两个同步信源不能有相同的SSRC。

特约信源(CSRC)标识符:每个CSRC标识符占32位,可以有0~15个。每个CSRC标识了包含在该RTP报文有效载荷中的所有特约信源,当数量超过15时,仅识别15个。

扩展头(Extension Header):可选。

载荷(PayLoad):真正要传输的数据,比如音频或者视频数据。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值