
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等。
③设置直播的视频分辨率,并输入直播的标题、描述等信息,然后点击“开始直播”,即可开始您的数字直播。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)