目錄
- 一、介紹
- 二、RTSP與HTTP
- 三、RTSP推流基本過程
- 1、OPTION 查詢服務器端可用方法
- 1.1、Client 請求
- 1.2、Server 回復
- 2、ANNOUNCE 發送媒體描述信息
- 2.1、Client 請求
- 2.2、Server 回復
- 3、SETUP建立RTSP會話
- 3.1、Client 請求(視頻流)
- 3.2、Server 回復(視頻流)
- 3.3、Client 請求(音頻流)
- 3.4、Server 回復(音頻流)
- 4、RECORD請求傳送數據
- 4.1、Client 請求
- 4.2、Server 回復
- 5、RTCP 播放控制、RTP視頻數據
- 5.1、Client 發送(RTCP)
- 5.2、Client 發送(RTP)
- 6、RTCP 播放控制、RTP音頻數據
- 6.1、Client 發送(RTCP)
- 6.2、Client 發送(RTP)
- 7、TEARDOWN關閉會話
- 7.1、Client 請求
- 7.2、Server 回復
- 四、RTSP拉流基本過程
- 1、OPTION 查詢服務器端可用方法
- 1.1、Client 請求
- 1.2、Server 回復
- 2、DESCRIBE 獲取媒體描述信息
- 2.1、Client 請求
- 2.2、Server 回復
- 3、SETUP建立RTSP會話
- 3.1、Client 請求(視頻流)
- 3.2、Server 回復(視頻流)
- 3.3、Client 請求(音頻流)
- 3.4、Server 回復(音頻流)
- 4、PLAY請求開始傳送數據
- 4.1、Client 請求
- 4.2、Server 回復
- 5、RTP數據傳送播放
- 5.1、Server 發來 (視頻流)
- 5.2、Server 發來 (音頻流)
- 6、TEARDOWN關閉會話,退出
一、介紹
RTSP(Real-Time Stream Protocol )是一種基于文本的應用層協議,在語法及一些消息參數等方面,
RTSP協議與HTTP協議類似。
RTSP被用于建立的控制媒體流的傳輸,它為多媒體服務扮演“網絡遠程控制”的?色。盡管有時可以把
RTSP控制信息和媒體數據流交織在一起傳送,但一般情況RTSP本身并不用于轉送媒體流數據。媒體數據
的傳送可通過RTP/RTCP等協議來完成。
一次基本的RTSP操作過程是:首先,客戶端連接到流服務器并發送一個RTSP描述命令(DESCRIBE)。流
服務器通過一個SDP描述來進行反饋,反饋信息包括流數量、媒體類型等信息。客戶端再分析該SDP描
述,并為會話中的每一個流發送一個RTSP建立命令(SETUP),RTSP建立命令告訴服務器客戶端用于接收
媒體數據的端口。流媒體連接建立完成后,客戶端發送一個播放命令(PLAY),服務器就開始在UDP上傳送
媒體流(RTP包)到客戶端。 在播放過程中客戶端還可以向服務器發送命令來控制快進、快退和暫停等。
最后,客戶端可發送一個終止命令(TERADOWN)來結束流媒體會話。
二、RTSP與HTTP
- RTSP引入了幾種新的方法,比如DESCRIBE、PLAY、SETUP 等,并且有不同的協議標識符,RTSP
為rtsp 1.0,HTTP為http 1.1。 - HTTP是無狀態的協議,而RTSP為每個會話保持狀態 session的概念。
- RTSP協議的客戶端和服務器端都可以發送Request請求,而在HTTP 協議中,只有客戶端能發送
Request請求。 - 在RTSP協議中,載荷數據一般是通過帶外方式來傳送的(除了交織的情況),及通過RTP協議在不同的
通道中來傳送載荷數據。而HTTP協議的載荷數據都是通過帶內方式傳送的,比如請求的網頁數據是在回應
的消息體中攜帶的。 - 使用ISO 10646(UTF-8) 而不是ISO 8859-1,以配合當前HTML的國際化。
- RTSP使用URI請求時包含絕對URI。而由于歷史原因造成的向后兼容性問題,HTTP/1.1只在請求中包
含絕對路徑,把主機名放入單獨的標題域中。
三、RTSP推流基本過程
1、OPTION 查詢服務器端可用方法
1.1、Client 請求
1.2、Server 回復
2、ANNOUNCE 發送媒體描述信息
2.1、Client 請求
2.2、Server 回復
3、SETUP建立RTSP會話
3.1、Client 請求(視頻流)
3.2、Server 回復(視頻流)
3.3、Client 請求(音頻流)
3.4、Server 回復(音頻流)
4、RECORD請求傳送數據
4.1、Client 請求
4.2、Server 回復
5、RTCP 播放控制、RTP視頻數據
5.1、Client 發送(RTCP)
5.2、Client 發送(RTP)
6、RTCP 播放控制、RTP音頻數據
6.1、Client 發送(RTCP)
6.2、Client 發送(RTP)
7、TEARDOWN關閉會話
7.1、Client 請求
7.2、Server 回復
四、RTSP拉流基本過程
1、OPTION 查詢服務器端可用方法
1.1、Client 請求
1.2、Server 回復
2、DESCRIBE 獲取媒體描述信息
2.1、Client 請求
2.2、Server 回復
3、SETUP建立RTSP會話
3.1、Client 請求(視頻流)
3.2、Server 回復(視頻流)
3.3、Client 請求(音頻流)
3.4、Server 回復(音頻流)
4、PLAY請求開始傳送數據
4.1、Client 請求
4.2、Server 回復
5、RTP數據傳送播放
5.1、Server 發來 (視頻流)
5.2、Server 發來 (音頻流)
6、TEARDOWN關閉會話,退出
客戶端發送TEARDOWN請求結束會話,與推流一樣。