CDN服务器是一个C/S方式的带外协议(out-of-band protocol),RTSP报文和媒体流使用不同的端口号,通常RTSP使用端口号544。我们通过一个典型的例子来理解RTSP这种带外控制的工作方式,如果开展ISP业务,需要了解有源光网络。
客户端首先向CDN服务器请求一个展现描述文件,这个请求是Web浏览器发起的,对端Web服务器返回的展现描述文件中包含一些指向几个媒体文件的引用,同时包含这几个媒体文件的同步指示。每个引用以URL的方法rtsp://开始。描述文件就像下面这样:
CDN服务器在HTTP响应报文中封装这个展现描述文件,浏览器收到这个报文后,会根据展现描述文件中给出的信息来调用本地媒体播放器。比如上面例子中的展现,是由两个音频流,一个视频流组成的,并且它们之间有同步关系。在RTSP协议中,有“合控制”这样一个概念,对构成同一个流媒体展现中的不同流进行控制。服务器使用一条时间轴对这些不同的流进行控制,意味着客户端仅需发送一条播放或者暂停消息就可同时控制音频和视频流。大部分情况下,RTSP协议中的控制都是指对一个表示中的流的合控制,但如果需要对单个流进行控制,可以在请求消息中说明。
播放器向媒体CDN服务器发送一个RTSP SETUP请求,服务器用一个RTSP OK报文来响应,这就建立起了一个会话。随后,播放器发送一个RTSP PLAY请求,请求中携带需要播放的媒体流的URL,媒体服务器用一个RTSP OK报文响应,然后将播放器请求的媒体流送入它的带内信道。稍后,如果播放器发送一个RTSP PAUSE请求,表示需要暂停播放,媒体服务器用RTSP OK响应。当用户想结束播放时,播放器发送一个RTSP TEARDOWN请求,媒体服务器用RTSP OK响应。