流媒體技術原理及播放方式

一、流媒體技術原理

  流式傳輸的實現需要緩存。因爲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程序所在客戶機的目的地址。實現流式傳輸一般都需要專用服務器和播放器,其基本原理如圖所示。

二、流媒體播放方式

  1.單播 

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

  2.組播

  IP組播技術構建一種具有組播能力的網絡,允許路由器一次將數據包複製到多個通道上。採用組播方式,單臺服務器能夠對幾十萬臺客戶機同時發送連續數據流而無延時。媒體服務器只需要發送一個信息包,而不是多個;所有發出請求的客戶端共享同一信息包。信息可以發送到任意地址的客戶機,減少網絡上傳輸的信息包的總量。網絡利用效率大大提高,成本大爲下降。

  3.點播與廣播

  點播連接是客戶端與服務器之間的主動的連接。在點播連接中,用戶通過選擇內容項目來初始化客戶端連接。用戶可以開始、停止、後退、快進或暫停流。點播連接提供了對流的最大控制,但這種方式由於每個客戶端各自連接服務器,卻會迅速用完網絡帶寬。
廣播指的是用戶被動接收流。在廣播過程中,客戶端接收流,但不能控制流。例如,用戶不能暫停、快進或後退該流。廣播方式中數據包的單獨一個拷貝將發送給網絡上的所有用戶。 使用單播發送時,需要將數據包複製多個拷貝,以多個點對點的方式分別發送到需要它的那些用戶,而使用廣播方式發送,數據包的單獨一個拷貝將發送給網絡上的所有用戶,而不管用戶是否需要,上述兩種傳輸方式會非常浪費網絡帶寬。組播吸收了上述兩種發送方式的長處,克服了上述兩種發送方式的弱點,將數據包的單獨一個拷貝發送給需要的那些客戶。組播不會複製數據包的多個拷貝傳輸到網絡上,也不會將數據包發送給不需要它的那些客戶,保證了網絡上多媒體應用佔用網絡的最小帶寬。

發佈了35 篇原創文章 · 獲贊 0 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章