一。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兩種不一樣的通訊協議在客戶端和服務器間創建聯繫。