乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      RTSP協(xié)議

       燮羽 2011-03-18
      RTSP協(xié)議

          RTSP(Real Time Stream Protocol,實時流協(xié)議)是應用級協(xié)議,控制實時數(shù)據(jù)的發(fā)送。RTSP提供了一個可擴展框架,使實時數(shù)據(jù),如音頻與視頻的受控、點播成為可能。數(shù)據(jù) 源包括現(xiàn)插數(shù)據(jù)與存儲在剪輯中的數(shù)據(jù)。該協(xié)議目的在于控制多個數(shù)據(jù)發(fā)送連接,為選擇發(fā)送通道如UDP、多播UDP與TCP等提供途徑,并為選擇基于RTP 上發(fā)送機制提供方法。

      一.簡介

      1.目的

      實時流協(xié)議建立并控制一個或幾個時間同步的連續(xù)流媒體。盡管連續(xù)媒體流與控制流交叉是可能的,通常它本身并不發(fā)送連續(xù)流。換言之,RTSP充當多媒 體服務器的網(wǎng)絡遠程控制。RTSP連接沒有綁定到傳輸層連接,如TCP。在RTSP連接期間,RTSP用戶可打開或關閉多個對服務器的可靠傳輸連接以發(fā)出 RTSP請求。此外,可使用無連接傳輸協(xié)議,如UDP。RTSP流控制的流可能用到RTP,但RTSP操作并不依賴用于攜帶連續(xù)媒體的傳輸機制。實時流協(xié) 議在語法和操作上與HTTP 1.1類似,因此HTTP的擴展機制大都可加入RTSP。協(xié)議支持的操作如下:

      (1)從媒體服務器上檢索媒體

      用戶可通過HTTP或其他方法提交一個演示描述。如演示是多播,演示時就包含用于連續(xù)媒體的多播地址和端口。如演示僅通過單播發(fā)送給用戶,用戶為了安全應提供目的地址。

      (2)媒體服務器邀請進入會議

      媒體服務器可被邀請參加正進行的會議,或回放媒體,或記錄其中一部分或全部。這種模式在分布式教育應用上很有用,會議中幾方可輪流按遠程控制按鈕。

      (3)將媒體加到現(xiàn)成講座中

      例如,服務器告訴用戶可獲得附加媒體內容。這對現(xiàn)場講座顯得尤其有用。如HTTP 1.1中類似,RTSP請求可由代理、通道與緩存處理。

      2.協(xié)議特點

      RTSP有如下特性。

      (1) 可擴展性:新方法和參數(shù)很容易加入RTSP。

      (2) 易解析:RTSP可由標準HTTP或MIME解析器解析。

      (3) 安全:RTSP使用網(wǎng)頁安全機制。

      (4) 獨立于傳輸:RTSP可使用不可靠數(shù)據(jù)報協(xié)議(EDP)、可靠數(shù)據(jù)報協(xié)議(RDP);如要實現(xiàn)應用級可靠,可使用可靠流協(xié)議。

      (5) 多服務器支持:每個流可放在不同服務器上,用戶端自動與不同服務器建立幾個并發(fā)控制連接,媒體同步在傳輸層執(zhí)行。

      (6) 記錄設備控制:協(xié)議可控制記錄和回放設備。

      (7) 流控與會議開始分離:僅要求會議初始化協(xié)議提供,或可用來創(chuàng)建惟一會議標識號。特殊情況下,可用SIP或H.323來邀請服務器入會。

      (8) 適合專業(yè)應用:通過SMPTE時標,RTSP支持幀級精度,允許遠程數(shù)字編輯。

      (9) 演示描述中立:協(xié)議沒強加特殊演示或元文件,可傳送所用格式類型;然而,演示描述至少必須包括一個RTSP URL。

      (10) 代理與防火墻友好:協(xié)議可由應用和傳輸層防火墻處理。防火墻需要理解SETUP方法,為UDP媒體流打開一個“缺口”。

      (11) HTTP友好:此處,RTSP明智地采用HTTP觀念,使現(xiàn)在結構都可重用。結構包括Internet內容選擇平臺(PICS)。由于在大多數(shù)情況下控制連續(xù)媒體需要服務器狀態(tài),RTSP不僅僅向HTFP添加方法。

      (12) 適當?shù)姆掌骺刂疲喝缬脩魡右粋€流,必須也可以停止一個流。

      (13) 傳輸協(xié)調:實際處理連續(xù)媒體流前,用戶可協(xié)調傳輸方法。

      (14) 性能協(xié)調:如基本特征無效,必須有一些清理機制讓用戶決定哪種方法沒生效。這允許用戶提出適合的用戶界面。

      3.擴展RTSP

      由于不是所有媒體服務器有著相同的功能,媒體服務器有必要支持不同請求集。RTSP可以如下三種方式擴展:

      (1) 以新參數(shù)擴展。如用戶需要拒絕通知,而方法擴展不支持,相應標記就加人要求的段中。

      (2) 加入新方法。如信息接收者不理解請求,返回501錯誤代碼,發(fā)送者不應再次嘗試這種方法。用戶可使用OPTIONS方法查詢服務器支持的方法。服務器使用公共響應頭列出支持的方法。

      (3) 定義新版本協(xié)議,允許改變所有部分(協(xié)議版本號位置除外)。

      4.操作模式

      每個演示和媒體流可用RTSP URL識別。演示組成的整個演示與媒體屬性由演示描述文件定義。使用HTTP或其他途徑用戶可獲得這個文件,它沒有必要保存在媒體服務器上。為了說明這個 問題,假設演示描述了多個演示,其中每個演示維持了一個公共時間軸。為簡化說明,且不失一般性,假定演示描述的確包含這樣一個演示。演示可包含多個媒體 流。除媒體參數(shù)外,網(wǎng)絡目標地址和端口也需要決定。

      下面區(qū)分幾種操作模式。

      (1)單播:用戶選擇的端口號將媒體發(fā)送到RTSP請求源。

      (2)服務器選擇地址多播:媒體服務器選擇多播地址和端口,這是現(xiàn)場直播或準點播常用的方式。

      (3)用戶選擇地址多播:如服務器加入正在進行的多播會議,多播地址、端口和密鑰由會議描述給出。

      5.RTSP狀態(tài)

      RTSP控制通過單獨協(xié)議發(fā)送的流,與控制通道無關。例如,RTSP控制可通過TCP連接,而數(shù)據(jù)流通過UDP。因此,即使媒體服務器沒有收到請 求,數(shù)據(jù)也會繼續(xù)發(fā)送。在連接生命期,單個媒體流可通過不同TCP連接順序發(fā)出請求來控制。所以,服務器需要維持能聯(lián)系流與RTSP請求的連接狀態(tài)。 RTSP中很多方法與狀態(tài)無關,但下列方法在定義服務器流資源的分配與應用上起著重要的作用:

      (1) SETUP:讓服務器給流分配資源,啟動RTSP連接。

      (2) PLAY與RECORD:啟動SETUP分配流的數(shù)據(jù)傳輸。

      (3) PAUSE:臨時停止流,而不釋放服務器資源。

      (4) TEARDOWN:釋放流的資源,RTSP連接停止。

      標識狀態(tài)的RTSP方法使用連接頭段識別RTSP連接,為響應SETUP請求,服務器連接產(chǎn)生連接標識。

      6.與其他協(xié)議的關系

      RTSP在功能上與HTTP有重疊,與HTTP相互作用體現(xiàn)在與流內容的初始接觸是通過網(wǎng)頁的。目前的協(xié)議規(guī)范目的在于允許在網(wǎng)頁服務器與實現(xiàn) RTSP媒體服務器之間存在不同傳遞點。例如,演示描述可通過HTTP和RTSP檢索,這降低了瀏覽器的往返傳遞,也允許獨立RTSP服務器與用戶不全依 靠HTTP。

      但是,RTSP與HTTP的本質差別在于數(shù)據(jù)發(fā)送以不同協(xié)議進行。HTTP是不對稱協(xié)議,用戶發(fā)出請求,服務器作出響應。RTSP中,媒體用戶和服 務器都可發(fā)出請求,且其請求都是無狀態(tài)的;在請求確認后很長時間內,仍可設置參數(shù),控制媒體流。重用HTTP功能至少在兩個方面有好處,即安全和代理。要 求非常接近時,在緩存、代理和授權上采用HTTP功能是有價值的。

      當大多數(shù)實時媒體使用RTP作為傳輸協(xié)議時,RTSP沒有綁定到RTP。RTSP假設存在演示描述格式可表示包含幾個媒體流的演示的靜態(tài)與臨時屬性。

      二. 協(xié)議參數(shù)

      1.RTSP版本

      H.321采用,用RTSP代替HTTP。

      2.RTSPURL

      “rksp"和“rtspu"方案用于指RTSP協(xié)議使用的網(wǎng)絡資源,為RTSP URL定義方案特定的語法和語義。

      3.會議標識

      會議標識對RTSP來說是模糊的,采用標準URI編碼方法編碼,可包含任何八位組數(shù)值。會議標識必須全局惟一。

      4.連接標識

      連接標識是長度不確定的字符串,必須隨機選擇,至少要8個八位組長,使其很難被猜出。

      5.SMPTE相關時標

      SMPTE相關時標表示相對剪輯開始的時間,相關時標表示成SMPTE時間代碼,精確到幀級。時間代碼格式為小時:分鐘:秒:幀。缺省smpte格 式是"SMPTE 30",幀速率為每秒29.97幀。其他SMPTE代碼可選擇使用smpte時間獲得支持(如"SMPIE 25")。時間數(shù)值中幀段值可從0到29。每秒30與29.97幀的差別可將每分鐘的頭兩幀丟掉來實現(xiàn)。如幀值為零,就可刪除。

      6.正常播放時間

      正常播放時間(NPT)表示相對演示開始的流絕對位置。時標由十進制分數(shù)組成。左邊部分用秒或小時、分鐘、秒表示;小數(shù)點右邊部分表示秒的部分。演 示的開始對應0.0秒,負數(shù)沒有定義。特殊常數(shù)定義成現(xiàn)場事件的當前時刻,這也許只用于現(xiàn)場事件。直觀上,NPT是聯(lián)系觀看者與程序的時鐘,通常以數(shù)字式 顯示在VCR上。

      7.絕對時間

      絕對時間表示成ISO 8601時標,采用UTC(GMT)。

      8.可選標簽

      可選標簽是用于指定RTSP新可選項的惟一標記。這些標記用在請求和代理-請求頭段。當?shù)怯浶翿TSP選項時,需提供下列信息:

      (1)名稱和描述選項。名稱長度不限,但不應該多于20個字符。名稱不能包括空格、控制字符。

      (2)表明誰改變選項的控制。如IETF,ISO,ITU-T,或其他國際標準團體、聯(lián)盟或公司。

      (3)深入描述的參考,如RFC、論文、專利、技術報告、文檔源碼和計算機手冊。

      (4)對專用選項,附上聯(lián)系方式。

      三. RTSP信息

      RTSP是基于文本的協(xié)議,采用ISO 10646字符集,使用UTF-8編碼方案。行以CRLF中斷,但接收者本身可將CR和LF解釋成行終止符?;谖谋镜膮f(xié)議使以自描述方式增加可選參數(shù)更 容易。由于參數(shù)的數(shù)量和命令的頻率出現(xiàn)較低,處理效率沒引起注意。文本協(xié)議很容易以腳本語言(如:Tcl,Visual Basic與Perl)實現(xiàn)研究原型。

      ISO 10646字符集避免敏感字符集切換,但對應用來說不可見。RTCP也采用這種編碼方案。帶有重要意義位的ISO 8859-1字符表示如100001x 10x x x x x x。RTSP信息可通過任何低層傳輸協(xié)議攜帶。

      請求包括方法、方法作用于其上的對象以及進一步描述方法的參數(shù)。方法也可設計為在服務器端只需要少量或不需要狀態(tài)維護。當信息體包含在信息中,信息體長度由如下因素決定:

      (1)不管實體頭段是否出現(xiàn)在信息中,不包括信息體的響應,信息總以頭段后第一個空行結束。

      (2)如出現(xiàn)內容長度頭段,其值以字節(jié)計,表示信息體長度。如未出現(xiàn)頭段,其值為零。

      (3)服務器關閉連接。

      注意,RTSP目前并不支持HTTP 1.1“塊”傳輸編碼,需要有內容長度頭。假如返回適度演示描述長度,即使動態(tài)產(chǎn)生,使塊傳輸編碼沒有必要,服務器也應該能決定其長度。如有實體,即使必須有內容長度,且長度沒顯式給出,規(guī)則可確保行為合理。

      從用戶到服務器端的請求信息在第一行內包括源采用的方法、源標識和所用協(xié)議版本。RTSP定義了附加狀態(tài)代碼,但沒有定義任何HTTP代碼。

      四. 實體

      如不受請求方法或響應狀態(tài)編碼限制,請求和響應信息可傳輸實體,實體則由實體頭文件和實體體組成,有些響應僅包括實體頭。在此,根據(jù)誰發(fā)送實體、誰接收實體,發(fā)送者和接收者可分別指用戶和服務器。

      實體頭定義實體體可選元信息,如沒有實體體,指請求標識的資源。擴展頭機制允許定義附加實體頭段,而不用改變協(xié)議,但這些段不能假定接收者能識別。不可識別頭段應被接收者忽略,而讓代理轉發(fā)。

      五. 連接

      RTSP請求可以幾種不同方式傳送:

      ·             持久傳輸連接,用于多個請求/響應傳輸。

      ·             每個請求/響應傳輸一個連接。

      ·             無連接模式。

      傳輸連接類型由RTSP URL來定義。對“rtsp'’方案,需要持續(xù)連接;而"rtspu"方案,調用RTSP請求發(fā)送,而不用建立連接。

      不像HTTP,RTSP允許媒體服務器給媒體用戶發(fā)送請求。然而,這僅在持久連接時才支持,否則媒體服務器沒有可靠途徑到達用戶,這也是請求通過防火墻從媒體服務器傳到用戶的惟一途徑。

      六. 方法定義

      方法記號表示資源上執(zhí)行的方法,它區(qū)分大小寫。新方法可在將來定義,但不能以$開頭。已定義方法如表14-03-1所示。

      表14-03-1   RTSP方法

      方法

      方向

      對象

      要求

      含義

      DESCRIBE

      C->S

      P, S

      推薦

      檢查演示或媒體對象的描述,也允許使用接收頭指定用戶理解的描述格式。DESCRIBE的答復-響應組成媒體RTSP初始階段

      ANNOUNCE

      C->S

      S->C

      P, S

      可選

      當從用戶發(fā)往服務器時,ANNOUNCE將請求URL識別的演示或媒體對象描述發(fā)送給服務器;反之,ANNOUNCE實時更新連接描述。如新媒體流加入演示,整個演示描述再次發(fā)送,而不僅僅是附加組件,使組件能被刪除

      GET_PARAMETER

      C->S

      S->C

      P, S

      可選

      GET_PARAMETER請求檢查RUL指定的演示與媒體的參數(shù)值。沒有實體體時,GET_PARAMETER也許能用來測試用戶與服務器的連通情況

      OPTIONS

      C->S

      S->C

      P, S

      要求

      可在任意時刻發(fā)出OPTIONS請求,如用戶打算嘗試非標準請求,并不影響服務器狀態(tài)

      PAUSE

      C->S

      P, S

      推薦

      PAUSE請求引起流發(fā)送臨時中斷。如請求URL命名一個流,僅回放和記錄被停止;如請求URL命名一個演示或流組,演示 或組中所有當前活動的流發(fā)送都停止?;謴突胤呕蛴涗浐?,必須維持同步。在SETUP消息中連接頭超時參數(shù)所指定時段期間被暫停后,盡管服務器可能關閉連接 并釋放資源,但服務器資源會被預訂

      PLAY

      C->S

      P, S

      要求

      PLAY告訴服務器以SEFUP指定的機制開始發(fā)送數(shù)據(jù);直到一些SETUP請求被成功響應,客戶端才可發(fā)布PLAY請 求。PLAY請求將正常播放時間設置在所指定范圍的起始處,發(fā)送流數(shù)據(jù)直到范圍的結束處。PLAY請求可排成隊列,服務器將PLAY請求排成隊列,順序執(zhí) 行

      RECORD

      C->S

      P, S

      可選

      該方法根據(jù)演示描述初始化媒體數(shù)據(jù)記錄范圍,時標反映開始和結束時間;如沒有給出時間范圍,使用演示描述提供的開始和結束 時間。如連接已經(jīng)啟動,立即開始記錄,服務器數(shù)據(jù)請求URL或其他URL決定是否存儲記錄的數(shù)據(jù);如服務器沒有使用URL請求,響應應為201(創(chuàng)建), 并包含描述請求狀態(tài)和參考新資源的實體與位置頭。支持現(xiàn)場演示記錄的媒體服務器必須支持時鐘范圍格式,smpte格式?jīng)]有意義

      REDIRECT

      S->C

      P, S

      可選

      重定向請求通知客戶端連接到另一服務器地址。它包含強制頭地址,指示客戶端發(fā)布URL請求;也可能包括參數(shù)范圍,以指明重定向何時生效。若客戶端要繼續(xù)發(fā)送或接收URL媒體,客戶端必須對當前連接發(fā)送TEARDOWN請求,而對指定主執(zhí)新連接發(fā)送SETUP請求

      SETUP

      C->S

      S

      要求

      對URL的SETUP請求指定用于流媒體的傳輸機制。客戶端對正播放的流發(fā)布一個SETUP請求,以改變服務器允許的傳輸 參數(shù)。如不允許這樣做,響應錯誤為"455 Method Not Valid In This State”。為了透過防火墻,客戶端必須指明傳輸參數(shù),即使對這些參數(shù)沒有影響

      SET_PARAMETER

      C->S

      S->C

      P, S

      可選

      這個方法請求設置演示或URL指定流的參數(shù)值。請求僅應包含單個參數(shù),允許客戶端決定某個特殊請求為何失敗。如請求包含多 個參數(shù),所有參數(shù)可成功設置,服務器必須只對該請求起作用。服務器必須允許參數(shù)可重復設置成同一值,但不讓改變參數(shù)值。注意:媒體流傳輸參數(shù)必須用 SETUP命令設置。將設置傳輸參數(shù)限制為SETUP有利于防火墻。將參數(shù)劃分成規(guī)則排列形式,結果有更多有意義的錯誤指示

      TEARDOWN

      C->S

      P, S

      要求

      TEARDOWN請求停止給定URL流發(fā)送,釋放相關資源。如URL是此演示URL,任何RTSP連接標識不再有效。除非全部傳輸參數(shù)是連接描述定義的,SETUP請求必須在連接可再次播放前發(fā)布

      注:P----演示,S----流,C----用戶端,S----服務器端

       

      某些防火墻設計與其他環(huán)境可能要求服務器插入RTSP方法和流數(shù)據(jù)。由于插入將使客戶端和服務器操作復雜,并增加附加開銷,除非有必要,應避免這樣 做。插入二進制數(shù)據(jù)僅在RTSP通過TCP傳輸時才可使用。流數(shù)據(jù)(如RTP包)用一個ASCII字符$封裝,后跟一個一字節(jié)通道標識,其后是封裝二進制 數(shù)據(jù)的長度,兩字節(jié)整數(shù)。流數(shù)據(jù)緊跟其后,沒有CRLF,但包括高層協(xié)議頭。每個$塊包含一個高層協(xié)議數(shù)據(jù)單元。

      當傳輸選擇為RTP,RTCP信息也被服務器通過TCP連接插入。缺省情況下,RTCP包在比RTP通道高的第一個可用通道上發(fā)送??蛻舳丝赡茉诹? 一通道顯式請求RTCP包,這可通過指定傳輸頭插入?yún)?shù)中的兩個通道來做到。當兩個或更多流交叉時,為取得同步,需要RTCP。而且,這為當網(wǎng)絡設置需要 通過TCP控制連接透過RTP/RTCP提供了一條方便的途徑,可能時,在UDP上進行傳輸。

      七. 流水線操作

      支持持久連接或無連接的客戶端可能給其請求排隊。服務器必須以收到請求的同樣順序發(fā)出響應。如果請求不是發(fā)送給多播組,接收者就確認請求,如沒有確認信息,發(fā)送者可在超過一個來回時間(RTT)后重發(fā)同一信息。

      在TCP中RTT估計的初始值為500ms。應用緩存最后所測量的RTT,作為將來連接的初始值。如使用一個可靠傳輸協(xié)議傳輸RTSP,請求不允許 重發(fā),RTSP應用反過來依賴低層傳輸提供可靠性。如兩個低層可靠傳輸(如TCP和RTSP)應用重發(fā)請求,有可能每個包損失導致兩次重傳。由于傳輸棧在 第一次嘗試到達接收者前不會發(fā)送應用層重傳,接收者也不能充分利用應用層重傳。如包損失由阻塞引起,不同層的重發(fā)將使阻塞進一步惡化。時標頭用來避免重發(fā) 模糊性問題,避免對圓錐算法的依賴。每個請求在CSeq頭中攜帶一個系列號,每發(fā)送一個不同請求,它就加一。如由于沒有確認而重發(fā)請求,請求必須攜帶初始 系列號。

      實現(xiàn)RTSP的系統(tǒng)必須支持通過TCP傳輸RTSP,并支持UDP。對UDP和TCP,RTSP服務器的缺省端口都是554。許多目的一致的 RTSP包被打包成單個低層PDU或TCP流。RTSP數(shù)據(jù)可與RTP和RTCP包交叉。不像HTTP,RTSP信息必須包含一個內容長度頭,無論信息何 時包含負載。否則,RTSP包以空行結束,后跟最后一個信息頭。

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多