RTP 实时传输协议
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
RTCP 发送方报告
丢包率:自从前一SR包或RR包发送以来,从该源传来的RTP数据包 的丢失比例.以定点小数的形式表示.该值定义为损失包数/期望接 收的包数. 累计包丢失数:从开始接收到现在,从该源发到本地的RTP数据包的 丢包总数.该值定义为:期望接收的包数-实际接收的包数.接收的 包括复制的或迟到的.由于迟到的包不算作损失,在发生复制时丢包 数可能为负值.期望接收的包数定义为:扩展的上一接收序号减去最 初接收序号 接收到的扩展的最高序列号:低16比特包含从该源来的最高接收序列 号,高16比特用相应的序列号周期计数器扩展该序列号.
RTCP 发送方报告
上一SR报文 (LSR):接收到的来自该源的最新RTCP发送者 报告(SR)的64位NTP时间标志的中间32位.若还没有接收到 SR,该域值为零 自上一SR的时间(DLSR):是从收到来自该源的SR包到发送 此接收报告块之间的延时,以1/65536秒为单位.若还未收到, 该域值为零
RTCP 源描述报文的描述项
CNAME (Canonicl NAME) 由于SSRC是随机生成,因此每一个源都需要有一个唯一标识该 源的规范名称 例如: "doe@sleepy.example.com","doe@192.0.2.89" "sleepy.example.com","192.0.2.89"
It is RECOMMENDED that translators and mixers combine individual RTCP packets from the multiple sources they are forwarding into one compound packet whenever feasible in order to amortize the packet overhead.
防抖动的措施
K
以固定速率 提取数据 以可变速率 加入数据
K值的折中选定 过小:突发的阻塞可能导致缓冲区耗尽 过大:延迟加大,等待时间延长,降低用户体验
Real-Time Transport Protocol
RTP提供带有实时特性的端对端数据传输服务,传输的数据如: 交互式的音频和视频.运行在UDP之上,每一个RTP报文封装在 一个UDP数据报之中. RTP本身没有提供任何的机制来确保实时的传输或其他的服务质 量保证,而是由低层的服务来完成.它不保证传输或防止乱序传 输,它不假定下层网络是否可靠,是否按顺序传送数据包.RTP 包含的序列号允许接受方重构发送方的数据包顺序,但序列号也 用来确定一个数据包的正确位置,例如,在视频解码的时候不用 按顺序的对数据包进行解码. RTP原先的设计是用来满足多参与者的多媒体会议的需要,它没 有限定于专门的应用.连续数据的储存,交互分布式仿真,动态 标记,以及控制和测量应用程序也可能会适合使用RTP.
RTCP报文收发规则
RTCP报文传送的时间间隔 Case 1:发送方与总参与数之比<=25% – 发送者:C=avg_rtcp_size/(25%*rtcp_bw) – 接收者: C=avg_rtcp_size/(75%*rtcp_bw) Case 2:发送方与总参与数之比>25% – C=avg_rtcp_size/rtcp_bw n=总参与数
Ver.:版本号,当前为2 P:指明有效载荷后是否需要补零填充. X:是否存在扩展部分 CC:包含了参与源数目 M:语义取决于应用程序 PTYPE:是指payload的格式并决定将如何去由应用程式加以解译 序号:初始序号随机选择 时间戳:初始值随机选择
Real-Time Transport Protocol
RTCP 发送方报告
RTCP发送方报告
0-1 Ver. 2 P 3-7 RC 8-15 PT(200) 16-31 Length
同步源标识(SSRC) NTP时间戳 RTP时间戳 Sender's packet count Sender's octet count SSRC_1 Fraction lost Cumulative number of packet lost
0-7 CNAME=1
8-15 Length
16-… User and domain name
RTCP 源描述报文的描述项
其他的一些描述项
0-7 Type 8-15 Length 16-… Value
Type=2 Type=3 Type=4 Type=5 Type=6 Type=7 Type=8
0-1 Ver.
2 P
3-7 SC SSRC/CSRC …
8-15 PT(203)
16-31 Length
Length
Reason
RTCP 应用程序特定报文
应用程序特定报文,用于测试
0-1 Ver.
2 P
3-7 SC SSRC/CSRC NAME
8-15 PT(204)
16-31 Length
Application-dependent data…
RTP协议支持在某一节点上将数个不同的源传输的数据流混合起 来,例如多个网点共同参与的IP电话会议. 同步源标识:标识数据流的源 参与元标识:指出参与数据流合并的所有同步源标识,CC字段为 4位,因此最多混合15路数据流 时间戳:32比特时间戳反映了RTP数据包中第一个字节的采样时 间.具体的粒度由有效载荷的类型而定.例如,对一个固定速率 的音频,采样时钟将在每个周期内增加1.如果一个音频从输入设 备中读取含有160个采样周期的块,那么对每个块,时间戳的值增 加160.
RTP Control Protocol (RTCP, RTP控制协议)
RTCP报文封装在UDP中进行传输,并且发送时使用的端口号 比它们所属的RTP数据流端口号大1. 1)用反馈信息的方法来提供分配数据的传送质量,这种反馈 可以用来进行流量的拥塞控制,也可以用来监视网络和用来 诊断网络中的问题; 2)为RTP源提供一个永久性的CNAME(规范性名字)的传 送层标志,因为在发现冲突或者程序更新重启时SSRC(同步 源标识)会变,接收方要用CNAME来从一个指定的与会者处得 到相联系的数据流 3)根据与会者的数量来调整RTCP包的发送率 4)传送会话控制信息,如显示与会者的标识.
Real-Time Transport Protocol
RTP分组首部的格式
起始位 0 32 64 96 96+CC*32 0-1 Ver. 2 P 3 X 4-7 CC 时间戳 同步源标识 参与源标识(变长) 头部扩展(包含16字节的长度域) 数据 8 M 9-15 PTYPE 16-31 序号
RTP
RenRen Shanghai Academy of Spaceflight Technology
实时语音和视频传输所面临的问题
语音视频传输的特点:数据量大,保证连续性,实时性 传统的电话网交换:电路交换方式,输出和输入以及中继均时序 同步,等时的体系结构. 基于IP的互联网结构:分组交换,IP分组可重复,无序,延迟到达 或者丢失,并存在抖动. 针对互联网体系结构的特点,相应的解决方法: 加入序号,以处理无序和重复交付 加入时间戳,标记该分组数据应在何时被播放 使用缓冲,对抖动进行补偿
RTCP 发送方报告
到达间隔抖动:RTP数据包到达时刻统计方差的估计值.测 量单位同时间戳单位,用无符号整数表达. 到达时间抖动定义为一对包中接收者相对发送者的时间间隔 差值的平均偏差 (平滑后的绝对值). 相对传输时间是指:包的RTP时间戳和到达时刻接收者时钟 时间的差值. 若Si是包i中的RTP时间戳,Ri是包i到达时刻(单位为:RTP 时间戳单位).对于两个包i和j,D可以表示为 D(i,j)=(RjSj)-(Ri-Si) 到达时刻抖动可以在收到从该源来的每个数据包i后连续计算. 利用该包和前一包i-1的偏差D(按到达顺序,而非序号顺序), 根据公式J = J + ( |D(i-1,i)| -J ) / 16 计算.
Βιβλιοθήκη Baidu
RTCP 报文类型
RTCP提供数据分发质量反馈信息,在发送方与接收方之间交 互一系列报告,以便进行流量和拥塞控制.
RTCP报文的类型 类型 200 201 202 203 204 含义 发送方报告 接收方报告 源描述报文 结束报文 应用程序特定报文
RTCP Compound RTCP Packets
n=发送者数目 n=接收者数目
1:该参与者尚未发送RTCP报文时,Tmin=2.5s,否则Tmin=5s 2:Td=max { Tmin , n*C } 3:T=i*Td I取自区间 [ 0.5 , 1.5 ] 4:T=T/1.21828 (e-3/2) avg_rtcp_size=15/16*packet_size+1/16*avg_rtcp_size
Extended highest sequence number received interarrival jitter last SR (LSR) delay since last SR (DLSR)
RTCP 发送方报告
RC:该包中所含接收报告块的数目 PT:包含常数200,用以识别这个为SR包 NTP时间戳:指示了此报告发送时的背景时钟(wallclock) 时刻,它可以与从其它接收者返回的接收报告块中的时间标 志结合起来,计算往返每个接收者所花的时间 RTP时间戳:与NTP时间标志对应同一时刻.与数据包中的RTP 时间戳具有相同的单位和初始的偏移量.这个一致性可以用 来让NTP时间标志已经同步的源之间进行媒体内/间同步,还 可以让与媒体无关的接收者估计名义RTP时钟频率 发送的报文数(Sender's packet count ):从开始传输到此SR 包产生时该发送者发送的RTP数据包总数 发送的字节数(Sender's octet count):从开始传输到此SR包 产生时该发送者在RTP数据包发送的字节总数(不包括头和填 充)
源的真实名字,由用户自己指定 电子邮件地址 电话号码 所在位置 上层应用的信息 当前的状态描述 扩展部分:(name,value)
RTCP 结束报文
结束报文:表明一个或多个源将要离开,如果混合器收到该 报文,混合器应当发送该报文,并保持SSRC/CSRC不变.如 果混合器关闭,应向贡献源列表中的所有SSRC,包括它自己 的SSRC发送该报文.
期望值:发送方使用25%的带宽,接收方使用75%的带宽.而当发 送方多于总参与者的1/4时,所有参与者平均分享带宽.
RTCP 转发器 & 混合器
Translator: Forwards RTP packets with their SSRC identifiers intact; this makes it possible for receivers to identify individual sources even though packets from all the sources pass through the same translator and carry the translator's network source address. Mixer: Receives streams of RTP data packets from one or more sources, possibly changes the data format, combines the streams in some manner and then forwards the combined stream.
RTCP 接收方报告
RTCP接收方报告
0-1 Ver. 2 P 3-7 RC SSRC_1 Fraction lost Cumulative number of packet lost 8-15 PT(201) 16-31 Length
同步源标识(SSRC)
Extended highest sequence number received interarrival jitter last SR (LSR) delay since last SR (DLSR)
接收方报告包与发送方报告包基本相同,没有NTP,RTP,发 送者包和字节计数.余下区域与SR包意义相同.
RTCP 源描述报文
源描述报文:包由一个头及0个或多个块组成.每个块都由块 中所标识的数据源的标识符及其后的各个描述构成.
0-1 Ver. 2 P 3-7 SC SSRC/CSRC_1 SDES Items… SSRC/CSRC_2 SDES Items… … 8-15 PT(202) 16-31 Length