1. 程式人生 > >流媒體技術基礎-流式傳輸基本概念(二)

流媒體技術基礎-流式傳輸基本概念(二)

二、 流媒體技術原理 

  流式傳輸的實現需要快取。因為Internet以包傳輸為基礎進行斷續的非同步傳輸,對一個實時A/V源或儲存的A/V檔案,在傳輸中它們要被分解為許多包,由於網路是動態變化的,各個包選擇的路由可能不盡相同,故到達客戶端的時間延遲也就不等,甚至先發的資料包還有可能後到。為此,使用快取系統來彌補延遲和抖動的影響,並保證資料包的順序正確,從而使媒體資料能連續輸出,而不會因為網路暫時擁塞使播放出現停頓。通常快取記憶體所需容量並不大,因為快取記憶體使用環形連結串列結構來儲存資料:通過丟棄已經播放的內容,流可以重新利用空出的快取記憶體空間來快取後續尚未播放的內容。 
  流式傳輸的實現需要合適的傳輸協議。由於TCP需要較多的開銷,故不太適合傳輸實時資料。在流式傳輸的實現方案中,一般採用HTTP/TCP來傳輸控制資訊,而用RTP/UDP來傳輸實時聲音資料。 

  流式傳輸的過程一般是這樣的:使用者選擇某一流媒體服務後,Web瀏覽器與Web伺服器之間使用HTTP/TCP交換控制資訊,以便把需要傳輸的實時資料從原始資訊中檢索出來;然後客戶機上的Web瀏覽器啟動A/VHelper程式,使用HTTP從Web伺服器檢索相關引數對Helper程式初始化。這些引數可能包括目錄資訊、A/V資料的編碼型別或與A/V檢索相關的伺服器地址。 
  A/VHelper程式及A/V伺服器執行實時流控制協議(RTSP),以交換A/V傳輸所需的控制資訊。與CD播放機或VCRs所提供的功能相似,RTSP提供了操縱播放、快進、快倒、暫停及錄製等命令的方法。A/V伺服器使用RTP/UDP協議將A/V資料傳輸給A/V客戶程式(一般可認為客戶程式等同於Helper程式),一旦A/V資料抵達客戶端,A/V客戶程式即可播放輸出。 

  需要說明的是,在流式傳輸中,使用RTP/UDP和RTSP/TCP兩種不同的通訊協議與A/V伺服器建立聯絡,是為了能夠把伺服器的輸出重定向到一個不同於執行A/VHelper程式所在客戶機的目的地址。實現流式傳輸一般都需要專用伺服器和播放器,其基本原理如圖3.1所示。 

三、流媒體播放方式 
  1.單播  
 在客戶端與媒體伺服器之間需要建立一個單獨的資料通道,從一臺伺服器送出的每個資料包只能傳送給一個客戶機,這種傳送方式稱為單播。每個使用者必須分別對媒體伺服器傳送單獨的查詢,而媒體伺服器必須向每個使用者傳送所申請的資料包拷貝。這種巨大冗餘首先造成伺服器沉重的負擔,響應需要很長時間,甚至停止播放;管理人員也被迫購買硬體和頻寬來保證一定的服務質量。 

  2.組播 
  IP組播技術構建一種具有組播能力的網路,允許路由器一次將資料包複製到多個通道上。採用組播方式,單臺伺服器能夠對幾十萬臺客戶機同時傳送連續資料流而無延時。媒體伺服器只需要傳送一個資訊包,而不是多個;所有發出請求的客戶端共享同一資訊包。資訊可以傳送到任意地址的客戶機,減少網路上傳輸的資訊包的總量。網路利用效率大大提高,成本大為下降。 
  3.點播與廣播 
  點播連線是客戶端與伺服器之間的主動的連線。在點播連線中,使用者通過選擇內容專案來初始化客戶端連線。使用者可以開始、停止、後退、快進或暫停流。點播連線提供了對流的最大控制,但這種方式由於每個客戶端各自連線伺服器,卻會迅速用完網路頻寬。 
廣播指的是使用者被動接收流。在廣播過程中,客戶端接收流,但不能控制流。例如,使用者不能暫停、快進或後退該流。廣播方式中資料包的單獨一個拷貝將傳送給網路上的所有使用者。 使用單播發送時,需要將資料包複製多個拷貝,以多個點對點的方式分別傳送到需要它的那些使用者,而使用廣播方式傳送,資料包的單獨一個拷貝將傳送給網路上的所有使用者,而不管使用者是否需要,上述兩種傳輸方式會非常浪費網路頻寬。組播吸收了上述兩種傳送方式的長處,克服了上述兩種傳送方式的弱點,將資料包的單獨一個拷貝傳送給需要的那些客戶。組播不會複製資料包的多個拷貝傳輸到網路上,也不會將資料包傳送給不需要它的那些客戶,保證了網路上多媒體應用佔用網路的最小頻寬。 


本文連結地址:http://www.chinavideoonline.com/lmtchangshi/lmtchangshi_002.htm