WIKI使用導(dǎo)航
站長百科導(dǎo)航
站長專題
- 網(wǎng)站推廣
- 網(wǎng)站程序
- 網(wǎng)站賺錢
- 虛擬主機(jī)
- cPanel
- 網(wǎng)址導(dǎo)航專題
- 云計(jì)算
- 微博營銷
- 虛擬主機(jī)管理系統(tǒng)
- 開放平臺(tái)
- WIKI程序與應(yīng)用
- 美國十大主機(jī)
RTSP
RTSP(實(shí)時(shí)流傳輸協(xié)議)是TCP/IP協(xié)議體系中的一個(gè)應(yīng)用層協(xié)議,由哥倫比亞大學(xué)、網(wǎng)景和RealNetworks公司提交的IETF RFC標(biāo)準(zhǔn),該協(xié)議定義了一對(duì)多應(yīng)用程序如何有效地通過IP網(wǎng)絡(luò)傳送多媒體數(shù)據(jù),RTSP在體系結(jié)構(gòu)上位于RTP和RTCP之上,它使用TCP或RTP完成數(shù)據(jù)傳輸,HTTP與RTSP相比,HTTP傳送HTML而RTSP傳送的是多媒體數(shù)據(jù),HTTP請(qǐng)求由客戶機(jī)發(fā)出,服務(wù)器作出響應(yīng);使用RTSP時(shí)客戶機(jī)和服務(wù)器都可以發(fā)出請(qǐng)求,即RTSP可以是雙向的。
RTSP基本介紹[ ]
- RTSP是用來控制聲音或影像的多媒體串流協(xié)議并允許同時(shí)多個(gè)串流需求控制,傳輸時(shí)所用的網(wǎng)絡(luò)通訊協(xié)定并不在其定義的范圍內(nèi),服務(wù)器端可以自行選擇使用TCP或UDP來傳送串流內(nèi)容,它的語法和運(yùn)作跟HTTP 1.1類似但并不特別強(qiáng)調(diào)時(shí)間同步,所以比較能容忍網(wǎng)絡(luò)延遲。
- 而前面提到的允許同時(shí)多個(gè)串流需求控制,除了可以降低服務(wù)器端的網(wǎng)絡(luò)用量,更進(jìn)而支持多方視訊會(huì)議,因?yàn)榕cHTTP1.1的運(yùn)作方式相似所以代理服務(wù)器的快取功能也同樣適用于RTSP,并因RTSP具有重新導(dǎo)向功能,可視實(shí)際負(fù)載情況來轉(zhuǎn)換提供服務(wù)的服務(wù)器,以避免過大的負(fù)載集中于同一服務(wù)器而造成延遲。
- 實(shí)時(shí)流協(xié)議是應(yīng)用級(jí)協(xié)議,控制實(shí)時(shí)數(shù)據(jù)的發(fā)送,RTSP提供了一個(gè)可擴(kuò)展框架,使實(shí)時(shí)數(shù)據(jù)如音頻與視頻,的受控、點(diǎn)播成為可能。數(shù)據(jù)源包括現(xiàn)場數(shù)據(jù)與存儲(chǔ)在剪輯中數(shù)據(jù)。該協(xié)議目的在于控制多個(gè)數(shù)據(jù)發(fā)送連接,為選擇發(fā)送通道,如UDP、組播UDP與TCP,提供途徑,并為選擇基于RTP上發(fā)送機(jī)制提供方法。
- 實(shí)時(shí)流協(xié)議建立并控制一個(gè)或幾個(gè)時(shí)間同步的連續(xù)流媒體,盡管連續(xù)媒體流與控制流交換是可能的,通常它本身并不發(fā)送連續(xù)流,也就是說RTSP充當(dāng)多媒體服務(wù)器的網(wǎng)絡(luò)遠(yuǎn)程控制。RTSP連接沒有綁定到傳輸層連接,此外可使用無連接傳輸協(xié)議,如UDP,RTSP流控制的流可能用到RTP,但RTSP操作并不依賴用于攜帶連續(xù)媒體的傳輸機(jī)制。
RTSP協(xié)議支持的操作[ ]
- 從媒體服務(wù)器上檢索媒體:用戶可通過HTTP或其它方法提交一個(gè)演示描述,如演示是組播演示式就包含用于連續(xù)媒體的的組播地址和端口,如演示僅通過單播發(fā)送給用戶,用戶為了安全應(yīng)提供目的地址。
- 媒體服務(wù)器邀請(qǐng)進(jìn)入會(huì)議:媒體服務(wù)器可被邀請(qǐng)參加正進(jìn)行的會(huì)議,或回放媒體、或記錄其中一部分或全部,這種模式在分布式教育應(yīng)用上很有用,會(huì)議中幾方可輪流按遠(yuǎn)程控制按鈕。
- 將媒體加到現(xiàn)成講座中:如服務(wù)器告訴用戶可獲得附加媒體內(nèi)容,對(duì)現(xiàn)場講座顯得尤其有用,如HTTP/1.1中類似,RTSP請(qǐng)求可由代理、通道與緩存處理。
RTSP協(xié)議特點(diǎn)[ ]
- 可擴(kuò)展性:新方法和參數(shù)很容易加入RTSP。
- 易解析:RTSP可由標(biāo)準(zhǔn)HTTP或MIME解析器解析。
- 安全:RTSP使用網(wǎng)頁安全機(jī)制。
- 獨(dú)立于傳輸:RTSP可使用不可靠數(shù)據(jù)報(bào)協(xié)議(EDP)、可靠數(shù)據(jù)報(bào)協(xié)議(RDP);如要實(shí)現(xiàn)應(yīng)用級(jí)可靠可使用可靠流協(xié)議。
- 多服務(wù)器支持:每個(gè)流可放在不同服務(wù)器上,用戶端自動(dòng)與不同服務(wù)器建立幾個(gè)并發(fā)控制連接,媒體同步在傳輸層執(zhí)行。
- 記錄設(shè)備控制:協(xié)議可控制記錄和回放設(shè)備。
- 流控與會(huì)議開始分離:僅要求會(huì)議初始化協(xié)議提供,或可用來創(chuàng)建惟一會(huì)議標(biāo)識(shí)號(hào),特殊情況下可用SIP或H.323來邀請(qǐng)服務(wù)器入會(huì)。
- 適合專業(yè)應(yīng)用:通過SMPTE時(shí)標(biāo),RTSP支持幀級(jí)精度,允許遠(yuǎn)程數(shù)字編輯。
- 演示描述中立:協(xié)議沒強(qiáng)加特殊演示或元文件,可傳送所用格式類型;然而演示描述至少必須包括一個(gè)RTSP URL。
- 代理與防火墻友好:協(xié)議可由應(yīng)用和傳輸層防火墻處理,防火墻需要理解SETUP方法為UDP媒體流打開一個(gè)“缺口”。
- HTTP友好:此處RTSP明智地采用HTTP觀念,使現(xiàn)在結(jié)構(gòu)都可重用,結(jié)構(gòu)包括Internet內(nèi)容選擇平臺(tái),由于在大多數(shù)情況下控制連續(xù)媒體需要服務(wù)器狀態(tài),RTSP不僅僅向HTFP添加方法。
- 適當(dāng)?shù)姆?wù)器控制:如用戶啟動(dòng)一個(gè)流,必須也可以停止一個(gè)流。
- 傳輸協(xié)調(diào):實(shí)際處理連續(xù)媒體流前,用戶可協(xié)調(diào)傳輸方法。
- 性能協(xié)調(diào):如基本特征無效必須有一些清理機(jī)制讓用戶決定哪種方法沒生效,這允許用戶提出適合的用戶界面。
RTSP協(xié)議結(jié)構(gòu)[ ]
RTSP是一種文本協(xié)議,采用UTF-8編碼中的ISO 10646字符集,一行可通過CRLF終止但接收端需要做好解釋CR和LF作為一行終止符的準(zhǔn)備,關(guān)于頭字段概述如下: Header Type Support Methods
Accept R opt. entity
Accept-Encoding R opt. entity
Accept-Language R opt. all
Allow R opt. all
Authorization R opt. all
Bandwidth R opt. all
Blocksize R opt. All but OPTIONS,TEARDOWN
Cache-Control G opt. SETUP
Conference R opt. SETUP
Connection G req. all
Content-Base E opt. entity
Content-Encoding E req. SET_PARAMETER
Content-Encoding E req. DESCRIBE,ANNOUNCE
Content-Language E req. DESCRIBE,ANNOUNCE
Content-Length E req. SET_PARAMETER,ANNOUNCE
Content-Length E req. entity
Content-Location E opt. entity
Content-Type E req. SET_PARAMETER,ANNOUNCE
Content-Type R req. entity
CSeq G req. all
Date G opt. all Retry-After R opt. all
RTP-Info R req. PLAY
Scale Rr opt. PLAY,RECORD
Session Rr req. All but SETUP,OPTIONS
Server R opt. all
Speed Rr opt. PLAY
Transport Rr req. SETUP
Unsupported R req. all
User-Agent R opt. all
Via G opt. all
類型"g"表示請(qǐng)求和響應(yīng)中的通用請(qǐng)求頭;
類型“R”表示請(qǐng)求頭;類型“r”表示響應(yīng)頭;
類型"e"表示實(shí)體頭字段。在“support”一欄中標(biāo)有“req.”的字段必須由接收者以特殊的方法實(shí)現(xiàn);
而“opt.”的字段是可選的。注意,不是所有“req.”字段在該類型的每個(gè)請(qǐng)求中都會(huì)被發(fā)送。
“req.”只表示客戶機(jī)(支持響應(yīng)頭)和服務(wù)器(支持請(qǐng)求頭)必須執(zhí)行該字段。最后一欄列出了關(guān)于頭字段產(chǎn)生作用的方法;
其中“entity”針對(duì)于返回一個(gè)信息主體的所有方法。
RTSP協(xié)議基本信息[ ]
- RTSP是基于文本的協(xié)議,采用ISO 10646字符集,使用UTF-8編碼方案,行以CRLF中斷但接收者本身可將CR和LF解釋成行終止符,基于文本的協(xié)議使以自描述方式增加可選參數(shù)更容易。由于參數(shù)的數(shù)量和命令的頻率出現(xiàn)較低,處理效率沒引起注意。
- ISO 10646字符集避免敏感字符集切換,但對(duì)應(yīng)用來說不可見,RTCP也采用這種編碼方案,帶有重要意義位的ISO 8859-1字符表示如100001x 10x x x x x x,RTSP信息可通過任何低層傳輸協(xié)議攜帶。
- 請(qǐng)求包括方法、方法作用于其上的對(duì)象以及進(jìn)一步描述方法的參數(shù)。方法也可設(shè)計(jì)為在服務(wù)器端只需要少量或不需要狀態(tài)維護(hù)。當(dāng)信息體包含在信息中,信息體長度由如下因素決定:
- 不管實(shí)體頭段是否出現(xiàn)在信息中,不包括信息體的響應(yīng),信息總以頭段后第一個(gè)空行結(jié)束。
- 如出現(xiàn)內(nèi)容長度頭段,其值以字節(jié)計(jì),表示信息體長度。如未出現(xiàn)頭段,其值為零。
- 服務(wù)器關(guān)閉連接,注意RTSP目前并不支持HTTP 1.1“塊”傳輸編碼,需要有內(nèi)容長度頭,假如返回適度演示描述長度,即使動(dòng)態(tài)產(chǎn)生,使塊傳輸編碼沒有必要,服務(wù)器也應(yīng)該能決定其長度。如有實(shí)體,即使必須有內(nèi)容長度,且長度沒顯式給出,規(guī)則可確保行為合理。
- 從用戶到服務(wù)器端的請(qǐng)求信息在第一行內(nèi)包括源采用的方法、源標(biāo)識(shí)和所用協(xié)議版本。RTSP定義了附加狀態(tài)代碼,但沒有定義任何HTTP代碼。
編輯本段RTSP實(shí)體
- 如不受請(qǐng)求方法或響應(yīng)狀態(tài)編碼限制,請(qǐng)求和響應(yīng)信息可傳輸實(shí)體,實(shí)體則由實(shí)體頭文件和實(shí)體體組成,有些響應(yīng)僅包括實(shí)體頭。在此,根據(jù)誰發(fā)送實(shí)體、誰接收實(shí)體,發(fā)送者和接收者可分別指用戶和服務(wù)器。
- 實(shí)體頭定義實(shí)體體可選元信息,如沒有實(shí)體體,指請(qǐng)求標(biāo)識(shí)的資源。擴(kuò)展頭機(jī)制允許定義附加實(shí)體頭段,而不用改變協(xié)議,但這些段不能假定接收者能識(shí)別。不可識(shí)別頭段應(yīng)被接收者忽略,而讓代理轉(zhuǎn)發(fā)。
RTSP請(qǐng)求可以幾種不同方式傳送[ ]
- 持久傳輸連接,用于多個(gè)請(qǐng)求/響應(yīng)傳輸。
- 每個(gè)請(qǐng)求/響應(yīng)傳輸一個(gè)連接。
- 無連接模式。
- 不像HTTP,RTSP允許媒體服務(wù)器給媒體用戶發(fā)送請(qǐng)求。然而這僅在持久連接時(shí)才支持,否則媒體服務(wù)器沒有可靠途徑到達(dá)用戶,這也是請(qǐng)求通過防火墻從媒體服務(wù)器傳到用戶的惟一途徑。