亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1658 | 回復(fù): 0
打印 上一主題 下一主題

實(shí)時(shí)流協(xié)議 RTSP [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-09-10 19:35 |只看該作者 |倒序?yàn)g覽
實(shí)時(shí)流協(xié)議RTSP(RealTimeStreamingProtocol)是由
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觀念,使現(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解釋成行終止符。基于文本的協(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ù)據(jù)緊跟其后,沒(méi)有CRLF,但包括高層協(xié)議頭。每個(gè)$塊包含一個(gè)高層協(xié)議數(shù)據(jù)單元。
 
當(dāng)傳輸選擇為RTP,RTCP信息也被服務(wù)器通過(guò)TCP連接插入。缺省情況下,RTCP包在比RTP通道高的第一個(gè)可用通道上發(fā)送?蛻(hù)端可能在另一通道
顯式請(qǐng)求RTCP包
,這可通過(guò)指定傳輸頭插入?yún)?shù)中的兩個(gè)通道來(lái)做到。當(dāng)兩個(gè)或更多流交叉時(shí),為取得同步,需要RTCP。而且,這為當(dāng)網(wǎng)絡(luò)設(shè)置需要通過(guò)TCP控制連接透過(guò)
RTP/RTCP提供了一條方便的途徑,可能時(shí),在UDP上進(jìn)行傳輸。
  6.3.7 流水線(xiàn)操作
  支持持久連接或無(wú)連接的客戶(hù)端可能給其請(qǐng)求排隊(duì)。服務(wù)器必須以收到請(qǐng)求的同樣順序發(fā)出響應(yīng)。如果請(qǐng)求不是發(fā)送給組播組,接收者就確認(rèn)請(qǐng)求,如沒(méi)有確認(rèn)信息,發(fā)送者可在超過(guò)一個(gè)來(lái)回時(shí)間(RTT)后重發(fā)同一信息。
 
RTT在TCP中估計(jì),初始值為500
ms。應(yīng)用緩存最后所測(cè)量的RTT,作為將來(lái)連接的初始值。如使用一個(gè)可靠傳輸協(xié)議傳輸RTSP,請(qǐng)求不允許重發(fā),RTSP應(yīng)用反過(guò)來(lái)依賴(lài)低層傳輸提供可
靠性。如兩個(gè)低層可靠傳輸(如TCP
和RTSP)應(yīng)用重發(fā)請(qǐng)求,有可能每個(gè)包損失導(dǎo)致兩次重傳。由于傳輸棧在第一次嘗試到達(dá)接收著者前不會(huì)發(fā)送應(yīng)用層重傳,接收者也不能充分利用應(yīng)用層重傳。
如包損失由阻塞引起,不同層的重發(fā)將使阻塞進(jìn)一步惡化。時(shí)標(biāo)頭用來(lái)避免重發(fā)模糊性問(wèn)題,避免對(duì)圓錐算法的依賴(lài)。每個(gè)請(qǐng)求在CSeq頭中攜帶一個(gè)系列號(hào),每
發(fā)送一個(gè)不同請(qǐng)求,它就加一。如由于沒(méi)有確認(rèn)而重發(fā)請(qǐng)求,請(qǐng)求必須攜帶初始系列號(hào)。
  實(shí)現(xiàn)RTSP的系統(tǒng)必須支持通過(guò)TCP傳輸RTSP
,并支持UDP。對(duì)UDP和TCP,RTSP服務(wù)器的缺省端口都是554。許多目的一致的RTSP包被打包成單個(gè)低層PDU或TCP流。RTSP數(shù)據(jù)可與
RTP和RTCP包交叉。不象HTTP,RTSP信息必須包含一個(gè)內(nèi)容長(zhǎng)度頭,無(wú)論信息何時(shí)包含負(fù)載。否則,RTSP包以空行結(jié)束,后跟最后一個(gè)信息頭。
               
               
               

本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u2/89627/showart_2049918.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專(zhuān)區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP