1. 程式人生 > >RTSP協議分析與標準RTSP服務端與客戶端互動流程

RTSP協議分析與標準RTSP服務端與客戶端互動流程

1.1.   RTSP協議簡介

一種應用層協議,可基於tcp或udp協議。

RTSP(Real Time StreamingProtocol,實時流媒體協議)是由Real Network和Netscape共同提出的一種應用層協議,它定義瞭如何在IP網路上有效地傳輸流媒體資料。RTSP提供了一種機制,使音訊、視訊等資料可以按照需要進行實時傳輸,並且可以實施諸如暫停、快進等控制功能。源資料可以是儲存的檔案,也可以是現場資料的反饋。RTSP協議本身並不傳輸資料,資料的傳輸是通過基於UDP協議的RTP協議來完成的。

要實現 RTSP 的控制功能,不僅要有協議,而且要有專門的媒體播放器(media player)和媒體伺服器(media server)。媒體伺服器與媒體播放器的關係是伺服器與客戶的關係。

媒體伺服器與普通的全球資訊網伺服器的最大區別就是媒體伺服器支援流式音訊和視訊的傳送,因而在客戶端的媒體播放器可以邊下載邊播放(需要先快取一小段時間的節目)。但從普通全球資訊網伺服器下載多媒體節目時,是先將整個檔案下載完畢,然後再進行播放。


圖1 RTSP與RTP和RTCP的關係

RTSP 僅僅是使媒體播放器能控制多媒體流的傳送。因此,RTSP 又稱為帶外協議,而多媒體流是使用 RTP 在帶內傳送的。

1.2.    RTSP的報文結構

RTSP有兩類報文:請求報文和響應報文。請求報文是指從客戶向伺服器傳送請求報文,響應報文是指從伺服器到客戶的回答。

由於 RTSP 是面向正文的(text-oriented),因此在報文中的每一個欄位都是一些 ASCII 碼串,因而每個欄位的長度都是不確定的。

RTSP報文由三部分組成,即開始行、首部行和實體主體。在請求報文中,開始行就是請求行,RTSP請求報文的結構如圖2所示。


圖2 RTSP請求報文的結構

RTSP請求報文的方法包括:OPTIONS、DESCRIBE、SETUP、TEARDOWN、PLAY、PAUSE、GET_PARAMETER和SET_PARAMETER。RTSP請求報文的常用方法及作用如表1所示。

表1 RTSP請求報文的常用方法及作用

方法

作用

OPTIONS

獲得伺服器提供的可用方法

DESCRIBE

得到會話描述資訊

SETUP

客戶端提醒伺服器建立會話,並確定傳輸模式

TEARDOWN

客戶端發起關閉請求

PLAY

客戶端傳送播放請求

響應報文的開始行是狀態行,RTSP響應報文的結構如圖3所示。


圖3 RTSP響應報文的結構

1.3.    RTSP互動過程

C表示RTSP客戶端,S表示RTSP服務端

 C->S: OPTION request            //詢問S有哪些方法可用

S->C: OPTION response        //S迴應資訊中包括提供的所有可用方法

 C->S: DESCRIBE request      //要求得到S提供的媒體初始化描述資訊

S->C: DESCRIBE response      //S迴應媒體初始化描述資訊,主要是sdp

 C->S: SETUP request         //設定會話屬性,以及傳輸模式,提醒S建立會話

S->C: SETUP response         //S建立會話,返回會話識別符號及會話相關資訊

 C->S: PLAY request          //C請求播放

S->C: PLAY response          //S迴應請求資訊

S->C: 傳送流媒體資料

 C->S: TEARDOWN request     //C請求關閉會話

S->C: TEARDOWN response     //S迴應請求

上述的過程是標準的RTSP流程,其中第3步和第4步是必需的。