RTSP協議與HTTP協議

一。RTSP協議簡介

  流媒體 技術是一系列的網絡協議 的集合,包括:

  1. 實時傳輸協議RTP(Real-time Transport protocol)

  2. 實時傳輸控制協議RTCP(Real-time Transport Control protocol)

  3. 實時流協議RTSP(Real Time Streaming protocol)

  4. 資源預留協議RSVP(Resource Reserve Protocol)。

  應用層 RTSP

  傳輸層 RTP/RTCP
   TCP UDP

  網絡 層 IP


  實時流協議RTSP是一個應用層協議,用於控制具有實時特性的數據(例如多媒體 流)的傳送。爲多媒體數據流提供遠程控制功能,如播放、停止、快進等。該協議支持以下操作:

  1. 從媒體服務器 上獲取媒體;

  2. 邀請媒體服務器加入會議(Conference);

  3. 在一個已存在的演示(Presentation)中加入新的媒體流。

  RTSP協議一般與RTP/RTCP和RSVP等底層協議一起協同工作,提供基於Internet的整套的流服務。它可以選擇發送通道(例如:UDP、組播UDP和TCP)和基於RTP的發送機制。它可以應用於組播和點播。


  二。 HTTP協議簡介

  HTTP是一個屬於應用層的面向對象的協議,由於其簡捷、快速的方式,適用於分佈式超媒體信息系統。它於1990年提出,經過幾年的使用與發展,得到不斷地完善和擴展。目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的規範化工作正在進行之中,而且HTTP-NG(Next Generation of HTTP)的建議已經提出。

  HTTP協議的主要特點可概括如下:

  1.支持客戶/服務器模式。

  2.簡單快速:客戶向服務器請求服務時,只需傳送請求方法和路徑。請求方法常用的有GET、HEAD、POST。每種方法規定了客戶與服務器聯繫的類型不同。

  由於HTTP協議簡單,使得HTTP服務器的程序規模小,因而通信速度很快。

  3.靈活:HTTP允許傳輸任意類型的數據對象。正在傳輸的類型由Content-Type加以標記。

  4.無連接:無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開連接。採用這種方式可以節省傳輸時間。

  5.無狀態:HTTP協議是無狀態協議。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味着如果後續處理需要前面的信息,則它必須重傳,這樣可能導致每次連接傳送的數據量增大。另一方面,在服務器不需要先前信息時它的應答就較快。

  2.2 HTTP協議的幾個重要概念

  1.連接(Connection):一個傳輸層的實際環流,它是建立在兩個相互通訊的應用程序之間。

  2.消息(Message):HTTP通訊的基本單位,包括一個結構化的八元組序列並通過連接傳輸。

  3.請求(Request):一個從客戶端到服務器的請求信息包括應用於資源的方法、資源的標識符和協議的版本號

  4.響應(Response):一個從服務器返回的信息包括HTTP協議的版本號、請求的狀態(例如“成功”或“沒找到”)和文檔的MIME類型。

  5.資源(Resource):由URI標識的網絡數據對象或服務。

  6.實體(Entity):數據資源或來自服務資源的回映的一種特殊表示方法,它可能被包圍在一個請求或響應信息中。一個實體包括實體頭信息和實體的本身內容。

  7.客戶機(Client):一個爲發送請求目的而建立連接的應用程序。

  8.用戶代理(User agent):初始化一個請求的客戶機。它們是瀏覽器、編輯器或其它用戶工具。

  9.服務器(Server):一個接受連接並對請求返回信息的應用程序。

  10.源服務器(Origin server):是一個給定資源可以在其上駐留或被創建的服務器。

  11.代理(Proxy):一箇中間程序,它可以充當一個服務器,也可以充當一個客戶機,爲其它客戶機建立請求。請求是通過可能的翻譯在內部或經過傳遞到其它的服務器中。一個代理在發送請求信息之前,必須解釋並且如果可能重寫它。

  代理經常作爲通過防火牆的客戶機端的門戶,代理還可以作爲一個幫助應用來通過協議處理沒有被用戶代理完成的請求。

  12.網關 (Gateway):一個作爲其它服務器中間媒介的服務器。與代理不同的是,網關接受請求就好象對被請求的資源來說它就是源服務器;發出請求的客戶機並沒有意識到它在同網關打交道。

  網關經常作爲通過防火牆的服務器端的門戶,網關還可以作爲一個協議翻譯器以便存取那些存儲在非HTTP系統中的資源。

  13.通道(Tunnel):是作爲兩個連接中繼的中介程序。一旦激活,通道便被認爲不屬於HTTP通訊,儘管通道可能是被一個HTTP請求初始化的。當被中繼的連接兩端關閉時,通道便消失。當一個門戶(Portal)必須存在或中介(Intermediary)不能解釋中繼的通訊時通道被經常使用。

  14.緩存(Cache ):反應信息的局域存儲。


  三。 RTSP協議與HTTP協議的聯繫與區別

  RTSP協議負責在服務器和客戶端之間建立並控制一個或多個時間上同步的連續流媒體,其目標是象HTTP協議爲用戶提供文字和圖形服務那樣爲用戶提供連續媒體服務。因此,RTSP協議的設計在語法和操作上與HTTP協議很相似,這樣,對於HTTP的大部分擴展也適用於RTSP。

  但是RTSP協議和HTTP協議在很多方面有着區別:

  1. HTTP是一個無狀態協議,而RTSP協議是有狀態的。

  2. HTTP本質上是一個非對稱協議,客戶端提出請求而服務器響應;而RTSP是對稱的,服務器和客戶端都可發送和響應請求。

  1.2 RTSP協議機理

  在RTSP中,每個演示(Presentation)及其所對應的媒體流都由一個RTSP URL標識。整個演示及媒體特性都在一個演示描述(Presentation description )文件中定義,該文件可能包括媒體編碼方式、語言、RTSP URLs、目標地址、端口及其它參數。用戶在向服務器請求某個連續媒體流的服務之前,必須首先從服務器獲得該媒體流的演示描述(Presentation description )文件以得到必需的參數,演示描述文件的獲取可採用HTTP、email或其他方法。

  RTSP中的所有的操作都是通過服務器和客戶方的消息應答來完成的,其消息包括請求(Request)和響應(Response)兩種,RTSP正是通過服務器和客戶端的消息應答來完成媒體流的創建、初始化(SETUP)、VCR控制(PLAY、PAUSE)以及拆線(TEARDOWN)等操作的。在基於 Client/Server結構的分佈式視頻點播 系統中,RTSP協議的操作過程如圖:

  客戶機在向視頻服務器請求視頻服務之前,首先通過HTTP協議從Web服務器獲取所請求視頻服務的演示描述(Presentation description )文件,利用該文件提供的信息定位視頻服務地址(包括視頻服務器地址和端口號)及視頻服務的編碼方式等信息。然後客戶機根據上述信息向視頻服務器請求視頻服務。視頻服務初始化完畢,視頻服務器爲該客戶建立一個新的視頻服務流,客戶端與服務器運行實時流控制協議RTSP,以對該流進行各種VCR控制信號的交換,如播放(PLAY)、停止(PAUSE)、快進、快退等。當服務完畢,客戶端提出拆線(TEARDOWN)請求,

  需要說明的是,服務器使用RTP/UDP協議將媒體數據傳輸給客戶端,一旦數據抵達客戶端,客戶端應用程序即可播放輸出。在流式傳輸中,使用RTP/RTCP/UDP和RTSP/TCP兩種不同的通信協議在客戶端和服務器間建立聯繫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章