RTSP協(xié)議體系結(jié)構(gòu)1-1rtsp實(shí)時(shí)流協(xié)議(Real-TimeStrea_第1頁(yè)
RTSP協(xié)議體系結(jié)構(gòu)1-1rtsp實(shí)時(shí)流協(xié)議(Real-TimeStrea_第2頁(yè)
RTSP協(xié)議體系結(jié)構(gòu)1-1rtsp實(shí)時(shí)流協(xié)議(Real-TimeStrea_第3頁(yè)
RTSP協(xié)議體系結(jié)構(gòu)1-1rtsp實(shí)時(shí)流協(xié)議(Real-TimeStrea_第4頁(yè)
RTSP協(xié)議體系結(jié)構(gòu)1-1rtsp實(shí)時(shí)流協(xié)議(Real-TimeStrea_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、rtsp協(xié)議體系結(jié)構(gòu)ltrtsp實(shí)時(shí)流協(xié)議(real-time streaming protocol, rtspc 1 )是由real networks和netseape 共同提出的,該協(xié)議定義了一對(duì)多的應(yīng)用程序如何有效地通過(guò)ip網(wǎng)絡(luò)傳送多媒體數(shù)據(jù)的方法。 rtsp在體系結(jié)構(gòu)上位于實(shí)時(shí)傳輸協(xié)議(a transport protocol for real-time appl ications, rtp)和實(shí)時(shí)傳輸控制協(xié)議(reed time control protocol, rtcp)之上,它使用tcp或udp完成數(shù) 據(jù)傳輸。rtsp是一個(gè)客戶(hù)一服務(wù)器多媒體節(jié)目協(xié)議,用于建立并控制一個(gè)或幾個(gè)時(shí)

2、間同步的連 續(xù)視頻、咅頻流的連接。盡管用rtsp交叉?zhèn)鬏斶B續(xù)媒體流和控制流是可能的,但通常它川 來(lái)控制流式多媒體數(shù)據(jù)在tp網(wǎng)絡(luò)上的發(fā)送,而并不川于連續(xù)媒體流的傳輸。它提供用于咅頻 和視頻流的遠(yuǎn)程控制功能,例如:播放、暫停、關(guān)閉等。rtsp是一個(gè)應(yīng)用層協(xié)議,川來(lái)與rtp、rtcp等更低層的協(xié)議一起,提供基于internet的 整套流化服務(wù)。它可以選擇發(fā)送通道(例如:udp、組播l'dp和tcp)和基于rtp的發(fā)送機(jī)制。1. 2 rtsp協(xié)議的體系結(jié)構(gòu)rtsp協(xié)議位丁,rtp和rtcp之上,它使用tcp或udp完成數(shù)據(jù)傳輸,其體系結(jié)構(gòu)如圖1 所示。1 rtsp協(xié)議的體系結(jié)構(gòu)h前,支持基丁-

3、ip的流媒體網(wǎng)絡(luò)協(xié)議主要有實(shí)時(shí)傳輸協(xié)議rtp、實(shí)時(shí)傳輸控制協(xié)議rtcp、 實(shí)吋流協(xié)議rtsp資源預(yù)留協(xié)議(resource reservation protocol, rsvp)和會(huì)話描述i辦 (session description protocol, sdp)。rtsp協(xié)議主要用于媒體播放客八端和媒體服務(wù)器 z間的網(wǎng)絡(luò)遠(yuǎn)程控制。rtsp可以使用tcp連接協(xié)議也可以使用udp連接協(xié)議,主要根據(jù)傳輸?shù)?數(shù)據(jù)類(lèi)型來(lái)決定。rtsp提供了一個(gè)對(duì)擴(kuò)展框架,使實(shí)時(shí)數(shù)據(jù),如音頻與視頻的受控點(diǎn)播成為 可能。1. 3 rtsp的工作原理rtsp屮的所有操作都是通過(guò)服務(wù)器和客戶(hù)端的消息應(yīng)答來(lái)完成的,其消息包括請(qǐng)

4、求和 應(yīng)答兩類(lèi).請(qǐng)求消息的格式如圖2。請(qǐng)求消息山請(qǐng)求行、標(biāo)題行中的各種標(biāo)題域和主體實(shí)體組成。請(qǐng)求行和標(biāo)題行rtlascii字符組成。圖2中的sp域、cr域和if域分別代表空格字符、回車(chē)字符和換行字符。 其中的method表示請(qǐng)求命令,主要有以下兒l _j<header fidd name> 1: 1 <value>crif主體實(shí)體標(biāo)題行<fnethod>| sp | rtsp:p j <version> | cr | if0<header field name><value>crif請(qǐng)求行圖2 rtsp請(qǐng)求消息格式種命令。

5、options:客八端或服務(wù)器端通知另一方自己能接受的選項(xiàng);describe:客八端通過(guò)向服務(wù)器發(fā)送請(qǐng)求url,接受指定的節(jié)tl描述或媒體對(duì)象;setup:讓服務(wù)器給流分配資源,啟動(dòng)rtsp連接;play:?jiǎn)?dòng)setip分配流的數(shù)據(jù)傳輸; teardown:釋放流的資源,rtsp連接停止。除了狀態(tài)行z外,rtsp應(yīng)答消息格式與請(qǐng)求消息的格式相同。狀態(tài)行包含rtsp的版本號(hào), 狀態(tài)碼status code和短語(yǔ)phrase,它們組合起來(lái)表示客戶(hù)請(qǐng)求所獲得的結(jié)果。rtsp客戶(hù)機(jī)和服務(wù)器之間的協(xié)議交互開(kāi)始topt1on請(qǐng)求/應(yīng)答,然后客戶(hù)機(jī)為它感興趣 的媒體流發(fā)送一個(gè)describe請(qǐng)求。從服務(wù)器返

6、冋的應(yīng)答消息可獲得關(guān)于這個(gè)流的具體信息, 比如編碼方式等。然后客戶(hù)端發(fā)送一個(gè)setup請(qǐng)求,其中包括協(xié)議集和端口號(hào),客戶(hù)端通過(guò) 這些協(xié)議集和端口來(lái)接收媒體流,服務(wù)器把選屮的協(xié)議和端口應(yīng)答給客戶(hù)端。客戶(hù)端再發(fā)送 play命令告知服務(wù)器通過(guò)先前商定的協(xié)議來(lái)傳輸數(shù)據(jù),還可以發(fā)送pause來(lái)臨時(shí)愆停傳送, 發(fā)送teardow n表示結(jié)束會(huì)話。整個(gè)交互過(guò)程如圖3所示。3 rtsp協(xié)議交互過(guò)程示意在rtsp協(xié)議中,服務(wù)器和客戶(hù)端z間的通涪完全基丁消息應(yīng)答機(jī)制,從而實(shí)現(xiàn)類(lèi)似vcr的遠(yuǎn)程遙控功 能。rtsp協(xié)議的請(qǐng)求和應(yīng)答消息主要通過(guò)請(qǐng)求方法字段和狀態(tài)碼字段完成。method請(qǐng)求方法,也就是請(qǐng)求服務(wù)的類(lèi)別,包

7、括(c:用戶(hù)端,s:服務(wù)器端):describe: cs,返回媒體對(duì)象的描述。announce: cs, sc,請(qǐng)求url識(shí)別的演示或媒體對(duì)彖描述發(fā)送給服務(wù)器件。options: cs, s-c,讓服務(wù)器或客戶(hù)端互相告訴對(duì)方可以被接受的選項(xiàng)。pause: cs, pause請(qǐng)求引起流發(fā)送臨時(shí)中斷。play: cs, play告訴服務(wù)器以setup指定的機(jī)制開(kāi)始發(fā)送數(shù)據(jù);直到一些setup請(qǐng)求被成功響應(yīng),客 戶(hù)端才可發(fā)布pla y請(qǐng)求。setup: cs,建立與客戶(hù)端的連接。teardown: cs, teardown請(qǐng)求停止給定url流發(fā)送,釋放相關(guān)資源。statuscode狀態(tài)碼,表示請(qǐng)求的

8、方法的可操作情況。在rtsp中的狀態(tài)碼和http協(xié)議中的狀態(tài)碼十分 類(lèi)似,是一個(gè)三位數(shù)字:100:繼續(xù);2xx:表示請(qǐng)求成功,可被接受;3xx:重定向;4xx:客戶(hù)端錯(cuò)謀; 5xx:服務(wù)器端錯(cuò)誤。例如,200表示請(qǐng)求己成功,將要執(zhí)行;而453表示沒(méi)冇足夠的帶寬。rtspserver rtspsessionrtspclient1建立連接2產(chǎn)生新的socket,以后些客戶(hù)端的交流山socket完成。(3descr1be4: sdp信息5. options6回復(fù)服務(wù)器文件的命令。<7 setup8.。交換9play10 0k握手完成。11 teardown12關(guān)閉socket刪除客戶(hù)端信息。具

9、體實(shí)現(xiàn)時(shí),采用c/s結(jié)構(gòu)設(shè)計(jì)一個(gè)的基于rtsp協(xié)議的視頻服務(wù)器。在服務(wù)器端,rtsp服務(wù)器在默 認(rèn)的端口(一般是554端i i號(hào))監(jiān)聽(tīng)網(wǎng)絡(luò)請(qǐng)求消息數(shù)據(jù)包,在收到數(shù)據(jù)包后,根據(jù)rtsp規(guī)定的格式進(jìn)行解析, 并作相應(yīng)的處理,同時(shí)形成rtsp格式的應(yīng)答消息數(shù)據(jù)包,響應(yīng)客戶(hù)端的請(qǐng)求。rtsp服務(wù)器在接收到播放流 媒體實(shí)時(shí)數(shù)據(jù)或文件的請(qǐng)求后,在木地川請(qǐng)并建立新的端口組(rtp端口和rtcp端口,一般前者是偶數(shù)端口, 后者奇數(shù)端口)。此后,服務(wù)器端在rtp端口發(fā)送包含流媒體文件的rtp數(shù)據(jù)包,在rtcp端口接收客戶(hù)端發(fā)送 的rtcp數(shù)據(jù)包,并繼續(xù)在554端ii等待別的客戶(hù)端的rtsp請(qǐng)求。山上面的分析,得

10、到基于rtsp協(xié)議的流媒體 服務(wù)器的模型,如圖3所示。rfspserverw掙.圖3基于rtsp協(xié)議的流媒體服務(wù)器模型1. 模擬音視頻數(shù)據(jù)的輸入。2. 前端視頻服務(wù)器負(fù)貫將音視頻數(shù)據(jù)采集編碼,并保存到本地或提供rtp傳輸。3. 客戶(hù)端發(fā)送rtsp格式的請(qǐng)求數(shù)據(jù)包,其中包含客戶(hù)端要求的流媒體的名字,服務(wù)器端在收到該 數(shù)據(jù)包后,解析數(shù)據(jù)包,若成功解析,就返冋該流媒體文件的相關(guān)信息,如實(shí)際地址等??蛻?hù)端根據(jù)收到 的流媒體的實(shí)際地址,做進(jìn)一步的rtsp請(qǐng)求,例如:“播放”、“下載”等。4. 服務(wù)器端分配rtp、rtcp端口(2n, 2n+1);并繼續(xù)在rtsp端口(如554)等待新的請(qǐng)求。5. 客八端與服務(wù)器端的rtp、rtcp端口建立連接,準(zhǔn)備接收/發(fā)送數(shù)據(jù)。

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論