RTSP实时流传输协议(Real Time Streaming Protocol)是一个C/S多媒体节目协议,控制实时数据的发送,也是TCP/IP协议体系中的一个应用层协议。
RTSP协议同时提供用于音频和视频流的「VCR模式」远程控制功能,它以客户服务器方式工作,是一个多媒体播放控制协议,用来使用户在播放从因特网下载的实时数据时能够进行控制,如:暂停/继续、后退、前进等。因此RTSP又称为「因特网录像机遥控协议」。
RTSP是用来控制声音或影像的多媒体串流协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容,它的语法和运作跟HTTP1.1类似,但并不特别强调时间同步,所以比较能容忍网络延迟。
RTSP在功能上与HTTP有重叠,最明显的交叉是在流媒体内容的发布上——大多是通过网页进行的。目前的协议规范同时允许网页服务器和流媒体服务器支持RTSP实现。
HTTP与RTSP相比,HTTP传送HTML,而RTSP传送的是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。
RTSP与HTTP的本质差别在于以下五个方面
●RTSP和HTTP是两个不同的协议,它们采用不同的方法和协议标志符。
●RTSP协议的数据发送不占用协议带宽,并且以不同的协议发送。
●HTTP是一个不对称协议,客户端发出请求,服务器应答。在RTSP中,客户端和服务器都可发出请求,且请求是有状态的。
●HTTP是一个无状态协议,而RTSP在任何情况下,必须保持一定状态,以便在请求确认后的很长时间内,仍可设置参数,控制媒体流。
●RTSP使用ISO10646(UTF-8)定义,而不使用ISO8859-1定义,保持与当前的HTML一致。
媒体服务器与普通的万维网服务器的最大区别就是媒体服务器支持流式音频和视频的传送,因而在客户端的媒体播放器可以边下载边播放(需要先缓存一小段时间的节目)。但从普通万维网服务器下载多媒体节目时,是先将整个文件下载完毕,然后再进行播放。
图1-RTSP与RTP和RTCP的关系
RTSP仅仅是使媒体播放器能控制多媒体流的传送。因此,RTSP又称为带外协议,而多媒体流是使用RTP在带内传送的。
RTSP有两类报文:请求报文和响应报文。请求报文是指从客户向服务器发送请求报文,响应报文是指从服务器到客户的回答。
由于RTSP是面向正文的(text-oriented),因此在报文中的每一个字段都是一些ASCII码串,因而每个字段的长度都是不确定的。
RTSP报文由三部分组成,即开始行、首部行和实体主体。在请求报文中,开始行就是请求行,RTSP请求报文的结构如图2所示。
图2-RTSP请求报文的结构
图3-RTSP响应报文的结构