RTSP報(bào)文交互過(guò)程_第1頁(yè)
RTSP報(bào)文交互過(guò)程_第2頁(yè)
RTSP報(bào)文交互過(guò)程_第3頁(yè)
RTSP報(bào)文交互過(guò)程_第4頁(yè)
RTSP報(bào)文交互過(guò)程_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、RTSP報(bào)文交互方式詳解 王啟東 fw0027RTSP是Real Time Streaming Protocol,實(shí)時(shí)流傳輸協(xié)議的簡(jiǎn)寫,用來(lái)描述實(shí)時(shí)流傳輸?shù)膮f(xié)議控制。它是一個(gè)基于文本的協(xié)議,依然基于C/S架構(gòu),有典型的request和reply的交互過(guò)程。第一部分:RTSP報(bào)文標(biāo)準(zhǔn)交互流程一個(gè)完整的RTSP交互過(guò)程如下,請(qǐng)求一段錄像文件或者實(shí)時(shí)流,需要交互如下報(bào)文過(guò)程:第一個(gè)過(guò)程:options字段,用于確認(rèn)后續(xù)的操作動(dòng)作,包括實(shí)時(shí)流的的播放暫停等動(dòng)作。響應(yīng)報(bào)文中包含:DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, OPTIONS, ANNOUNCE, RECO

2、RD。標(biāo)準(zhǔn)的交互過(guò)程:1. OPTIONSclient->server=OPTIONS rtsp:/115.182.51.79/zuoyou001.mp4 RTSP/1.0CSeq: 2User-Agent: LibVLC/1.1.11 (LIVE555 Streaming Media v2011.05.25)server->client=RTSP/1.0 200 OKServer: DSS/6.0.3 (Build/526.3; Platform/FreeBSD; Release/Darwin Streaming Server; State/Development; )Cseq:

3、 2Public: DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, OPTIONS, ANNOUNCE, RECORD第二個(gè)過(guò)程,describe交互過(guò)程。顧名思義,describe字段用來(lái)描述所請(qǐng)求的碼流的詳細(xì)描述,比如請(qǐng)求的碼流的傳輸模式是RTP格式,封裝格式是MP4。這個(gè)報(bào)文的回復(fù)消息也通過(guò)SDP來(lái)描述會(huì)話信息,與SIP的交互過(guò)程很相似,標(biāo)準(zhǔn)的報(bào)文流程:2. DESCRIBEclient->server=DESCRIBE rtsp:/115.182.51.79/zuoyou001.mp4 RTSP/1.0CSeq: 3User-Agent: LibV

4、LC/1.1.11 (LIVE555 Streaming Media v2011.05.25)Accept: application/sdpserver->client=RTSP/1.0 200 OKServer: DSS/6.0.3 (Build/526.3; Platform/FreeBSD; Release/Darwin Streaming Server; State/Development; )Cseq: 3Last-Modified: Thu, 17 Jan 2002 11:20:30 GMTCache-Control: must-revalidateContent-lengt

5、h: 876Date: Wed, 04 Jan 2012 06:14:53 GMTExpires: Wed, 04 Jan 2012 06:14:53 GMTContent-Type: application/sdpx-Accept-Retransmit: our-retransmitx-Accept-Dynamic-Rate: 1Content-Base: rtsp:/115.182.51.79/zuoyou001.mp4/v=0o=StreamingServer 3534646499 1011266430000 IN IP4 115.182.51.79s=/zuoyou001.mp4u=h

6、ttp:/e=adminc=IN IP4 0.0.0.0b=AS:632t=0 0a=control:*a=x-copyright: MP4/3GP File hinted with GPAC 0.4.6-DEV (build 1 - May 19 2009) - compiled by Kurtnoise (C)2000-2005 - a=range:npt=0-6640.12667m=video 0 RTP/AVP 96b=AS:600a=3GPP-Adaptation-Support:1a=rtpmap:96 H264/90000a=control:trackID=65536a=fmtp

7、:96 profile-level-id=4D401E; packetization-mode=1; sprop-parameter-sets=Z01AHpp0BaGdgIgAAAMACAAAAwGUeLF1,aO48gA=a=framesize:96 720-400m=audio 0 RTP/AVP 97b=AS:32a=3GPP-Adaptation-Support:1a=rtpmap:97 mpeg4-generic/24000/2a=control:trackID=65537a=fmtp:97 profile-level-id=40; config=131056e59d4800; st

