RTPRTCP协议详解

RTPRTCP协议详解,第1张

RTP payload:RTP数据包的有效载荷。

RTP packet:RTP数据包,包括RTP数据包头部与payload。

Transport address:IP地址+端口号。

RTP session:区分RTP session的标志是是否有SSRC标识符的独立空间。

SSRC:RTP Stream的数据源。SSRC的标识符必须在RTP Session中唯一。

其中,前12个字节为fixed header。

 2 bits。RTP的版本号,当前版本为2.

1 bit。如果设置为1,payload后面可能会有1个或者多个padding字节,它们不是payload的一部分。方便一些针对固定长度算法的封装。

1 bit。如果设置为1,则在RTP固定报头后跟有一个扩展报头。

4 bits。记录了CSRC包含的字节数。

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

有效载荷类型,占7位,用于说明RTP报文中有效载荷的类型,如GSM音频、JPEM图像等,在流媒体中大部分是用来区分音频流和视频流的,音频流的PT值与视频的PT值是不同的,这样便于客户端进行解析。

占16位,用于标识发送者所发送的RTP报文的序列号,每发送一个报文,序列号增1。这个字段当下层的承载协议用UDP的时候,网络状况不好的时候可以用来检查丢包。同时出现网络抖动的情况可以用来对数据进行重新排序。

32 bits。用于记录RTP数据包第一个字节的采样时间。接收者使用时戳来计算延迟和延迟抖动,并进行同步控制。

在一次会话开始时,时间戳初始化成一个初始值。即使在没有信号发送时,时间戳的数值也要随时间而不断地增加(时间在流逝嘛)。时钟频率依赖于负载数据格式,并在描述文件(profile)中进行描述。 同一个帧的不同分片的时间戳是相同的。这样就省去了起始标志和结束标志。一定要记住,不同帧的时间戳肯定是不一样的 。

同步信源(SSRC)标识符,占32位,用于标识同步信源。 标识RTP会话中的参与者 ,同步源就是指RTP包 流的来源。 该标识符是随机选择的,RFC1889推荐了MD5随机算法。它是全局唯一的,不同的SSRC表示不同的共享源。参加同一视频会议的两个同步信源不能有相同的SSRC。

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

用来标志对一个RTP混合器产生的新包有贡献的所有RTP包的源。由混合器将这些有贡献的SSRC标识符插入表中。SSRC标识符都被列出来,以便接收端能正确指出交谈双方的身份。一般用在混音或混屏上。例如,在1路音流中混了好几个人的声音,那么这每一个人的声音就是一个CSRC。

有5种RTCP包类型:

RTP被定义为传输音频、视频、模拟数据等实时数据的传输协议,与传统的注重的高可靠的数据传输的传输层协议相比,它更加侧重的数据传输的实时性,此协议提供的服务包括数据顺序号、时间标记、传输控制等。

RTP一般与传输控制协议RTCP一块工作,RTP只负责实时数据的传输,RTCP负责对RTP的通讯和会话进行带外管理(如流量控制、拥塞控制、会话源管理等)。

RTP使用一个偶数端口号,而相应RTCP流使用下一个(奇数,递增)端口号。

先来看一下rtp和rtcp网络结构图:

RTP的数据包由RTP Header + RTP Playload组成,其中RTP固定头如下图所示,字段如下:

再看一下RTP完整的报文格式:

再来看看RTCP协议,RTCP协议将控制包周期发送给所有连接者,主要功能如下:

RTCP协议包括五种类型,这里只讨论SR和RR包。

SR包(SenderReport):发送者报告,当前活动发送者发送、接收统计;所谓发送端是指发出RTP数据报的应用程序或者终端,发送端同时也可以是接收端。由三部分组成,也可能还有第四个特定设置扩展部分。

第一部分为头:8个字节,如下:

第二部分为发送者信息:20个字节,如下:

第三部分包含接收报告快,大小不固定。每个接收报告块传送单个同步源接收RTP包的统计。发生冲突,当源改变SSRC标识时,接收者并不继续统计。这些统计包括:

RR包(ReceiverReport):接收者报告,非活动发送者接收统计,仅作为接收者(只接收rtp包)发送出去的包;所谓接收者是指仅接收但不发送RTP数据报的应用程序或者终端。包类型包含常数201,并删除发送者信息的20个字节。

各个字段解释如下:

最后通过LSR,DLSR可以计算RTT:

1、安装Android系统智能点歌机:

①首先,请确保您的手机或平板电脑已经安装有Android *** 作系统,并且已经正确设置好。

②然后,从Google Play商店下载安装“智能点歌机”应用程序,并进行完整的设置。

③在设置中,您可以自定义您想要的歌曲播放列表,以及设置歌曲播放的顺序、播放频率等。

2、数字直播设置:

①请确保您的设备已经安装有支持数字直播的软件,比如:LiveStream、Ustream或Youtube直播等。

②打开直播软件,登陆您的账号,然后在设置中选择流式传输的协议,这些协议包括RTMP、HTTP和RTP等。

③设置直播的视频分辨率,并输入直播的标题、描述等信息,然后点击“开始直播”,即可开始您的数字直播。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/6573743.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-25
下一篇2023-03-25

发表评论

登录后才能评论

评论列表(0条)

    保存