- 7
- 0
- 约4.84千字
- 约 42页
- 2018-06-27 发布于湖北
- 举报
第4章 多媒体通信实时通信协议
第4章 多媒体通信的实时通信协议 4.1 概述 4.2 实时传输协议 4.3 实时传输控制协议 4.4 实时流协议 4.5 资源预留协议 4.1 概述 Internet原本并不是用于实时通信的, 由于TCP/IP协议不能确保实时通信所需要的带宽, 传输延迟所造成的时间抖动将使实时通信的质量严重下降。 另外, TCP协议负责数据的流量控制, 保证传输的正确性, 具有数据重发功能, 这一点也不适合于实时通信。 概 述 为了解决这个问题, IETF提出了多种实时通信协议, 这里主要介绍应用比较广泛的 实时传输协议(RTP); 实时流协议(RTSP); 资源预留协议 (RSVP)。 流媒体各协议与TCP/IP协议栈的关系 4.2 实时传输协议 1.RTP和RTCP RTP是一种提供端对端传输服务的实时传输协议,用来支持在单目标广播和多目标广播网络服务中传输实时数据。 而实时数据的传输则由RTCP协议来监视和控制。 为了可靠、 高效地传送实时数据, RTP和RTCP必须配合使用。通常, RTCP包的数量占所有传输量的5%。 2. RTP 的实现 RTP 封装了多媒体应用的数据块。由于 RTP 向多媒体应用程序提供了服务(如时间戳和序号),因此也可以将 RTP 看成是在 UDP 之上的一个传输层的子层。 RTP 的实现 从应用开发人员的角度来看,可把RTP执行程序看成是应用程序的一部分,因为开发人员必需把RTP集成到应用程序中。 在发送端,开发人员必需把执行RTP协议的程序写入到创建RTP信息包的应用程序中,然后应用程序把RTP信息包发送到UDP的套接接口(socket interface)。 RTP 的实现 在接收端,RTP信息包通过UDP套接接口输入到应用程序,因此开发人员必需把执行RTP协议的程序写入到从RTP信息包中抽出媒体数据的应用程序。 RTP 的实现 现以用RTP传输声音为例来说明它的工作过程。 假设音源的声音是64 kb/s的PCM编码声音,并假设应用程序取20毫秒的编码数据为一个数据块(chunk),即在一个数据块中有160个字节的声音数据。 RTP 的实现 应用程序需要为这块声音数据添加RTP标题生成RTP信息包,这个标题包括声音数据的类型、顺序号和时间戳。 然后RTP信息包被送到UDP套接接口,在那里再被封装在UDP信息包中。 在接收端,应用程序从套接接口处接收RTP信息包,并从RTP信息包中抽出声音数据块,然后使用RTP信息包的标题域中的信息正确地译码和播放声音。 RTP所能支持的声音有效载荷类型 RTP所能支持的视频有效载荷类型 4.3 实时传输控制协议(RTCP) RTP控制协议(RTCP)是基于周期性的给会话中所有参与者传输控制报文,使用和数据报文相同的分发机制。底层协议必须对数据报文和控制报文提供多路技术,比如UDP使用不同的端口号。 4.4 实时流协议RTSP 1. RTSP概述 RTSP协议是由RealNetwork和Netcape共同提出的。 协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据 RTSP协议用于控制具有实时特性的数据(例如多媒体流)的传送。 RTSP概述 为多媒体数据流提供远程控制功能,如播放、停止、快进等。 一般与RTP/RTCP等底层协议一起协同工作 可以选择数据发送通道(如UDP、组播UDP和TCP) RTSP在语法和操作上与http/1.1 类似 RTSP连接没有绑定到传输层连接,如TCP RTSP协议是应用层协议 2.RTSP协议的工作原理 RTSP中的所有的操作都是通过服务器和客户端的消息应答来完成的,其消息包括请求(Request)和响应(Response)两种。 通过服务器和客户端的消息应答来完成媒体流的创建、初始化(SETUP)、VCR控制(PLAY、PAUSE)以及拆线(TEARDOWN)等操作的。 RTSP协议的工作原理 3.RTSP协议格式 RTSP是一个基于文本的协议,它使用UTF-8编码(RFC2279)和ISO10646字符序列,采用RFC882定义的通用格式,每个语句行由CRLF结束。 RTSP的消息包括请求和应答两类,格式如下: 请求报文 响应报文 Request-Line Status-Line *( general-header *( general-header | request-header | response-header | entity-header )
原创力文档

文档评论(0)