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