多媒体通信协议RTP和RTCP
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
多媒体通信协议 与
会话控制技术
源自文库by
通信1502 黄奕锋
CONTENTS
01. 多媒体通信协议简介 02. RTP协议和RTCP协议 03. RTP协议应用方案
01. 多媒体通信协议简介
01
概念:
多媒体通信技术是计算机技术、电视技术和通信技术
相互渗透、相互影响的结果。因此,它具有计算机的交互
性、声音和视频的实时性以及通信系统的分布性。
特点:
应用:
实时性高
数据量大 交互性 对等性 分布性 同步性
音频/视频会议、
音频/视频广播、 交互式教学 IP电话
01
实时传输 对等传输 服务质量 音视频同步
01
通信协议是: 网络设备之间
通信规则的正式 描述
提供实时交互式音视频服务所需的应用层协议(上图)
信令协议: 用来在互联网上找到被叫用户 传送协议: 用来在互联网中传送音视频数据,具有时延敏感属性 服务质量协议: 用来提高服务质量
03
组播技术构建的网络,允许路由器一次将数据包复制到多个 通道上。采用组播的方式,媒体服务器只需发送一个数据包, 所有发出请求的客户端即可同时收到连续数据流而无延时。
优点:单播和广播的有利结合,网络利用率高。
缺点:当不同用户同时点播同一个节目时,由于点播有先后 顺序,后点播的用户依照网络中其它用户的播放进度进行播 放,难以做到个性化。
➢ 在RTP的会话之间周期的发放一些RTCP包以用来传监听服务质量和 交换会话用户信息等功能。
➢ RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计 资料。因此,服务器可以利用这些信息动态地改变传输速率,甚至改变 有效载荷类型。
➢ RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效 率最佳化,因而特别适合传送网上的实时数据。根据用户间的数据传输 反馈信息,可以制定流量控制的策略,而会话用户信息的交互,可以制 定会话控制的策略。
02. 实时协议RTP和RTCP
02
实时协议RTP协议和RTCP协议是IETF音频视频工作组开 发的标准
相关的主要RFC文档 RFC1889:RTP/RTCP RFC1890: 音视频会议RTP Profile
实时协议的特点: 体系结构具有不完整性,能够通过修改和添加报文头 (即后面讲到的有效载荷类型)以适应符合新的音频和 视频标准的实时应用
➢ 优点:便于控制和管理
➢ 缺点:每个用户必须分别对媒体服务器发送单独的查询,而 媒体服务器必须向每个用户发送所申请的数据包拷贝。巨大 冗余使服务器负担沉重,响应时间长。
03
➢ 数据包的单独一个拷贝将发给网络的所有用户,用户只能被 动接收,不管用户是否需要。
➢ 优点:实现简单 ➢ 缺点:浪费网络带宽
02
RTCP协议的主要功能
➢ (1)用反馈信息的方法来提供分配数据的传送质量,这种反馈可以用来 进行流量的拥塞控制,也可以用来监视网络和用来诊断网络中的问题;
➢ (2)为RTP源提供一个永久性的CNAME(规范性名字)的传送层标志, 因为在发现冲突或者程序更新重启时SSRC (同步源标识)会变,需要一 个运作痕迹,在一组相关的会话中接收方也要用CNAME来从一个指定的 与会者得到相联系的数据流(如音频和视频);
02
用来使发送端周期性地向所有接收端用多播方式进行报告。发送端 每发送一个RTP流,就要发送一个发送端报告分组SR。
SR分组的主要内容有: 该RTP流的同步源标识符SSRC; 该RTP流中最新产生的RTP分组的时间戳和绝对时钟时间; 该RTP流包含的分组数;该RTP流包含的字节数。
绝对时钟时间是必要的。因为RTP要求每一种媒体使用一个流。例 如,要传送视频图像和相应的声音就需要传送两个流。有了绝对时钟 时间就可进行图像和声音的同步。
03
➢ 单播 ➢ 广播 ➢ 组播
03
➢ 在客户端与媒体服务器之间建立一个单独的数据通道,从一 台服务器送出的每个数据包只能传送给一个客户端,这种传 送方式称为单播,即点对点通信
(6)参与源数 占4位
这个字段给出后面的参与源标识符的数目。
(7)版本
占2位
当前使用的是版本2。
02
(8)填充P 占1位
在某些特殊情况下需要对应用数据块加密,这往往要求每一个数据块有 确定的长度。如不满足这种长度要求,就需要进行填充。这时就把P位置1, 表示这个RTP分组的数据有若干填充字节。在数据部分的最后一个字节用来 表示所填充的字节数。
THANK YOU
➢ (3)根据与会者的数量来调整RTCP包的发送率;
➢ (4)传送会话控制信息,如可在用户接口显示与会者的标识,这是可选 功能。
02
结束分组 BYE
表示关闭一个数据流。
特定应用分组 APP 使应用程序能够定义新的分组类型。
源点描述分组 SDES
给出会话中参加者的描述, 它包含参加者的规范名CNAME, 规范名是参加者的电子邮件地址的字符串。
(9)扩展X 占1位
X置1表示在此RTP首部后面还有扩展首部。扩展首部很少使用。
(10)标记M 占1位
M置1表示这个RTP分组具有特殊意义。 例如,在传送视频流时用来表示每一帧的开始。
02
RTCP协议原理:
➢ 当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一 个给RTCP。RTP本身并不能为按顺序传送数据包提供可靠的传送机制, 也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。
02
用来使接收端周期性地向所有的点用多播方式进行报告。接收端每收到一 个RTP流(一次会话包含有许多的RTP流)就产生一个接收端报告分组RR。
RR分组的内容有:所收到的RTP流的SSRC;该RTP流的分组丢失率(若 分组丢失率太高,发送端就应当适当降低发送分组的速率);在该RTP流中 的最后一个RTP分组的序号;分组到达时间间隔的抖动等。
➢ RTP分组只包含RTP数据,而实现会话控制的是其配套的协议, RTCP协议
02
在RTP分组的首部中,前12个字节是必需的,而12字 节以后的部分则是可选的。
下面按照各字段重要性的顺序来进行介绍。
02
(1)有效载荷类型(payload type) 占7位
这个字段指出后面的RTP数据属于何种格式的应用。 收到RTP分组的应用层就根据此字段指出的类型进行 处理。
发送RR分组有两个目的: 第一,可以使所有的接收端和发送端了解当前网络的状态;
第二,可以使所有发送RTCP分组的站点自适应地调整自己发送RTCP 分组的速率,使得起控制作用的RTCP分组不要过多地影响传送应用 数据的RTP分组在网络中的传输。通常是使RTCP分组的通信量不超 过网络中数据分组的通信量的5%,而接收端报告分组的通信量又应小 于所有RTCP分组的通信量的75% 。
例如,对于8 kHz采样的话音信号,若每隔20 ms构成一个数据块,则一 个数据块中包含有160个样本(0.02 x 8000 = 160 )。因此发送端每发送一个 RTP分组,其时间戳的值就增加1600。
02
(4)同步源标识符 占32位
同步源标识符SSRC (Synchronous SouRCe identifier)是一个数,用来 标志RTP流(stream)的来源。SSRC与IP地址无关,在新的RTP流开始时随 机地产生。由于RTP使用UDP传送,因此可以有多个RTP流(例如,使用几 个摄像机从不同角度拍摄同一个节目所产生的多个RTP流)复用到一个UDP 用户数据报中。SSRC可使接收端的UDP能够将收到的RTP流送到各自的终 点。
02
RTP协议原理:
➢ RTP为实时应用提供端到端的运输,但不提供任何服务质量的 保证。需要发送的多媒体数据块(音频/视频)经过压缩编码后,先 送给RTP封装成为RTP分组,RTP分组装入传输层的UDP用户数据 报后,再向下递交给IP层。
➢ RTP自己并不对多媒体数据块做任何处理,而只是向应用层提 供一些附加的信息,让应用层知道应当如何处理。
RTP支持的有效载荷类型有:
02
02
02
(2)序号 占16位
对每一个发送出的RTP分组,其序号加1。在一次RTP会话开始时 的初始序号是随机选择的。序号使接收端能够发现丢失的分组,同时也 能将失序的RTP分组重新按序排列好。
例如,在收到序号为60的RTP分组后又收到了序号为65的RTP分组。 那么就可推断出,中间还缺少序号为61至64的4个RTP分组。
02
(3)时间戳 占32位
时间戳反映了RTP分组中数据的第一个字节的采样时刻。在一次会话开 始时时间戳的初始值也是随机选择的。即使在没有信号发送时,时间戳的数 值也要随时间而不断地增加。
接收端使用时间戳可准确知道应当在什么时间还原哪一个数据块,从而 消除时延的抖动。
时间戳还可以用来使视频应用中声音和图像同步。在RTP协议中并没有 规定时间戳的粒度,这取决于有效载荷的类型。因此RTP的时间戳又称为媒 体时间戳,以强调这种时间戳的粒度取决于信号的类型。
两个RTP流恰好都选择同一个SSRC的概率是极小的。若发生这种情况, 这两个源就都重新选择另一个SSRC。
02
(5)参与源标识符(可选),最多可有15个
参与源标识符CSRC (ContributingSouRCe identifier)也是一个32位数, 用来标志来源于不同地点的RTP流在多播环境中,可以用中间的一个站(叫 做混合站mixer)把发往同一个地点的多个RTP流混合成一个流(可节省通信资 源),在目的站再根据CSRC的数值把不同的RTP流分开。
02
➢ 实时运输控制协议RTCP (RTP Control Protocol)是与RTP配合使用 的协议,实际上,RTCP协议也是RTP协议不可分割的部分。
➢ RTCP分组也使用UDP来传送,但RTCP并不对音频/视频分组进行 封装。由于RTCP分组很短,因此可把多个RTCP分组封装在一个 UDP用户数据报中。
会话控制技术
源自文库by
通信1502 黄奕锋
CONTENTS
01. 多媒体通信协议简介 02. RTP协议和RTCP协议 03. RTP协议应用方案
01. 多媒体通信协议简介
01
概念:
多媒体通信技术是计算机技术、电视技术和通信技术
相互渗透、相互影响的结果。因此,它具有计算机的交互
性、声音和视频的实时性以及通信系统的分布性。
特点:
应用:
实时性高
数据量大 交互性 对等性 分布性 同步性
音频/视频会议、
音频/视频广播、 交互式教学 IP电话
01
实时传输 对等传输 服务质量 音视频同步
01
通信协议是: 网络设备之间
通信规则的正式 描述
提供实时交互式音视频服务所需的应用层协议(上图)
信令协议: 用来在互联网上找到被叫用户 传送协议: 用来在互联网中传送音视频数据,具有时延敏感属性 服务质量协议: 用来提高服务质量
03
组播技术构建的网络,允许路由器一次将数据包复制到多个 通道上。采用组播的方式,媒体服务器只需发送一个数据包, 所有发出请求的客户端即可同时收到连续数据流而无延时。
优点:单播和广播的有利结合,网络利用率高。
缺点:当不同用户同时点播同一个节目时,由于点播有先后 顺序,后点播的用户依照网络中其它用户的播放进度进行播 放,难以做到个性化。
➢ 在RTP的会话之间周期的发放一些RTCP包以用来传监听服务质量和 交换会话用户信息等功能。
➢ RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计 资料。因此,服务器可以利用这些信息动态地改变传输速率,甚至改变 有效载荷类型。
➢ RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效 率最佳化,因而特别适合传送网上的实时数据。根据用户间的数据传输 反馈信息,可以制定流量控制的策略,而会话用户信息的交互,可以制 定会话控制的策略。
02. 实时协议RTP和RTCP
02
实时协议RTP协议和RTCP协议是IETF音频视频工作组开 发的标准
相关的主要RFC文档 RFC1889:RTP/RTCP RFC1890: 音视频会议RTP Profile
实时协议的特点: 体系结构具有不完整性,能够通过修改和添加报文头 (即后面讲到的有效载荷类型)以适应符合新的音频和 视频标准的实时应用
➢ 优点:便于控制和管理
➢ 缺点:每个用户必须分别对媒体服务器发送单独的查询,而 媒体服务器必须向每个用户发送所申请的数据包拷贝。巨大 冗余使服务器负担沉重,响应时间长。
03
➢ 数据包的单独一个拷贝将发给网络的所有用户,用户只能被 动接收,不管用户是否需要。
➢ 优点:实现简单 ➢ 缺点:浪费网络带宽
02
RTCP协议的主要功能
➢ (1)用反馈信息的方法来提供分配数据的传送质量,这种反馈可以用来 进行流量的拥塞控制,也可以用来监视网络和用来诊断网络中的问题;
➢ (2)为RTP源提供一个永久性的CNAME(规范性名字)的传送层标志, 因为在发现冲突或者程序更新重启时SSRC (同步源标识)会变,需要一 个运作痕迹,在一组相关的会话中接收方也要用CNAME来从一个指定的 与会者得到相联系的数据流(如音频和视频);
02
用来使发送端周期性地向所有接收端用多播方式进行报告。发送端 每发送一个RTP流,就要发送一个发送端报告分组SR。
SR分组的主要内容有: 该RTP流的同步源标识符SSRC; 该RTP流中最新产生的RTP分组的时间戳和绝对时钟时间; 该RTP流包含的分组数;该RTP流包含的字节数。
绝对时钟时间是必要的。因为RTP要求每一种媒体使用一个流。例 如,要传送视频图像和相应的声音就需要传送两个流。有了绝对时钟 时间就可进行图像和声音的同步。
03
➢ 单播 ➢ 广播 ➢ 组播
03
➢ 在客户端与媒体服务器之间建立一个单独的数据通道,从一 台服务器送出的每个数据包只能传送给一个客户端,这种传 送方式称为单播,即点对点通信
(6)参与源数 占4位
这个字段给出后面的参与源标识符的数目。
(7)版本
占2位
当前使用的是版本2。
02
(8)填充P 占1位
在某些特殊情况下需要对应用数据块加密,这往往要求每一个数据块有 确定的长度。如不满足这种长度要求,就需要进行填充。这时就把P位置1, 表示这个RTP分组的数据有若干填充字节。在数据部分的最后一个字节用来 表示所填充的字节数。
THANK YOU
➢ (3)根据与会者的数量来调整RTCP包的发送率;
➢ (4)传送会话控制信息,如可在用户接口显示与会者的标识,这是可选 功能。
02
结束分组 BYE
表示关闭一个数据流。
特定应用分组 APP 使应用程序能够定义新的分组类型。
源点描述分组 SDES
给出会话中参加者的描述, 它包含参加者的规范名CNAME, 规范名是参加者的电子邮件地址的字符串。
(9)扩展X 占1位
X置1表示在此RTP首部后面还有扩展首部。扩展首部很少使用。
(10)标记M 占1位
M置1表示这个RTP分组具有特殊意义。 例如,在传送视频流时用来表示每一帧的开始。
02
RTCP协议原理:
➢ 当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一 个给RTCP。RTP本身并不能为按顺序传送数据包提供可靠的传送机制, 也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。
02
用来使接收端周期性地向所有的点用多播方式进行报告。接收端每收到一 个RTP流(一次会话包含有许多的RTP流)就产生一个接收端报告分组RR。
RR分组的内容有:所收到的RTP流的SSRC;该RTP流的分组丢失率(若 分组丢失率太高,发送端就应当适当降低发送分组的速率);在该RTP流中 的最后一个RTP分组的序号;分组到达时间间隔的抖动等。
➢ RTP分组只包含RTP数据,而实现会话控制的是其配套的协议, RTCP协议
02
在RTP分组的首部中,前12个字节是必需的,而12字 节以后的部分则是可选的。
下面按照各字段重要性的顺序来进行介绍。
02
(1)有效载荷类型(payload type) 占7位
这个字段指出后面的RTP数据属于何种格式的应用。 收到RTP分组的应用层就根据此字段指出的类型进行 处理。
发送RR分组有两个目的: 第一,可以使所有的接收端和发送端了解当前网络的状态;
第二,可以使所有发送RTCP分组的站点自适应地调整自己发送RTCP 分组的速率,使得起控制作用的RTCP分组不要过多地影响传送应用 数据的RTP分组在网络中的传输。通常是使RTCP分组的通信量不超 过网络中数据分组的通信量的5%,而接收端报告分组的通信量又应小 于所有RTCP分组的通信量的75% 。
例如,对于8 kHz采样的话音信号,若每隔20 ms构成一个数据块,则一 个数据块中包含有160个样本(0.02 x 8000 = 160 )。因此发送端每发送一个 RTP分组,其时间戳的值就增加1600。
02
(4)同步源标识符 占32位
同步源标识符SSRC (Synchronous SouRCe identifier)是一个数,用来 标志RTP流(stream)的来源。SSRC与IP地址无关,在新的RTP流开始时随 机地产生。由于RTP使用UDP传送,因此可以有多个RTP流(例如,使用几 个摄像机从不同角度拍摄同一个节目所产生的多个RTP流)复用到一个UDP 用户数据报中。SSRC可使接收端的UDP能够将收到的RTP流送到各自的终 点。
02
RTP协议原理:
➢ RTP为实时应用提供端到端的运输,但不提供任何服务质量的 保证。需要发送的多媒体数据块(音频/视频)经过压缩编码后,先 送给RTP封装成为RTP分组,RTP分组装入传输层的UDP用户数据 报后,再向下递交给IP层。
➢ RTP自己并不对多媒体数据块做任何处理,而只是向应用层提 供一些附加的信息,让应用层知道应当如何处理。
RTP支持的有效载荷类型有:
02
02
02
(2)序号 占16位
对每一个发送出的RTP分组,其序号加1。在一次RTP会话开始时 的初始序号是随机选择的。序号使接收端能够发现丢失的分组,同时也 能将失序的RTP分组重新按序排列好。
例如,在收到序号为60的RTP分组后又收到了序号为65的RTP分组。 那么就可推断出,中间还缺少序号为61至64的4个RTP分组。
02
(3)时间戳 占32位
时间戳反映了RTP分组中数据的第一个字节的采样时刻。在一次会话开 始时时间戳的初始值也是随机选择的。即使在没有信号发送时,时间戳的数 值也要随时间而不断地增加。
接收端使用时间戳可准确知道应当在什么时间还原哪一个数据块,从而 消除时延的抖动。
时间戳还可以用来使视频应用中声音和图像同步。在RTP协议中并没有 规定时间戳的粒度,这取决于有效载荷的类型。因此RTP的时间戳又称为媒 体时间戳,以强调这种时间戳的粒度取决于信号的类型。
两个RTP流恰好都选择同一个SSRC的概率是极小的。若发生这种情况, 这两个源就都重新选择另一个SSRC。
02
(5)参与源标识符(可选),最多可有15个
参与源标识符CSRC (ContributingSouRCe identifier)也是一个32位数, 用来标志来源于不同地点的RTP流在多播环境中,可以用中间的一个站(叫 做混合站mixer)把发往同一个地点的多个RTP流混合成一个流(可节省通信资 源),在目的站再根据CSRC的数值把不同的RTP流分开。
02
➢ 实时运输控制协议RTCP (RTP Control Protocol)是与RTP配合使用 的协议,实际上,RTCP协议也是RTP协议不可分割的部分。
➢ RTCP分组也使用UDP来传送,但RTCP并不对音频/视频分组进行 封装。由于RTCP分组很短,因此可把多个RTCP分组封装在一个 UDP用户数据报中。