8、reamType=5; mode=AAC-hbr; objectType=64; constantDuration=2048; sizeLength=13; indexLength=3; indexDeltaLength=3第三、四個(gè)過(guò)程,setup操作,用來(lái)建立媒體流傳輸通道,兩個(gè)封裝格式是一樣的。其中第一條setup操作用來(lái)建立音頻流傳輸通道,第二條setup用來(lái)建立視頻流傳輸通道。這兩個(gè)報(bào)文,會(huì)攜帶收發(fā)端的通道號(hào),單組播類型,ssrc id(用來(lái)標(biāo)志媒體流的類型)。標(biāo)準(zhǔn)的交互流程:3. SETUPclient->server=SETUP rtsp:/115.182.51.79/zu

9、oyou001.mp4/trackID=65536 RTSP/1.0CSeq: 4User-Agent: LibVLC/1.1.11 (LIVE555 Streaming Media v2011.05.25)Transport: RTP/AVP/TCP;unicast;interleaved=0-1server->client=RTSP/1.0 200 OKServer: DSS/6.0.3 (Build/526.3; Platform/FreeBSD; Release/Darwin Streaming Server; State/Development; )Cseq: 4Last-Mo

10、dified: Thu, 17 Jan 2002 11:20:30 GMTCache-Control: must-revalidateSession: 1837199341906602386Date: Wed, 04 Jan 2012 06:14:53 GMTExpires: Wed, 04 Jan 2012 06:14:53 GMTTransport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=0E4646D1第五個(gè)操作,點(diǎn)播play過(guò)程。Play過(guò)程主要用于前面協(xié)商的視頻參數(shù),根據(jù)獲取到的URL地址進(jìn)行點(diǎn)播,這個(gè)URL包括ip地址和路徑,其中還會(huì)攜帶

11、rtp時(shí)間戳和NTP時(shí)間格式。從交互過(guò)程上看非常簡(jiǎn)潔,一目了然。4. PLAYclient->server=PLAY rtsp:/115.182.51.79/zuoyou001.mp4/ RTSP/1.0CSeq: 6User-Agent: LibVLC/1.1.11 (LIVE555 Streaming Media v2011.05.25)Session: 1837199341906602386Range: npt=0.000-server->client=RTSP/1.0 200 OKServer: DSS/6.0.3 (Build/526.3; Platform/FreeBS

12、D; Release/Darwin Streaming Server; State/Development; )Cseq: 6Session: 1837199341906602386Range: npt=0.00000-6640.12667RTP-Info: url=rtsp:/115.182.51.79/zuoyou001.mp4/trackID=65536;seq=55088;rtptime=37707334,url=rtsp:/115.182.51.79/zuoyou001.mp4/trackID=65537;seq=19114;rtptime=550154668.第六個(gè)過(guò)程,拆線報(bào)文t

13、eardown。Teardown過(guò)程由客戶端向服務(wù)器發(fā)起,交互完成即完成會(huì)話釋放。標(biāo)準(zhǔn)交互流程:5. TEARDOWN client->server=TEARDOWN rtsp:/115.182.51.79/zuoyou001.mp4/ RTSP/1.0CSeq: 7User-Agent: LibVLC/1.1.11 (LIVE555 Streaming Media v2011.05.25)Session: 1837199341906602386server->client。以上報(bào)文交互是標(biāo)準(zhǔn)的一個(gè)RTSP會(huì)話建立傳輸以及釋放的過(guò)程必選報(bào)文。除此之外還有一些可選報(bào)文,舉例如下:AN

14、NOUNCEC->SS->C可選當(dāng)從用戶發(fā)往服務(wù)器時(shí),ANNOUNCE將請(qǐng)求URL識(shí)別的演示或媒體對(duì)象描述發(fā)送給服務(wù)器;反之,ANNOUNCE實(shí)時(shí)更新連接描述。比如新插入一個(gè)媒體流時(shí),加入混合器后的會(huì)話通告。GET_PARAMETERC->SS->C可選GET_PARAMETER請(qǐng)求檢查RUL指定的演示與媒體的參數(shù)值。沒(méi)有實(shí)體體時(shí),GET_PARAMETER也許能用來(lái)測(cè)試用戶與服務(wù)器的連通情況。所以通常用這個(gè)報(bào)文來(lái)做客戶端和服務(wù)器的探針報(bào)文(設(shè)備?;睿㏄AUSEC->S推薦PAUSE 請(qǐng)求引起流發(fā)送臨時(shí)中斷。如請(qǐng)求URL命名一個(gè)流,僅回放和記錄被停止;如請(qǐng)求URL

15、命名一個(gè)演示或流組,演示或組中所有當(dāng)前活動(dòng)的流發(fā)送都停止?;謴?fù)回放或記錄后,必須維持同步。在SETUP消息中連接頭超時(shí)參數(shù)所指定時(shí)段期間被暫停后,盡管服務(wù)器可能關(guān)閉連接并釋放資源,但服務(wù)器資源會(huì)被預(yù)訂RECORDC->S可選該方法根據(jù)演示描述初始化媒體數(shù)據(jù)記錄范圍,時(shí)標(biāo)反映開始和結(jié)束時(shí)間;如沒(méi)有給出時(shí)間范圍,使用演示描述提供的開始和結(jié)束時(shí)間。如連接已經(jīng)啟動(dòng),立即開始記錄,服務(wù)器數(shù)據(jù)請(qǐng)求URL或其他URL決定是否存儲(chǔ)記錄的數(shù)據(jù);如服務(wù)器沒(méi)有使用URL請(qǐng)求,響應(yīng)應(yīng)為201(創(chuàng)建),并包含描述請(qǐng)求狀態(tài)和參考新資源的實(shí)體與位置頭。REDIRECTS->C可選重定向請(qǐng)求通知客戶端連接到另一服

