百科解釋
實時流協(xié)議RTSP是由RealNetworks和Netscape共同提出的,該協(xié)議定義了一對多應(yīng)用程序如何有效地通過IP網(wǎng)絡(luò)傳送多媒體數(shù)據(jù)。RTSP在體系結(jié)構(gòu)上位于RTP和RTCP之上,它使用TCP或RTP完成數(shù)據(jù)傳輸。 HTTP與RTSP相比,HTTP傳送HTML,而RTP傳送的 是多媒體數(shù)據(jù)。HTTP請求由客戶機(jī)發(fā)出,服務(wù)器作出響應(yīng);使用RTSP時,客戶機(jī)和服務(wù)器都可 以發(fā)出請求,即RTSP可以是雙向的。 6.3 RTSP協(xié)議 實時流協(xié)議(RTSP)是應(yīng)用級協(xié)議,控制實時數(shù)據(jù)的發(fā)送。RTSP提供了一個可擴(kuò)展框架,使 實時數(shù)據(jù),如音頻與視頻,的受控、點(diǎn)播成為可能。數(shù)據(jù)源包括現(xiàn)場數(shù)據(jù)與存儲在剪輯中數(shù)據(jù) 。該協(xié)議目的在于控制多個數(shù)據(jù)發(fā)送連接,為選擇發(fā)送通道,如UDP、組播UDP與TCP,提供途徑 ,并為選擇基于RTP上發(fā)送機(jī)制提供方法。 6.3.1 簡介 6.3.1.1 目的 實時流協(xié)議(RTSP)建立并控制一個或幾個時間同步的連續(xù)流媒體。盡管連續(xù)媒體流與控制 流交*是可能的,通常它本身并不發(fā)送連續(xù)流。換言之,RTSP充當(dāng)多媒體服務(wù)器的網(wǎng)絡(luò)遠(yuǎn)程控 制。RTSP連接沒有綁定到傳輸層連接,如TCP。在RTSP連接期間,RTSP用戶可打開或關(guān)閉多個對 服務(wù)器的可*傳輸連接以發(fā)出RTSP 請求。此外,可使用無連接傳輸協(xié)議,如UDP。RTSP流控制 的流可能用到RTP,但RTSP操作并不依賴用于攜帶連續(xù)媒體的傳輸機(jī)制。實時流協(xié)議在語法和操 作上與HTTP/1.1類似,因此HTTP的擴(kuò)展機(jī)制大都可加入RTSP。協(xié)議支持的操作如下: 從媒體服務(wù)器上檢索媒體: 用戶可通過HTTP或其它方法提交一個演示描述。如演示是組播,演示式就包含用于連續(xù)媒體 的的組播地址和端口。如演示僅通過單播發(fā)送給用戶,用戶為了安全應(yīng)提供目的地址。 媒體服務(wù)器邀請進(jìn)入會議: 媒體服務(wù)器可被邀請參加正進(jìn)行的會議,或回放媒體,或記錄其中一部分,或全部。這種模 式在分布式教育應(yīng)用上很有用,會議中幾方可輪流按遠(yuǎn)程控制按鈕。 將媒體加到現(xiàn)成講座中: 如服務(wù)器告訴用戶可獲得附加媒體內(nèi)容,對現(xiàn)場講座顯得尤其有用。如HTTP/1.1中類似,RTSP 請求可由代理、通道與緩存處理。 6.3.1.2 協(xié)議特點(diǎn) RTSP 特性如下: 可擴(kuò)展性: 新方法和參數(shù)很容易加入RTSP。 易解析: RTSP可由標(biāo)準(zhǔn) HTTP或MIME解吸器解析。 安全: RTSP使用網(wǎng)頁安全機(jī)制。 獨(dú)立于傳輸: RTSP可使用不可*數(shù)據(jù)報協(xié)議(UDP)、可*數(shù)據(jù)報協(xié)議(RDP),如要實現(xiàn)應(yīng)用級可*,可 使用可*流協(xié)議。 多服務(wù)器支持: 每個流可放在不同服務(wù)器上,用戶端自動同不同服務(wù)器建立幾個并發(fā)控制連接,媒體同步在 傳輸層執(zhí)行。 記錄設(shè)備控制: 協(xié)議可控制記錄和回放設(shè)備。 流控與會議開始分離: 僅要求會議初始化協(xié)議提供,或可用來創(chuàng)建唯一會議標(biāo)識號。特殊情況下, SIP或H.323 可用來邀請服務(wù)器入會。 適合專業(yè)應(yīng)用: 通過SMPTE 時標(biāo),RTSP支持幀級精度,允許遠(yuǎn)程數(shù)字編輯 演示描述中立: 協(xié)議沒強(qiáng)加特殊演示或元文件,可傳送所用格式類型;然而,演示描述至少必須包含一個RTSP URI。 代理與防火墻友好: 協(xié)議可由應(yīng)用和傳輸層防火墻處理。防火墻需要理解SETUP方法,為UDP媒體流打開一個"缺 口"。 HTTP友好: 此處,RTSP明智的采用HTTP觀念,使現(xiàn)在結(jié)構(gòu)都可重用。結(jié)構(gòu)包括Internet 內(nèi)容選擇平臺 (PICS)。由于在大多數(shù)情況下控制連續(xù)媒體需要服務(wù)器狀態(tài), RTSP不僅僅向HTTP 添加方法 。 適當(dāng)?shù)姆⻊?wù)器控制: 如用戶啟動一個流,他必須也可以停止一個流。 傳輸協(xié)調(diào); 實際處理連續(xù)媒體流前,用戶 可協(xié)調(diào)傳輸方法。 性能協(xié)調(diào): 如基本特征無效,必須有一些清理機(jī)制讓用戶決定那種方法沒生效。這允許用戶提出適合的 用戶界面。 6.3.1.3擴(kuò)展RTSP 由于不是所有媒體服務(wù)器有著相同的功能,媒體服務(wù)器有必要支持不同請求集。RTSP 可以 如下三種方式擴(kuò)展,這里以改變大小排序: 以新參數(shù)擴(kuò)展。如用戶需要拒絕通知,而方法擴(kuò)展不支持,相應(yīng)標(biāo)記就加入要求的段中。 加入新方法。如信息接收者不理解請求,返回501錯誤代碼(還未實現(xiàn)),發(fā)送者不應(yīng)再次 嘗試這種方法。用戶可使用OPTIONS方法查詢服務(wù)器支持的方法。服務(wù)器使用公共響應(yīng)頭列出支 持的方法。 定義新版本協(xié)議,允許改變所有部分。(除了協(xié)議版本號位置) 6.3.1.4操作模式 每個演示和媒體流可用RTSP URL識別。演示組成的整個演示與媒體屬性由演示描述文件定義 。使用HTTP或其它途徑用戶可獲得這個文件,它沒有必要保存在媒體服務(wù)器上。 為了說明,假設(shè)演示描述描述了多個演示,其中每個演示維持了一個公共時間軸。為簡化說 明,且不失一般性,假定演示描述的確包含這樣一個演示。演示可包含多個媒體流。除媒體參 數(shù)外,網(wǎng)絡(luò)目標(biāo)地址和端口也需要決定。下面區(qū)分幾種操作模式: 單播: 以用戶選擇的端口號將媒體發(fā)送到RTSP請求源。 組播,服務(wù)器選擇地址: 媒體服務(wù)器選擇組播地址和端口,這是現(xiàn)場直播或準(zhǔn)點(diǎn)播常用的方式。 組播,用戶選擇地址: 如服務(wù)器加入正在進(jìn)行的組播會議,組播地址、端口和密匙由會議描述給出。 6.3.1.5 RTSP狀態(tài) RTSP控制通過單獨(dú)協(xié)議發(fā)送的流,與控制通道無關(guān)。例如,RTSP控制可通過TCP連接,而數(shù) 據(jù)流通過UDP。因此,即使媒體服務(wù)器沒有收到請求,數(shù)據(jù)也會繼續(xù)發(fā)送。在連接生命期,單個 媒體流可通過不同TCP連接順序發(fā)出請求來控制。所以,服務(wù)器需要維持能聯(lián)系流與RTSP請求的 連接狀態(tài)。RTSP中很多方法與狀態(tài)無關(guān),但下列方法在定義服務(wù)器流資源的分配與應(yīng)用上起著 重要的作用: SETUP: 讓服務(wù)器給流分配資源,啟動RTSP連接。 PLAY與RECORD: 啟動SETUP 分配流的數(shù)據(jù)傳輸。 PAUSE: 臨時停止流,而不釋放服務(wù)器資源。 TEARDOWN: 釋放流的資源,RTSP連接停止。 標(biāo)識狀態(tài)的RTSP方法使用連接頭段識別RTSP連接,為響應(yīng)SETUP請求,服務(wù)器連 接產(chǎn)生連接標(biāo)識。 6.3.1.6 與其他協(xié)議關(guān)系 RTSP在功能上與HTTP有重疊,與HTTP相互作用體現(xiàn)在與流內(nèi)容的初始接觸是通過網(wǎng)頁的。目 前的協(xié)議規(guī)范目的在于允許在網(wǎng)頁服務(wù)器與實現(xiàn)RTSP媒體服務(wù)器之間存在不同傳遞點(diǎn)。例如, 演示描述可通過HTTP和RTSP檢索,這降低了瀏覽器的往返傳遞,也允許獨(dú)立RTSP 服務(wù)器與用戶 不全依*HTTP。 但是,RTSP與HTTP 的本質(zhì)差別在于數(shù)據(jù)發(fā)送以不同協(xié)議進(jìn)行。HTTP是不對稱協(xié)議,用戶發(fā) 出請求,服務(wù)器作出響應(yīng)。RTSP中,媒體用戶和服務(wù)器都可發(fā)出請求,且其請求都是無狀態(tài)的 ;在請求確認(rèn)后很長時間內(nèi),仍可設(shè)置參數(shù),控制媒體流。重用HTTP功能至少在兩個方面有好 處,即安全和代理。要求非常接近,在緩存、代理和授權(quán)上采用HTTP功能是有價值的。 當(dāng)大多數(shù)實時媒體使用RTP作為傳輸協(xié)議時,RTSP沒有綁定到RTP。RTSP假設(shè)存在演示描述格 式可表示包含幾個媒體流的演示的靜態(tài)與臨時屬性。 6.3.2 協(xié)議參數(shù) 6.3.3 RTSP 信息 RTSP是基于文本的協(xié)議,采用ISO 10646 字符集,使用UTF-8編碼方案。行以CRLF中斷,但 接收者本身可將CR和LF解釋成行終止符。基于文本的協(xié)議使以自描述方式增加可選參數(shù)更容易 。由于參數(shù)的數(shù)量和命令的頻率出現(xiàn)較低,處理效率沒引起注意。如仔細(xì)研究,文本協(xié)議很容 易以腳本語言(如:Tcl、Visual Basic與Perl)實現(xiàn)研究原型。 10646字符集避免敏感字符集切換,但對應(yīng)用來說不可見。RTCP也采用這種編碼方案。帶有 重要意義位的ISO 8859-1字符表示如100001x 10xxxxxx.。RTSP信息可通過任何低層傳輸協(xié)議 攜帶。 請求包括方法、方法作用于其上的對象和進(jìn)一步描述方法的參數(shù)。方法也可設(shè)計為在服務(wù)器 端只需要少量或不需要狀態(tài)維護(hù)。當(dāng)信息體包含在信息中,信息體長度有如下因素決定: 不管實體頭段是否出現(xiàn)在信息中,不包括信息體的的響應(yīng)信息總以頭段后第一和空行結(jié)束。 如出現(xiàn)內(nèi)容長度頭段,其值以字節(jié)計,表示信息體長度。如未出現(xiàn)頭段,其值為零。 服務(wù)器關(guān)閉連接。 注意:RTSP目前并不支持HTTP/1.1"塊"傳輸編碼,需要有內(nèi)容長度頭。假如返回適度演示描 述長度,即使動態(tài)產(chǎn)生,使塊傳輸編碼沒有必要,服務(wù)器也應(yīng)該能決定其長度。如有實體,即 使必須有內(nèi)容長度,且長度沒顯式給出,規(guī)則可確保行為合理。 從用戶到服務(wù)器端的請求信息在第一行內(nèi)包括源采用的方法、源標(biāo)識和所用協(xié)議版本。RTSP 定義了附加狀態(tài)代碼,而沒有定義任何HTTP代碼。 6.3.4 實體 如不受請求方法或響應(yīng)狀態(tài)編碼限制,請求和響應(yīng)信息可傳輸實體,實體由實體頭文件和試 題體組成,有些響應(yīng)僅包括實體頭。在此,根據(jù)誰發(fā)送實體、誰接收實體,發(fā)送者和接收者可 分別指用戶和服務(wù)器。 實體頭定義實體體可選元信息,如沒有實體體,指請求標(biāo)識的資源。擴(kuò)展頭機(jī)制允許定義附 加實體頭段,而不用改變協(xié)議,但這些段不能假定接收者能識別。不可識別頭段應(yīng)被接收者忽 略,而讓代理轉(zhuǎn)發(fā)。 6.3.5 連接 RTSP請求可以幾種不同方式傳送: 1、持久傳輸連接,用于多個請求/響應(yīng)傳輸。 2、每個請求/響應(yīng)傳輸一個連接。 3、無連接模式。 傳輸連接類型由RTSP URI來定義。對 "rtsp" 方案,需要持續(xù)連接;而"rtspu"方案,調(diào)用 RTSP 請求發(fā)送,而不用建立連接。 不象HTTP,RTSP允許媒體服務(wù)器給媒體用戶發(fā)送請求。然而,這僅在持久連接時才支持,否 則媒體服務(wù)器沒有可*途徑到達(dá)用戶,這也是請求通過防火墻從媒體服務(wù)器傳到用戶的唯一途 徑。 6.3.6 方法定義 方法記號表示資源上執(zhí)行的方法,它區(qū)分大小寫。新方法可在將來定義,但不能以$開頭。 某些防火墻設(shè)計與其他環(huán)境可能要求服務(wù)器插入RTSP方法和流數(shù)據(jù)。由于插入將使客戶端和 服務(wù)器操作復(fù)雜,并強(qiáng)加附加開銷,除非有必要,應(yīng)避免這樣做。插入二進(jìn)制數(shù)據(jù)僅在RTSP通 過TCP傳輸時才可使用。流數(shù)據(jù)(如RTP包)用一個ASCII美圓符號封裝,后跟一個一字節(jié)通道標(biāo) 識,其后是封裝二進(jìn)制數(shù)據(jù)的長度,兩字節(jié)整數(shù)。
移動通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助