RTSP協議閱讀 rfc2326

2021-08-07 15:39:52 字數 814 閱讀 8901

rtsp協議和http比較像,不同的是,http只能承載在tcp之上,並且只能是客戶端發訊息給伺服器,rtsp的話,沒有規定傳輸層,可以是tcp,也可以是udp,如果是tcp,伺服器也可以主動傳送request訊息給客戶端。

rtsp採用主從(.)數字形式來表示版本,abnf語法是rtsp-version = 「rtsp」 「/」 1*digit 「.」 1*digit,當前的版本號是1.0。

當**及閘道器收到與其自身版本不同的rtsp請求時,必須小心處理請求的推送,因為協議版本表明傳送方的能力,**或閘道器不應發出高於自身版本的訊息。如果收到高版本的請求,**或閘道器必須降低該請求的版本,並回應乙個錯誤。而低版本的請求也應在被推送前公升級。**或閘道器回應請求時必須和請求的版本相同。

rtsp url的語法是rtsp_url= ( 「rtsp:」 | 「rtspu:」 ) 「//」 host [ 「:」 port ] [ abs_path ]。

rtsp要求使用可靠協議(internet的tcp協議),而rtspu則使用不可靠協議(internet的udp協議)。

如果埠為空或沒指定,則預設為554。

只要可能,應盡量避免在url中直接使用ip位址。

rtsp是文字型協議,採用utf-8編碼,用crlf表示換行,但是對於接收端解析器而言,採用寬進原則,對於收到單獨的cr或者lf,也應該當作crlf看待。

有些響應訊息不允許帶body,比如1xx, 204, and 304,在頭域之後以乙個空行(crlf)結束。

如果有content-length頭域,其值表示body的長度,如果不存在該頭域,則值為0,表示沒有body。

目前支援的method有:

RTSP協議介紹

圖1 rtsp與rtp和rtcp的關係 rtsp有兩類報文 請求報文和響應報文。請求報文是指從客戶向伺服器傳送請求報文,響應報文是指從伺服器到客戶的回答。由於 rtsp 是面向正文的 text oriented 因此在報文中的每乙個欄位都是一些 ascii 碼串,因而每個欄位的長度都是不確定的。rt...

RTSP協議介紹

圖1 rtsp與rtp和rtcp的關係 rtsp有兩類報文 請求報文和響應報文。請求報文是指從客戶向伺服器傳送請求報文,響應報文是指從伺服器到客戶的回答。由於 rtsp 是面向正文的 text oriented 因此在報文中的每乙個欄位都是一些 ascii 碼串,因而每個欄位的長度都是不確定的。rt...

RTSP協議介紹

rtsp協議簡介 圖1 rtsp與rtp和rtcp的關係 rtsp的報文結構 rtsp有兩類報文 請求報文和響應報文。請求報文是指從客戶向伺服器傳送請求報文,響應報文是指從伺服器到客戶的回答。由於 rtsp 是面向正文的 text oriented 因此在報文中的每乙個欄位都是一些 ascii 碼串...