实时传输协议(rtp)和实时控制协议(rtcp

上传人:子 文档编号:43830565 上传时间:2018-06-07 格式:DOC 页数:9 大小:31KB
返回 下载 相关 举报
实时传输协议(rtp)和实时控制协议(rtcp_第1页
第1页 / 共9页
实时传输协议(rtp)和实时控制协议(rtcp_第2页
第2页 / 共9页
实时传输协议(rtp)和实时控制协议(rtcp_第3页
第3页 / 共9页
实时传输协议(rtp)和实时控制协议(rtcp_第4页
第4页 / 共9页
实时传输协议(rtp)和实时控制协议(rtcp_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《实时传输协议(rtp)和实时控制协议(rtcp》由会员分享,可在线阅读,更多相关《实时传输协议(rtp)和实时控制协议(rtcp(9页珍藏版)》请在金锄头文库上搜索。

1、实时传输协议实时传输协议(RTP)(RTP)和实时控制协议和实时控制协议(RTCP(RTCP公告: 2010 年 SD2.0 大会即将在上海召开了历届参会网友精彩心得集锦 意见反馈官方博客 实时传输协议(RTP)和实时控制协议(RTCP) 收藏 RTP 是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据,而实时数据的传输则由 RTCP 协议来监视和控制。RTP 定义在 RFC 使用 RTP 协议的应用程序运行在 RTP 之上,而执行 RTP 的程序运行在 UDP 的上层,目的是为了使用 UDP 的端口号和检查和。如图 16-12 所示,RTP 可以看

2、成是传输层的子层。由多媒体应用程序生成的声音和电视数据块被封装在 RTP 信息包中,每个 RTP 信息包被封装在 UDP 消息段中,然后再封装在 IP 数据包中。1889 中。信息包的结构包含广泛用于多媒体的若干个域,包括声音点播(audio-on-demand)、影视点播(video on demand)、因特网电话(Internet telephony)和电视会议(videoconferencing)。RTP 的规格没有对声音和电视的压缩格式制定标准,它可以被用来传输普通格式的文件。例如,WAV 或者 GSM(Global System for Mobile communications)

3、格式的声音、MPEG-1 和 MPEG-2 的电视,也可以用来传输专有格式存储的声音和电视文件。 TCP/IP 模型应用层(application)传输层RTPUDPIP数据链路层(data link)物理层(physical)图 16-12 RTP 是传输层上的协议 从应用开发人员的角度来看,可把 RTP 执行程序看成是应用程序的一部分,因为开发人员必需把 RTP 集成到应用程序中。在发送端,开发人员必需把执行 RTP 协议的程序写入到创建 RTP 信息包的应用程序中,然后应用程序把 RTP 信息包发送到 UDP 的套接接口(socket interface),如图 16-13 所示;同样,

4、在接收端,RTP 信息包通过UDP 套接接口输入到应用程序,因此开发人员必需把执行 RTP 协议的程序写入到从 RTP 信息包中抽出媒体数据的应用程序。TCP/IP 模型应用层(application)RTP套接接口UDPIP数据链路层(data link)物理层(physical)图 16-13 RTP 和 UDP 之间的接口现以用 RTP 传输声音为例来说明它的工作过程。假设音源的声音是64 kb/s 的 PCM 编码声音,并假设应用程序取 20 毫秒的编码数据为一个数据块(chunk),即在一个数据块中有 160 个字节的声音数据。应用程序需要为这块声音数据添加 RTP 标题生成 RTP

5、 信息包,这个标题包括声音数据的类型、顺序号和时间戳。然后 RTP 信息包被送到 UDP 套接接口,在那里再被封装在 UDP 信息包中。在接收端,应用程序从套接接口处接收 RTP 信息包,并从 RTP 信息包中抽出声音数据块,然后使用 RTP 信息包的标题域中的信息正确地译码和播放声音。如果应用程序不使用专有的方案来提供有效载荷类型(payload type)、顺序号或者时间戳,而是使用标准的 RTP 协议,应用程序就更容易与其他的网络应用程序配合运行,这是大家都希望的事情。例如,如果有两个不同的公司都在开发因特网电话软件,他们都把 RTP 合并到他们的产品中,这样就有希望:使用不同公司电话软

6、件的用户之间能够进行通信。这里需要强调的是,RTP 本身不提供任何机制来确保把数据及时递送到接收端或者确保其他的服务质量,它也不担保在递送过程中不丢失信息包或者防止信息包的次序不被打乱。的确,RTP 的封装只是在系统端才能看到,中间的路由器并不区分那个 IP 数据报是运载RTP 信息包的。RTP 允许给每个媒体源分配一个单独的 RTP 信息包流,例如,摄像机或者麦克风。例如,有两个团体参与的电视会议,这就可能打开4 个信息包流:两台摄像机传送电视流和两个麦克风传送声音流。然而,许多流行的编码技术,包括 MPEG-1 和 MPEG-2 在编码过程中都把声音和电视图像捆绑在一起以形成单一的数据流,

7、一个方向就生成一个 RTP 信息包流。RTP 信息包没有被限制只可应用于单目标广播,它们也可以在一对多(one-to-many)的多目标广播树或者在多对多(many-to-many)的多目标广播树上传送。例如,多对多的多目标广播,在这种应用场合下,所有发送端通常都把他们的 RTP 信息包流发送到具有相同多目标广播地址的多目标广播树上。16.6.2 RTP 信息包标题域RTP 标题由 4 个信息包标题域和其他域组成:有效载荷类型(payload type)域,顺序号(sequence number)域,时间戳(timestamp)域和同步源标识符(Synchronization Source I

8、dentifier)域等。RTP 信息包的标题域的结构如下图所示:Payload Type(有效载荷类型)Sequence Number(顺序号)Timestamp(时间戳)Synchronization Source Identifier(同步源标识符)Miscellaneous Fields(其他)1. 有效载荷类型RTP 信息包中的有效载荷域(Payload Type Field)的长度为 7 位,因此 RTP 可支持 128 种不同的有效载荷类型。对于声音流,这个域用来指示声音使用的编码类型,例如 PCM、自适应增量调制或线性预测编码等等。如果发送端在会话或者广播的中途决定改变编码方法

9、,发送端可通过这个域来通知接收端。表 16-01 列出了目前 RTP所能支持的声音有效载荷类型。表 16-01 目前 RTP 所能支持的声音有效载荷类型有效载荷号声音类型采样率(kHz)数据率(kb/s)0PCM mu-law8641101684.82G.7218323GSM8326DVI16647LPC82.49G.7228486414MPEG Audio90-15G.728816对电视流,有效载荷类型可以用来指示电视编码的类型,例如motion JPEG, MPEG-1,MPEG-2 或者 H.231 等等。发送端也可以在会话或者期间随时改变电视的编码方法。表 16-02 列出了目前 RT

10、P所能支持的某些电视有效载荷类型。表 16-02 目前 RTP 所能支持的声音有效载荷类型有效载荷号电视格式26Motion JPEG28-31H.26132MPEG-1 video33MPEG-2 video2. 顺序号顺序号(Sequence Number Field)域的长度为 16 位。每发送一个RTP 信息包顺序号就加 1,接收端可以用它来检查信息包是否有丢失以及按顺序号处理信息包。例如,接收端的应用程序接收到一个RTP 信息包流,这个 RTP 信息包在顺序号 86 和 89 之间有一个间隔,接收端就知道信息包 87 和 88 已经丢失,并且采取措施来处理丢失的数据。3. 时间戳时间

11、戳(Timestamp)域的长度为 32 字节。它反映 RTP 数据信息包中第一个字节的采样时刻(时间)。接收端可以利用这个时间戳来去除由网络引起的信息包的抖动,并且在接收端为播放提供同步功能。4. 同步源标识符 同步源标识符(Synchronization Source Identifier,SSRC)域的长度为 32 位。它用来标识 RTP 信息包流的起源,在 RTP 会话或者期间的每个信息包流都有一个清楚的 SSRC。SSRC 不是发送端的 IP 地址,而是在新的信息包流开始时源端随机分配的一个号码。16.6.3 实时传输控制协议实时传输控制协议(Real-time Control Pr

12、otocol,RTCP)也定义在1996 年提出的 RFC 1889 中。多媒体网络应用把 RTCP 和 RTP 一起使用,尤其是在多目标广播中更具吸引力。当从一个或者多个发送端向多个接收端广播声音或者电视时,也就是在 RTP 会话期间,每个参与者周期性地向所有其他参与者发送 RTCP 控制信息包,如图 16-14 所示。RTCP 用来监视服务质量和传送有关与会者的信息。对于RTP 会话或者广播,通常使用单个多目标广播地址,属于这个会话的所有 RTP 和 RTCP 信息包都使用这个多目标广播地址,通过使用不同的端口号可把 RTP 信息包和 RTCP 信息包区分开来。RTCP 的主要功能是为应用

13、程序提供会话质量或者广播性能质量的信息。每个 RTCP 信息包不封装声音数据或者电视数据,而是封装发送端和/或者接收端的统计报表。这些信息包括发送的信息包数目、丢失的信息包数目和信息包的抖动等情况,这些反馈信息对发送端、接收端或者网络管理员都是很有用的。RTCP 规格没有指定应用程序应该使用这个反馈信息做什么,这完全取决于应用程序开发人员。例如,发送端可以根据反馈信息来修改传输速率,接收端可以根据反馈信息判断问题是本地的、区域性的还是全球性的,网络管理员也可以使用 RTCP 信息包中的信息来评估网络用于多目标广播的性能。16.6.4 实时流放协议实时流放协议(Real-Time Streami

14、ng Protocol,RTSP)是一个刚开始开发的协议,它的设想描述在 RFC 播放的数据流被分成许多信息包,信息包的大小很适用于客户机和服务器之间的带宽。当客户机已经接收到足够多的信息包之后,用户软件就可开始播放一个信息包,同时对另一个信息包解压缩和接收第三个信息包。这样用户就不需要把整个媒体文件从服务器上下载之后就可立即播放。广播源可以是现场的数据流也可以是存储的数据流。RTSP 协议想要提供控制多种应用数据传送的功能,提供一种选择传送通道的方法,例如 UDP, TCP, IP 多目标广播通道,以及提供一种基于 RTP 协议的递送方法。正在设计的 RTSP 将工作在 RTP 的上层,用来控制和传送实时的内容。RTSP 能够与资源保留协议一起使用,用来设置和管理保留带宽的流式会话或者广播。2326 文件中。RTSP 是应用级的实时流放协议,它主要目标是为单目标广播和多目标广播上的流式多媒体应用提供牢靠的播放性能,以及支持不同厂家提供的客户机和服务机之间的协同工作能力。本文来自 CSDN 博客,转载请标明出处:file:/D:/广播电视相关文档/RTP-RTCP-RTSP/实时传输协议(RTP)和实时控制协议(RTCP).mht博汇科技【内部公开】

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号