簡單的RTSP消息交互過程服務器
C表示RTSP客戶端,S表示RTSP服務端io
1. 第一步:查詢服務器端可用方法服務器端
1.C->S:OPTION request //詢問S有哪些方法可用request
1.S->C:OPTION response //S迴應信息的public頭字段中包括提供的全部可用方法請求
2. 第二步:獲得媒體描述信息方法
2.C->S:DESCRIBE request //要求獲得S提供的媒體描述信息數據
2.S->C:DESCRIBE response //S迴應媒體描述信息,通常是sdp信息客戶端
3. 第三步:創建RTSP會話協議
3.C->S:SETUP request //經過Transport頭字段列出可接受的傳輸選項,請求S創建會話查詢
3.S->C:SETUP response //S創建會話,經過Transport頭字段返回選擇的具體轉輸選項,並返回創建的Session ID;
4. 第四步:請求開始傳送數據
4.C->S:PLAY request //C請求S開始發送數據
4.S->C:PLAY response //S迴應該請求的信息
5. 第五步: 數據傳送播放中
S->C:發送流媒體數據 // 經過RTP協議傳送數據
6. 第六步:關閉會話,退出
6.C->S:TEARDOWN request //C請求關閉會話
6.S->C:TEARDOWN response //S迴應該請求
上述的過程只是標準的、友好的rtsp流程,但實際的需求中並不必定按此過程。
其中第三和第四步是必需的!第一步,只要服務器客戶端約定好,有哪些方法可用,則option請求能夠不要。第二步,若是咱們有其餘途徑獲得媒體初始化描述信息(好比http請求等等),則咱們也不須要經過rtsp中的describe請求來完成。