16、務(wù)器地址。它包含強(qiáng)制頭地址,指示客戶端發(fā)布URL請(qǐng)求;也可能包括參數(shù)范圍,以指明重定向何時(shí)生效。若客戶端要繼續(xù)發(fā)送或接收URL媒體,客戶端必須對(duì)當(dāng)前連接發(fā)送TEARDOWN請(qǐng)求,而對(duì)指定主執(zhí)新連接發(fā)送SETUP請(qǐng)求SET_PARAMETERC->SS->C可選這個(gè)方法請(qǐng)求設(shè)置演示或URL指定流的參數(shù)值。請(qǐng)求僅應(yīng)包含單個(gè)參數(shù),允許客戶端決定某個(gè)特殊請(qǐng)求為何失敗。如請(qǐng)求包含多個(gè)參數(shù),所有參數(shù)可成功設(shè)置,服務(wù)器必須只對(duì)該請(qǐng)求起作用。服務(wù)器必須允許參數(shù)可重復(fù)設(shè)置成同一值,但不讓改變參數(shù)值。注意:媒體流傳輸參數(shù)必須用SETUP命令設(shè)置。將設(shè)置傳輸參數(shù)限制為SETUP有利于防火墻。第二部分:詳

17、解我司不同產(chǎn)品組件對(duì)RTSP報(bào)文的交互鑒于開發(fā)時(shí)的不同產(chǎn)品組件形態(tài),我司DA、ECR以及ISC產(chǎn)品對(duì)RTSP不同的流程所用的消息字段也不一致。下面介紹幾個(gè)典型產(chǎn)品的字段應(yīng)用:DA側(cè):DA如果使用RTSP配合ONVIF接入第三方IPC時(shí),第一條option字段不會(huì)發(fā)送,必須支持setup、play和teardown。而DA和onvif ipc?;顣r(shí)使用的是協(xié)議推薦的SET_PARAMETER消息,而DA用于錄像回放時(shí)采用options字段,字段中會(huì)攜帶時(shí)間戳標(biāo)記。NVR側(cè):a.第一條option消息實(shí)際不會(huì)發(fā),因?yàn)槟J(rèn)setup、play和teardown都必須支持,b.setup可能發(fā)一條,可

18、能發(fā)兩條,根據(jù)是describe響應(yīng)消息中會(huì)告訴是否支持音頻,如果支持音頻,會(huì)發(fā)兩條setup,如果不支持音頻,則只會(huì)發(fā)一條setup,c.如果發(fā)兩條setup,則第一個(gè)setup是視頻,第二個(gè)setup是音頻,文檔中第一個(gè)是音頻肯定也是可以的,但我們的實(shí)現(xiàn)是第一個(gè)發(fā)視頻的,d.發(fā)送play后需要有?;睿梢杂胓et_parameter或者option,我們用的是option?;?。e.如果是回放,還需要通過(guò)RTSP OPTIONS字段支持快進(jìn)快退后退暫停等功能,實(shí)況流不需要。最后附上:RTSP的報(bào)文響應(yīng)狀態(tài):“100” ; Continue (all 100 range)“200” ; OK“

19、201” ; Created“250” ; Low on Storage Space“300” ; Multiple Choices“301” ; Moved Permanently“302” ; Moved Temporarily“303” ; See Other“304” ; Not Modified“305” ; Use Proxy“350” ; Going Away“351” ; Load Balancing“400” ; Bad Request“401” ; Unauthorized“402” ; Payment Required“403” ; Forbidden“404” ; Not Found“405” ; Method Not Allowed“406” ; Not Acceptable“407” ; Proxy Authentication Required“408” ; Request Time-out“410” ; Gone“411” ; Length Required“412” ; Precondition F

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論