rtp伺服器是什麼
❶ RTSP英文全稱是什麼中文全稱是什麼功能是什麼
RTSP(Real Time Streaming Protocol),實時流傳輸協議,是TCP/IP協議體系中的一個應用層協議,由哥倫比亞大學、網景和RealNetworks公司提交的IETF RFC標准。該協議定義了一對多應用程序如何有效地通過IP網路傳送多媒體數據。RTSP在體系結構上位於RTP和RTCP之上,它使用TCP或RTP完成數據傳輸。HTTP與RTSP相比,HTTP傳送HTML,而RTSP傳送的是多媒體數據。HTTP請求由客戶機發出,伺服器作出響應;使用RTSP時,客戶機和伺服器都可以發出請求,即RTSP可以是雙向的。
❷ 什麼是RTSP
實時流協議RTSP(RealTimeStreamingProtocol)是由RealNetworks和Netscape共同提出的,該
協議定義了一對多應用程序如何有效地通過IP網路傳送多媒體數據。RTSP在體系結構上位於RTP
和RTCP之上,它使用TCP或RTP完成數據傳輸。HTTP與RTSP相比,HTTP傳送HTML,而RTP傳送的
是多媒體數據。HTTP請求由客戶機發出,伺服器作出響應;使用RTSP時,客戶機和伺服器都可
以發出請求,即RTSP可以是雙向的。
6.3 RTSP協議
實時流協議(RTSP)是應用級協議,控制實時數據的發送。RTSP提供了一個可擴展框架,使
實時數據,如音頻與視頻,的受控、點播成為可能。數據源包括現場數據與存儲在剪輯中數據
。該協議目的在於控制多個數據發送連接,為選擇發送通道,如UDP、組播UDP與TCP,提供途徑
,並為選擇基於RTP上發送機制提供方法。
6.3.1 簡介
6.3.1.1 目的
實時流協議(RTSP)建立並控制一個或幾個時間同步的連續流媒體。盡管連續媒體流與控制
流交*是可能的,通常它本身並不發送連續流。換言之,RTSP充當多媒體伺服器的網路遠程式控制
制。RTSP連接沒有綁定到傳輸層連接,如TCP。在RTSP連接期間,RTSP用戶可打開或關閉多個對
伺服器的可*傳輸連接以發出RTSP 請求。此外,可使用無連接傳輸協議,如UDP。RTSP流控制
的流可能用到RTP,但RTSP操作並不依賴用於攜帶連續媒體的傳輸機制。實時流協議在語法和操
作上與HTTP/1.1類似,因此HTTP的擴展機制大都可加入RTSP。協議支持的操作如下:
從媒體伺服器上檢索媒體:
用戶可通過HTTP或其它方法提交一個演示描述。如演示是組播,演示式就包含用於連續媒體
的的組播地址和埠。如演示僅通過單播發送給用戶,用戶為了安全應提供目的地址。
媒體伺服器邀請進入會議:
媒體伺服器可被邀請參加正進行的會議,或回放媒體,或記錄其中一部分,或全部。這種模
式在分布式教育應用上很有用,會議中幾方可輪流按遠程式控制制按鈕。
將媒體加到現成講座中:
如伺服器告訴用戶可獲得附加媒體內容,對現場講座顯得尤其有用。如HTTP/1.1中類似,RTSP
請求可由代理、通道與緩存處理。
6.3.1.2 協議特點
RTSP 特性如下:
可擴展性:
新方法和參數很容易加入RTSP。
易解析:
RTSP可由標准 HTTP或MIME解吸器解析。
安全:
RTSP使用網頁安全機制。
獨立於傳輸:
RTSP可使用不可*數據報協議(UDP)、可*數據報協議(RDP),如要實現應用級可*,可
使用可*流協議。
多伺服器支持:
每個流可放在不同伺服器上,用戶端自動同不同伺服器建立幾個並發控制連接,媒體同步在
傳輸層執行。
記錄設備控制:
協議可控制記錄和回放設備。
流控與會議開始分離:
僅要求會議初始化協議提供,或可用來創建唯一會議標識號。特殊情況下, SIP或H.323
可用來邀請伺服器入會。
適合專業應用:
通過SMPTE 時標,RTSP支持幀級精度,允許遠程數字編輯
演示描述中立:
協議沒強加特殊演示或元文件,可傳送所用格式類型;然而,演示描述至少必須包含一個RTSP
URI。
代理與防火牆友好:
協議可由應用和傳輸層防火牆處理。防火牆需要理解SETUP方法,為UDP媒體流打開一個"缺
口"。
HTTP友好:
此處,RTSP明智的採用HTTP觀念,使現在結構都可重用。結構包括Internet 內容選擇平台
(PICS)。由於在大多數情況下控制連續媒體需要伺服器狀態, RTSP不僅僅向HTTP 添加方法
。 適當的伺服器控制:
如用戶啟動一個流,他必須也可以停止一個流。
傳輸協調;
實際處理連續媒體流前,用戶 可協調傳輸方法。
性能協調:
如基本特徵無效,必須有一些清理機制讓用戶決定那種方法沒生效。這允許用戶提出適合的
用戶界面。
6.3.1.3擴展RTSP
由於不是所有媒體伺服器有著相同的功能,媒體伺服器有必要支持不同請求集。RTSP 可以
如下三種方式擴展,這里以改變大小排序:
以新參數擴展。如用戶需要拒絕通知,而方法擴展不支持,相應標記就加入要求的段中。
加入新方法。如信息接收者不理解請求,返回501錯誤代碼(還未實現),發送者不應再次
嘗試這種方法。用戶可使用OPTIONS方法查詢伺服器支持的方法。伺服器使用公共響應頭列出支
持的方法。
定義新版本協議,允許改變所有部分。(除了協議版本號位置)
6.3.1.4操作模式
每個演示和媒體流可用RTSP URL識別。演示組成的整個演示與媒體屬性由演示描述文件定義
。使用HTTP或其它途徑用戶可獲得這個文件,它沒有必要保存在媒體伺服器上。
為了說明,假設演示描述描述了多個演示,其中每個演示維持了一個公共時間軸。為簡化說
明,且不失一般性,假定演示描述的確包含這樣一個演示。演示可包含多個媒體流。除媒體參
數外,網路目標地址和埠也需要決定。下面區分幾種操作模式:
單播:
以用戶選擇的埠號將媒體發送到RTSP請求源。
組播,伺服器選擇地址:
媒體伺服器選擇組播地址和埠,這是現場直播或准點播常用的方式。
組播,用戶選擇地址:
如伺服器加入正在進行的組播會議,組播地址、埠和密匙由會議描述給出。
6.3.1.5 RTSP狀態
RTSP控制通過單獨協議發送的流,與控制通道無關。例如,RTSP控制可通過TCP連接,而數
據流通過UDP。因此,即使媒體伺服器沒有收到請求,數據也會繼續發送。在連接生命期,單個
媒體流可通過不同TCP連接順序發出請求來控制。所以,伺服器需要維持能聯系流與RTSP請求的
連接狀態。RTSP中很多方法與狀態無關,但下列方法在定義伺服器流資源的分配與應用上起著
重要的作用:
SETUP:
讓伺服器給流分配資源,啟動RTSP連接。
PLAY與RECORD:
啟動SETUP 分配流的數據傳輸。
PAUSE:
臨時停止流,而不釋放伺服器資源。
TEARDOWN:
釋放流的資源,RTSP連接停止。
標識狀態的RTSP方法使用連接頭段識別RTSP連接,為響應SETUP請求,伺服器連
接產生連接標識。
6.3.1.6 與其他協議關系
RTSP在功能上與HTTP有重疊,與HTTP相互作用體現在與流內容的初始接觸是通過網頁的。目
前的協議規范目的在於允許在網頁伺服器與實現RTSP媒體伺服器之間存在不同傳遞點。例如,
演示描述可通過HTTP和RTSP檢索,這降低了瀏覽器的往返傳遞,也允許獨立RTSP 伺服器與用戶
不全依*HTTP。
但是,RTSP與HTTP 的本質差別在於數據發送以不同協議進行。HTTP是不對稱協議,用戶發
出請求,伺服器作出響應。RTSP中,媒體用戶和伺服器都可發出請求,且其請求都是無狀態的
;在請求確認後很長時間內,仍可設置參數,控制媒體流。重用HTTP功能至少在兩個方面有好
處,即安全和代理。要求非常接近,在緩存、代理和授權上採用HTTP功能是有價值的。
當大多數實時媒體使用RTP作為傳輸協議時,RTSP沒有綁定到RTP。RTSP假設存在演示描述格
式可表示包含幾個媒體流的演示的靜態與臨時屬性。
6.3.2 協議參數
6.3.3 RTSP 信息
RTSP是基於文本的協議,採用ISO 10646 字元集,使用UTF-8編碼方案。行以CRLF中斷,但
接收者本身可將CR和LF解釋成行終止符。基於文本的協議使以自描述方式增加可選參數更容易
。由於參數的數量和命令的頻率出現較低,處理效率沒引起注意。如仔細研究,文本協議很容
易以腳本語言(如:Tcl、Visual Basic與Perl)實現研究原型。
10646字元集避免敏感字元集切換,但對應用來說不可見。RTCP也採用這種編碼方案。帶有
重要意義位的ISO 8859-1字元表示如100001x 10xxxxxx.。RTSP信息可通過任何低層傳輸協議
攜帶。
請求包括方法、方法作用於其上的對象和進一步描述方法的參數。方法也可設計為在伺服器
端只需要少量或不需要狀態維護。當信息體包含在信息中,信息體長度有如下因素決定:
不管實體頭段是否出現在信息中,不包括信息體的的響應信息總以頭段後第一和空行結束。
如出現內容長度頭段,其值以位元組計,表示信息體長度。如未出現頭段,其值為零。
伺服器關閉連接。
注意:RTSP目前並不支持HTTP/1.1"塊"傳輸編碼,需要有內容長度頭。假如返回適度演示描
述長度,即使動態產生,使塊傳輸編碼沒有必要,伺服器也應該能決定其長度。如有實體,即
使必須有內容長度,且長度沒顯式給出,規則可確保行為合理。
從用戶到伺服器端的請求信息在第一行內包括源採用的方法、源標識和所用協議版本。RTSP
定義了附加狀態代碼,而沒有定義任何HTTP代碼。
6.3.4 實體
如不受請求方法或響應狀態編碼限制,請求和響應信息可傳輸實體,實體由實體頭文件和試
題體組成,有些響應僅包括實體頭。在此,根據誰發送實體、誰接收實體,發送者和接收者可
分別指用戶和伺服器。
實體頭定義實體體可選元信息,如沒有實體體,指請求標識的資源。擴展頭機制允許定義附
加實體頭段,而不用改變協議,但這些段不能假定接收者能識別。不可識別頭段應被接收者忽
略,而讓代理轉發。
6.3.5 連接
RTSP請求可以幾種不同方式傳送:
1、持久傳輸連接,用於多個請求/響應傳輸。
2、每個請求/響應傳輸一個連接。
3、無連接模式。
傳輸連接類型由RTSP URI來定義。對 "rtsp" 方案,需要持續連接;而"rtspu"方案,調用
RTSP 請求發送,而不用建立連接。
不象HTTP,RTSP允許媒體伺服器給媒體用戶發送請求。然而,這僅在持久連接時才支持,否
則媒體伺服器沒有可*途徑到達用戶,這也是請求通過防火牆從媒體伺服器傳到用戶的唯一途
徑。
6.3.6 方法定義
方法記號表示資源上執行的方法,它區分大小寫。新方法可在將來定義,但不能以$開頭。
某些防火牆設計與其他環境可能要求伺服器插入RTSP方法和流數據。由於插入將使客戶端和
伺服器操作復雜,並強加附加開銷,除非有必要,應避免這樣做。插入二進制數據僅在RTSP通
過TCP傳輸時才可使用。流數據(如RTP包)用一個ASCII美圓符號封裝,後跟一個一位元組通道標
識,其後是封裝二進制數據的長度,兩位元組整數。
❸ RTP流媒體伺服器
所謂流媒體技術,是指將連續的影像和聲音信息經過壓縮處理後放在網站伺服器上,讓用戶能夠一邊下載一邊觀看、收聽(即所謂的「在線欣賞」),而不需要等整個壓縮文件下載到自己的機器上才可以欣賞的網路傳輸技術。目前,在這個領域中的競爭者主要有微軟、RealNetworks、Apple三家公司,例如微軟新近發布了Windows Media Services 9、RealNetworks公司新近發布的Helix Platform、Apple新近發布的Darwin streaming server 4.1,意圖在流媒體領域大幹一場。
❹ 流媒體伺服器介紹
流媒體伺服器的主要功能是以流式協議(RTP/RTSP、MMS、RTMP等)將視頻文件傳輸到客戶端,供用戶在線觀看;也可從視頻採集、壓縮軟體接收實時視頻流,再以流式協議直播給客戶端。典型的流媒體伺服器有微軟的Windows Media Service(WMS),它採用MMS協議接收、傳輸視頻,採用Windows Media Player(WMP)作為前端播放器;RealNetworks公司的Helix Server,採用RTP/RTSP協議接收、傳輸視頻,採用Real Player作為播放前端;Adobe公司的Flash Media Server,採用RTMP(RTMPT/RTMPE/RTMPS)協議接收、傳輸視頻,採用Flash Player作為播放前端。值得注意的是,隨著Adobe公司的Flash播放器的普及(根據Adobe官方數據,Flash播放器裝機量已高達99%以上),越來越多的網路視頻開始採用Flash播放器作為播放前端,因此,越來越多的企業開始採用兼容Flash播放器的流媒體伺服器,而開始淘汰其他類型的流媒體伺服器。支持Flash播放器的流媒體伺服器,除了Adobe Flash Media Server,還有Ultrant Flash Media Server流媒體伺服器軟體,以及基於Java語言的開源軟體Red5。
❺ volte中rtp和rtcp的區別
實時傳輸協議RTP(Realtime Transport Protocol):是針對Internet上多媒體 數據流的一個傳輸協議, 由IETF(Internet工程任務組)作為RFC1889發布。
RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間信息和實現流同步。
RTP的典型應用建立在UDP(User Datagram Protocol,用戶數據包協議)上,但也可以在TCP(Transfer Control Protocol,傳輸控制協議)或ATM(Asynchronous Transfer Mode,非同步傳輸模式)等其他協議之上工作。
RTP本身只保證實時數據的傳輸,並不能為按順序傳送 數據包提供可靠的傳送機制,也不提供 流量控制或 擁塞控制,它依靠RTCP提供這些服務。
實時傳輸控制協議RTCP(Realtime Transport Control Protocol):負責管理傳輸質量在當前應用進程之間交換控制信息。
在RTP會話期間,各參與者周期性地傳送RTCP包,包中含有已發送的數據包的數量、丟失的數據包的數量等統計資料,因此,伺服器可以利用這些信息動態地改變傳輸速率,甚至改變有效載荷類型。
RTP和RTCP配合使用,能以有效的反饋和最小的開銷使 傳輸效率最佳化,故特別適合傳送網上的實時數據。
❻ RTP/RTCP的2.工作流程
RTP協議從上層接收流媒體信息碼流(如H.263),裝配成RTP數據包發送給下層,下層協議提供RTP和RTCP的分流。如在UDP中,RTP使用一個偶數號埠,則相應的RTCP使用其後的奇數號埠。RTP數據包沒有長度限制,它的最大包長只受下層協議的限制。 一個RTP會話(Session)包括傳給某個指定目的地對(Destination Pair)的所有通信量,發送方可能包括多個。而從同一個同步源發出的RTP分組序列稱為流(Stream),一個RTP會話可能包含多個RTP流。一個RTP分組在伺服器端發送出去的時候總是要指定屬於哪個會話和流,在接收時也需要進行兩級分用,即會話分用和流分用。只有當RTP使用同步源標識(SSRC)和分組類型(PTYPE)把同一個流中的分組組合起來,才能夠使用序列號(Sequence Number)和時間戳(Timestamp)對分組進行排序和正確回放。
由於實時數據的獨有性,不同實時客戶可以共用一個RTP實時服務線程和一個RTCP實時服務線程,這樣可以大大減小伺服器的負擔,而每個文件客戶由於請求的文件不同,相應地對速度和開始時間的要求都可能不同,所以需要有自己獨有的RTP文件服務線程和RTCP文件服務線程。
RTP服務線程負責把實時數據流發送給客戶,RTCP服務線程根據RTP線程的統計數據,產生發送方報告給客戶。RTP線程和RTCP線程之間通過一段共享內存交互統計數據,對共享內存必須設置互斥體進行保護,防止出現錯誤讀寫。在這種方式下,伺服器可以根據每個用戶的不同請求和具體情況方便地提供不同的服務。 時間戳欄位是RTP首部中說明數據包時間的同步信息,是數據能以正確的時間順序恢復的關鍵。時間戳的值給出了分組中數據的第一個位元組的采樣時間(Sampling Instant),要求發送方時間戳的時鍾是連續、單調增長的,即使在沒有數據輸入或發送數據時也是如此。在靜默時,發送方不必發送數據,保持時間戳的增長,在接收端,由於接收到的數據分組的序號沒有丟失,就知道沒有發生數據丟失,而且只要比較前後分組的時間戳的差異,就可以確定輸出的時間間隔。
RTP規定一次會話的初始時間戳必須隨機選擇,但協議沒有規定時間戳的單位,也沒有規定該值的精確解釋,而是由負載類型來確定時鍾的顆粒,這樣各種應用類型可以根據需要選擇合適的輸出計時精度。
在RTP傳輸音頻數據時,一般選定邏輯時間戳速率與采樣速率相同,但是在傳輸視頻數據時,必須使時間戳速率大於每幀的一個滴答。如果數據是在同一時刻采樣的,協議標准還允許多個分組具有相同的時間戳值。
RTP協議沒有規定RTP分組的長度和發送數據的速度,因而需要根據具體情況調整伺服器端發送媒體數據的速度。對來自設備的實時數據可以採取等時間間隔訪問設備緩沖區,在有新數據輸入時發送數據的方式,時間戳的設置相對容易。對已經錄制好的本地硬碟上的媒體文件,以H.263格式的文件為例,由於文件本身不包含幀率信息,所以需要知道錄制時的幀率或者設置一個初始值,在發送數據的時候找出發送數據中的幀數目,根據幀率和預置值來計算時延,以適當的速度發送數據並設置時間戳信息。
RTCP的一個關鍵作用就是能讓接收方同步多個RTP流,例如:當音頻與視頻一起傳輸的時候,由於編碼的不同,RTP使用兩個流分別進行傳輸,這樣兩個流的時間戳以不同的速率運行,接收方必須同步兩個流,以保證聲音與影像的一致。為能進行流同步,RTCP要求發送方給每個傳送一個唯一的標識數據源的規范名(Canonical Name),盡管由一個數據源發出的不同的流具有不同的同步源標識(SSRC),但具有相同的規范名,這樣接收方就知道哪些流是有關聯的。而發送方報告報文所包含的信息可被接收方用於協調兩個流中的時間戳值。發送方報告中含有一個以網路時間協議NTP(Network Time Protocol)格式表示的絕對時間值,接著RTCP報告中給出一個RTP時間戳值,產生該值的時鍾就是產生RTP分組中的TimeStamp欄位的那個時鍾。由於發送方發出的所有流和發送方報告都使用同一個絕對時鍾,接收方就可以比較來自同一數據源的兩個流的絕對時間,從而確定如何將一個流中的時間戳值映射為另一個流中的時間戳值。 伺服器軟體模型主要有兩種,即並發伺服器和循環伺服器。循環伺服器(Iterative Server)是指在一個時刻只處理一個請求的伺服器。並發伺服器(Concurrent Server)是指在一個時刻可以處理多個請求的伺服器。事實上,多數伺服器沒有用於同時處理多個請求的冗餘設備,而是提供一種表面上的並發性,方法是依靠執行多個線程,每個線程處理一個請求,從客戶的角度看,伺服器就像在並發地與多個客戶通信。
由於流媒體服務時間的不定性和數據交互實時性的請求,流媒體伺服器一般採用並發伺服器演算法。本文構建了一個基本的流媒體伺服器,能夠同時響應多個用戶的請求,把本地硬碟流媒體文件或實時數據流(H.263格式)發送給用戶。在應用中,把客戶分為請求實時數據的實時客戶和請求文件數據的文件客戶兩類。主要演算法為:
(1)打開設備,分配資源。當設備准備好時,創建一個RTP實時服務線程和一個RTCP實時服務線程。
(2)創建一個UDP套接字並將其綁定到所提供服務的地址之上。
(3)反復調用接收模塊,接收來自客戶的RTCP報告,根據其類型做出響應。對新實時客戶的請求,把客戶地址添加到實時服務的客戶列表中,對新文件客戶的請求,則創建一個新RTP文件服務線程和一個新RTCP文件服務線程;對已經在服務中的客戶則根據RTCP報告的內容調整服務。
RTP實時服務線程1:初始化客戶列表和RTP首部。
RTP實時服務線程2:從設備讀取媒體數據,把數據發送給實時服務列表中的客戶。
RTP實時服務線程3:更新RTP首部和統計數據。
RTP實時服務線程4:計算延時,重復第二步。
RTCP實時服務線程1:初始化RTCP首部。
RTCP實時服務線程2:發送發送方報告給實時服務列表中的客戶。
RTCP實時服務線程3:計算延時,重復第二步。
RTP文件服務線程1:初始化RTP首部。
RTP文件服務線程2.:從文件讀取媒體數據,把數據發送給客戶。
RTP文件服務線程3:更新已發送數據的統計信息,為生成發送方報告做准備。
RTP文件服務線程4:計算延時,調整發送速度,正常情況下開始重復第二步。
RTCP文件服務線程1:初始化RTCP首部,發送一個源描述(SDES)報文給客戶。
RTCP文件服務線程2:根據已發送數據的統計信息生成發送方報告,發送給客戶。
RTCP文件服務線程3:計算延時,正常情況下開始重復第一步。
❼ RTP是什麼協議作用是什麼
路由選擇表協議(Routing
Table
Protocol)。基於
RIP(路由選擇信息協議)的
VINES
路由協議,其作用是發送網路拓撲信息和協助
VINES
伺服器尋找相鄰的客戶機、伺服器和路由器。用延遲作為路由選擇的計量標准。
❽ rtsp是什麼
這是流媒體連接方式
是一種在線看電影的形式
❾ 什麼是RTCP/RTP
RTP(Real-time Transport Protocol)是用於Internet上針對多媒體數據流的一種傳輸協議。RTP被定義為在一對一或一對多的傳輸情況下工作。其目的是提供時間信息和實現流同步。但RTP通常使用UDP來傳送數據。但RTP也可以在TCP或ATM等其他協議之上工作。當應用程序開始一個RTP會話時將使用兩個埠:一個給RTP一個給 RTCP。RTP本身並不能為接順序傳送數據包提供可靠的傳送機制。也不提供流量控制或擁塞控制。它依靠RTCP提供這些服務。通常RTP演算法並不作為一個獨立的網路層來實現。而是作為應用程序代碼的一部分。實時傳送控制協議RTCP.RTCP(Real-time Transport Control Protocol)和RTP提供流量控制和擁塞控制。在RTP會話期間,各參與者周期性地傳送RTCP包.RTCP包中含有已發送的數據包的數量、丟失的數據包的數量等統計資料.因此,伺服器可以利用這些信息動態地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,它們能以有效的反饋和最小的開銷使傳輸效率最佳化。因而特別適合傳送網上的實時數據。
❿ rtsp是什麼啊
實時流協議RTSP(RealTimeStreamingProtocol)是由RealNetworks和Netscape共同提出的,該協議定義了一對多應用程序如何有效地通過IP網路傳送多媒體數據。RTSP在體系結構上位於RTP和RTCP之上,它使用TCP或RTP完成數據傳輸。HTTP與RTSP相比,HTTP傳送HTML,而RTP傳送的是多媒體數據。HTTP請求由客戶機發出,伺服器作出響應;使用RTSP時,客戶機和伺服器都可以發出請求,即RTSP可以是雙向的。
6.3 RTSP協議
實時流協議(RTSP)是應用級協議,控制實時數據的發送。RTSP提供了一個可擴展框架,使實時數據,如音頻與視頻,的受控、點播成為可能。數據源包括現場數據與存儲在剪輯中數據。該協議目的在於控制多個數據發送連接,為選擇發送通道,如UDP、組播UDP與TCP,提供途徑,並為選擇基於RTP上發送機制提供方法。
6.3.1 簡介
6.3.1.1 目的
實時流協議(RTSP)建立並控制一個或幾個時間同步的連續流媒體。盡管連續媒體流與控制流交叉是可能的,通常它本身並不發送連續流。換言之,RTSP充當多媒體伺服器的網路遠程式控制制。RTSP連接沒有綁定到傳輸層連接,如TCP。在RTSP連接期間,RTSP用戶可打開或關閉多個對伺服器的可靠傳輸連接以發出RTSP 請求。此外,可使用無連接傳輸協議,如UDP。RTSP流控制的流可能用到RTP,但RTSP操作並不依賴用於攜帶連續媒體的傳輸機制。實時流協議在語法和操作上與HTTP/1.1類似,因此HTTP的擴展機制大都可加入RTSP。協議支持的操作如下:
從媒體伺服器上檢索媒體:
用戶可通過HTTP或其它方法提交一個演示描述。如演示是組播,演示式就包含用於連續媒體的的組播地址和埠。如演示僅通過單播發送給用戶,用戶為了安全應提供目的地址。
媒體伺服器邀請進入會議:
媒體伺服器可被邀請參加正進行的會議,或回放媒體,或記錄其中一部分,或全部。這種模式在分布式教育應用上很有用,會議中幾方可輪流按遠程式控制制按鈕。
將媒體加到現成講座中:
如伺服器告訴用戶可獲得附加媒體內容,對現場講座顯得尤其有用。如HTTP/1.1中類似,RTSP請求可由代理、通道與緩存處理。
6.3.1.2 協議特點
RTSP 特性如下:
可擴展性:
新方法和參數很容易加入RTSP。
易解析:
RTSP可由標准 HTTP或MIME解吸器解析。
安全:
RTSP使用網頁安全機制。
獨立於傳輸:
RTSP可使用不可靠數據報協議(UDP)、可靠數據報協議(RDP),如要實現應用級可靠,可使用可靠流協議。
多伺服器支持:
每個流可放在不同伺服器上,用戶端自動同不同伺服器建立幾個並發控制連接,媒體同步在傳輸層執行。
記錄設備控制:
協議可控制記錄和回放設備。
流控與會議開始分離:
僅要求會議初始化協議提供,或可用來創建唯一會議標識號。特殊情況下, SIP或H.323
可用來邀請伺服器入會。
適合專業應用:
通過SMPTE 時標,RTSP支持幀級精度,允許遠程數字編輯
演示描述中立:
協議沒強加特殊演示或元文件,可傳送所用格式類型;然而,演示描述至少必須包含一個RTSP URI。
代理與防火牆友好:
協議可由應用和傳輸層防火牆處理。防火牆需要理解SETUP方法,為UDP媒體流打開一個"缺口"。
HTTP友好:
此處,RTSP明智的採用HTTP觀念,使現在結構都可重用。結構包括Internet 內容選擇平台(PICS)。由於在大多數情況下控制連續媒體需要伺服器狀態, RTSP不僅僅向HTTP 添加方法。
適當的伺服器控制:
如用戶啟動一個流,他必須也可以停止一個流。
傳輸協調;
實際處理連續媒體流前,用戶 可協調傳輸方法。
性能協調:
如基本特徵無效,必須有一些清理機制讓用戶決定那種方法沒生效。這允許用戶提出適合的用戶界面。
6.3.1.3擴展RTSP
由於不是所有媒體伺服器有著相同的功能,媒體伺服器有必要支持不同請求集。RTSP 可以如下三種方式擴展,這里以改變大小排序:
以新參數擴展。如用戶需要拒絕通知,而方法擴展不支持,相應標記就加入要求的段中。
加入新方法。如信息接收者不理解請求,返回501錯誤代碼(還未實現),發送者不應再次嘗試這種方法。用戶可使用OPTIONS方法查詢伺服器支持的方法。伺服器使用公共響應頭列出支持的方法。
定義新版本協議,允許改變所有部分。(除了協議版本號位置)
6.3.1.4操作模式
每個演示和媒體流可用RTSP URL識別。演示組成的整個演示與媒體屬性由演示描述文件定義。使用HTTP或其它途徑用戶可獲得這個文件,它沒有必要保存在媒體伺服器上。
為了說明,假設演示描述描述了多個演示,其中每個演示維持了一個公共時間軸。為簡化說明,且不失一般性,假定演示描述的確包含這樣一個演示。演示可包含多個媒體流。除媒體參數外,網路目標地址和埠也需要決定。下面區分幾種操作模式:
單播:
以用戶選擇的埠號將媒體發送到RTSP請求源。
組播,伺服器選擇地址:
媒體伺服器選擇組播地址和埠,這是現場直播或准點播常用的方式。
組播,用戶選擇地址:
如伺服器加入正在進行的組播會議,組播地址、埠和密匙由會議描述給出。
6.3.1.5 RTSP狀態
RTSP控制通過單獨協議發送的流,與控制通道無關。例如,RTSP控制可通過TCP連接,而數據流通過UDP。因此,即使媒體伺服器沒有收到請求,數據也會繼續發送。在連接生命期,單個媒體流可通過不同TCP連接順序發出請求來控制。所以,伺服器需要維持能聯系流與RTSP請求的連接狀態。RTSP中很多方法與狀態無關,但下列方法在定義伺服器流資源的分配與應用上起著重要的作用:
SETUP:
讓伺服器給流分配資源,啟動RTSP連接。
PLAY與RECORD:
啟動SETUP 分配流的數據傳輸。
PAUSE:
臨時停止流,而不釋放伺服器資源。
TEARDOWN:
釋放流的資源,RTSP連接停止。
標識狀態的RTSP方法使用連接頭段識別RTSP連接,為響應SETUP請求,伺服器連
接產生連接標識。
6.3.1.6 與其他協議關系
RTSP在功能上與HTTP有重疊,與HTTP相互作用體現在與流內容的初始接觸是通過網頁的。目前的協議規范目的在於允許在網頁伺服器與實現RTSP媒體伺服器之間存在不同傳遞點。例如,演示描述可通過HTTP和RTSP檢索,這降低了瀏覽器的往返傳遞,也允許獨立RTSP 伺服器與用戶不全依靠HTTP。
但是,RTSP與HTTP 的本質差別在於數據發送以不同協議進行。HTTP是不對稱協議,用戶發出請求,伺服器作出響應。RTSP中,媒體用戶和伺服器都可發出請求,且其請求都是無狀態的;在請求確認後很長時間內,仍可設置參數,控制媒體流。重用HTTP功能至少在兩個方面有好處,即安全和代理。要求非常接近,在緩存、代理和授權上採用HTTP功能是有價值的。
當大多數實時媒體使用RTP作為傳輸協議時,RTSP沒有綁定到RTP。RTSP假設存在演示描述格式可表示包含幾個媒體流的演示的靜態與臨時屬性。
6.3.2 協議參數
6.3.3 RTSP 信息
RTSP是基於文本的協議,採用ISO 10646 字元集,使用UTF-8編碼方案。行以CRLF中斷,但接收者本身可將CR和LF解釋成行終止符。基於文本的協議使以自描述方式增加可選參數更容易。由於參數的數量和命令的頻率出現較低,處理效率沒引起注意。如仔細研究,文本協議很容易以腳本語言(如:Tcl、Visual Basic與Perl)實現研究原型。
10646字元集避免敏感字元集切換,但對應用來說不可見。RTCP也採用這種編碼方案。帶有重要意義位的ISO 8859-1字元表示如100001x 10xxxxxx.。RTSP信息可通過任何低層傳輸協議攜帶。
請求包括方法、方法作用於其上的對象和進一步描述方法的參數。方法也可設計為在伺服器端只需要少量或不需要狀態維護。當信息體包含在信息中,信息體長度有如下因素決定:
不管實體頭段是否出現在信息中,不包括信息體的的響應信息總以頭段後第一和空行結束。
如出現內容長度頭段,其值以位元組計,表示信息體長度。如未出現頭段,其值為零。
伺服器關閉連接。
注意:RTSP目前並不支持HTTP/1.1"塊"傳輸編碼,需要有內容長度頭。假如返回適度演示描述長度,即使動態產生,使塊傳輸編碼沒有必要,伺服器也應該能決定其長度。如有實體,即使必須有內容長度,且長度沒顯式給出,規則可確保行為合理。
從用戶到伺服器端的請求信息在第一行內包括源採用的方法、源標識和所用協議版本。RTSP定義了附加狀態代碼,而沒有定義任何HTTP代碼。
6.3.4 實體
如不受請求方法或響應狀態編碼限制,請求和響應信息可傳輸實體,實體由實體頭文件和試題體組成,有些響應僅包括實體頭。在此,根據誰發送實體、誰接收實體,發送者和接收者可分別指用戶和伺服器。
實體頭定義實體體可選元信息,如沒有實體體,指請求標識的資源。擴展頭機制允許定義附加實體頭段,而不用改變協議,但這些段不能假定接收者能識別。不可識別頭段應被接收者忽略,而讓代理轉發。
6.3.5 連接
RTSP請求可以幾種不同方式傳送:
1、持久傳輸連接,用於多個請求/響應傳輸。
2、每個請求/響應傳輸一個連接。
3、無連接模式。
傳輸連接類型由RTSP URI來定義。對 "rtsp" 方案,需要持續連接;而"rtspu"方案,調用RTSP 請求發送,而不用建立連接。
不象HTTP,RTSP允許媒體伺服器給媒體用戶發送請求。然而,這僅在持久連接時才支持,否則媒體伺服器沒有可靠途徑到達用戶,這也是請求通過防火牆從媒體伺服器傳到用戶的唯一途徑。
6.3.6 方法定義
方法記號表示資源上執行的方法,它區分大小寫。新方法可在將來定義,但不能以$開頭。
某些防火牆設計與其他環境可能要求伺服器插入RTSP方法和流數據。由於插入將使客戶端和伺服器操作復雜,並強加附加開銷,除非有必要,應避免這樣做。插入二進制數據僅在RTSP通過TCP傳輸時才可使用。流數據(如RTP包)用一個ASCII美圓符號封裝,後跟一個一位元組通道標識,其後是封裝二進制數據的長度,兩位元組整數。流數據緊