资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
RTSP 协议体系结构1-1rtsp实时流协议(Real-Time Streaming Protocol, RTSPc1)是由Real Networks和Netseape共同提出的,该协议定义了一对多的应用程序如何有效地通过IP网络传送多媒体 数据的方法。RTSP在体系结构上位于实时传输协议(A Transport Protocol for Real-Time Applications,RTP)和实时传输控制协议(Real Time Control Protocol,RTCP)之上,它使 用TCP或UDP完成数据传输。RTSP是一个客户一服务器多媒体节目协议,用于建立并控制一个或几个时间同步的 连续视频、音频流的连接。尽管用尽管用RTSPRTSP交叉传输连续媒体流和控制流是可能的交叉传输连续媒体流和控制流是可能的,但通常它 用来控制流式多媒体数据在IP网络上的发送,而并不用于连续媒体流的传输。它提供用于 音频和视频流的远程控制功能,例如:播放、暂停、关闭播放、暂停、关闭等。RTSP是一个应用层应用层协议,用来与RTP、RTCP等更低层的协议一起,提供基于Internet的整套流化服务。它可以选择发送通道(例如:UDP、组播UDP和TCP)和基于RTP的发送机制。12 RTSP协议的体系结构RTSP协议位于RTP和RTCP之上,它使用TCP或UDP完成数据传输,其体系结构如图1所示。目前,支持基于IP的流媒体网络协议主要有实时传输协议RTP、实时传输控制协议 RTCP、实时流协议RTSP、资源预留协议(Resource Reservation Protocol,RSVP)和会话描述协(Session Description Protocol,SDP)。RTSP协议主要用于媒体播放客户端和媒体服务 器之间的网络远程控制。RTSP可以使用TCP连接协议也可以使用UDP连接协议,主要根据传输 的数据类型来决定。RTSP提供了一个可扩展框架,使实时数据,如音频与视频的受控点播成为可能。13 RTSP的工作原理RTSP中的所有操作都是通过服务器和客户端的消息应答服务器和客户端的消息应答来完成的,其消息包括请求和 应答两类请求消息的格式如图2。请求消息由请求行、标题行中的各种标题域和主体实体组成。请求行和标题行由ASCII字符组成。图2中的sp域、cr域和lf域分别代表空格字符、回车字符和换行字符。其中的method表示请求命令,主要有以下几种命令。 OPTIONSOPTIONS:客户端或服务器端通知另一方自己能接受的选项;DESCRIBEDESCRIBE:客户端通过向服务器发送请求URL,接受指定的节目描述或媒体对象; SETUPSETUP:让服务器给流分配资源,启动RTSP连接; PLAYPLAY:启动SETUP 分配流的数据传输; TEARDOWNTEARDOWN:释放流的资源,RTSP连接停止。除了状态行之外,RTSP应答消息格式与请求消息的格式相同。状态行包含RTSP的版本号,状态码 和短语,它们组合起来表示客户请求所获得的结果。RTSP客户机和服务器之间的协议交互开始于OPT10N请求应答,然后客户机为它感兴趣 的媒体流发送一个DESCRIBE请求。从服务器返回的应答消息可获得关于这个流的具体信息, 比如编码方式等。然后客户端发送一个SETUP请求,其中包括协议集和端口号,客户端通过 这些协议集和端口来接收媒体流,服务器把选中的协议和端口应答给客户端。客户端再发 送PLAY命令告知服务器通过先前商定的协议来传输数据,还可以发送PAUSE来临时暂停传送, 发送TEARDOWN表示结束会话。整个交互过程如图3所示。在RTSP协议中,服务器和客户端之间的通信完全基于消息应答机制,从而实现类似VCR的远程遥控功能。RTSP协议的请求和应答消息主要通过请求方法字段和状态码字段请求方法字段和状态码字段完成。Method请求方法,也就是请求服务的类别,包括(C:用户端,S:服务器端):DESCRIBE:Cs,返回媒体对象的描述。 ANNOUNCE:cs,Sc,请求URL识别的演示或媒体对象描述发送给服务器件。OPTIONS:cs,sc,让服务器或客户端互相告诉对方可以被接受的选项。PAUSE:Cs,PAUSE请求引起流发送临时中断。PLAY:CS,PLAY告诉服务器以SETUPSETUP指定的机制开始发送数据;直到一些SETUP请求被成功响应,客户端才可发布PLA Y请求。SETUP:CS,建立与客户端的连接。TEARDOWN:cs,TEARDOWN请求停止给定给定URLURL流发送,释放相关资源。StatusStatusCodeCode状态码状态码,表示请求的方法的可操作情况。在RTSP中的状态码和HTTP协议中的状态码十分类似,是一个三位数字: 100:继续;2xx:表示请求成功,可被接受;3xx:重定向;4xx:客户端错误;5xx:服务器端错误。例如,200表示请求已成功,将要执行;而453表示没有足够的带宽。RTSPserver RTSPsession RTSPclient1建立连接2产生新的SOCKET,以后些客户端的交流由SOCKET完成。3DESCRIBE4:SDP信息5OPTIONS6回复服务器文件的命令。7 SETUP8。交换9play10 OK握手完成。11 Teardown12关闭SOCKET 删除客户端信息。具体实现时,采用CS结构设计一个的基于RTSP协议的视频服务器。在服务器端,RTSP服务器在默认的端口(一般是554端口号)监听网络请求消息数据包,在收到数据包后,根据RTSP规定的格式进行解析,并作相应的处理,同时形成RTSP格式的应答消息数据包,响应客户端的请求。RTSP服务器在接收到播放流媒体实时数据或文件的请求后,在本地申请并建立新的端口组(RTP端口和RTCP端口,一般前者是偶数端口,后者奇数端口)。此后,服务器端在RTP端口发送包含流媒体文件的RTP数据包,在RTCP端口接收客户端发送的RTCP数据包,并继续在554端口等待别的客户端的RTSP请求。由上面的分析,得到基于RTSP协议的流媒体服务器的模型,如图3所示。1模拟音视频数据的输入。2前端视频服务器负责将音视频数据采集编码,并保存到本地或提供RTP传输。3客户端发送RTSP格式的请求数据包,其中包含客户端要求的流媒体的名字,服务器端在收到该数据包后,解析数据包,若成功解析,就返回该流媒体文件的相关信息,如实际地址等。客户端根据收到的流媒体的实际地址,做进一步的RTSP请求,例如:“播放”、“下载”等。4服务器端分配RTP、RTCP端口(2N,2N+1);并继续在RTSP端口(如554)等待新的请求。5客户端与服务器端的RTP、RTCP端口建立连接,准备接收发送数据。6服务器端打包流媒体数据成RTP格式并发送。7客户端接收RTP数据包。8客户端解析RTP数据包。9MPEG4解析包进行解析,解析成功交给播放器。l0客户端根据接收数据的网络情况(如延迟、丢包等),组成一个RTCP格式的数据包,每隔一定时间发送给服务器端,作为服务器自动改善数据发送性能的信息参考。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号