複製鏈接
請複製以下鏈接發送給好友

流媒體傳輸技術

鎖定
本文主要介紹流媒體傳輸技術,包括傳輸過程、緩存系統和傳輸協議。

流媒體傳輸技術概述

在網絡上傳輸音視頻等多媒體信息主要有下載和流式傳輸兩種方案。
下載方式,一般是使用下載工具選擇需下載的文件後啓動下載過程,根據文件大小,這個過程常常需要幾分鐘甚至幾小時,用户只有等待整個文件下載完成後,才能開始音視頻多媒體文件的播放。而採用流式傳輸方式,用户不必像採用下載方式那樣需要等到整個文件全部下載完畢再觀看出,而只需經過幾秒或幾十秒的啓動延時就可以在用户的計算機上進行播放和觀看。

流媒體傳輸技術傳輸過程

那這是如何做到的呢?為了搞清楚這個,我們首先來看看流式傳輸的一般過程:
  1. 用户選擇某一流媒體服務後,Web瀏覽器與Web服務器之間使用HTTP/TCP交換控制信息,以便把需要傳輸的實時數據從原始信息中檢索出來。
  2. Web瀏覽器啓動音視頻客户程序,使用HTTP協議從Web服務器檢索相關參數對音視頻客户程序初始化,這些參數可能包括目錄信息、音視頻數據的編碼類型或與音視頻檢索相關的服務器地址。
  3. 音視頻客户程序及流媒體服務器運行實時流協議,以交換音視頻傳輸所需的控制信息,實時流協議提供執行播放、快進、快倒、暫停及錄製等命令的方法。
  4. 流媒體服務器使用RTP/UDP協議將音視頻數據傳輸給音視頻客户程序,一旦音視頻數據抵達客户端,音視頻客户程序即可播放輸出。後續傳給客户端的音視頻數據會被客户端緩存起來,待播放後再從緩存中刪除。
從上面的過程可以看出,實現這種流式傳輸,除了需要專用的服務器和播放器外,還需要兩個關鍵條件:一是緩存,二是合適的傳輸協議。

流媒體傳輸技術緩存系統

使用緩存系統能消除時延和抖動的影響,以保證數據包順序正確,從而使媒體數據能夠連續輸出。因為一個實時音視頻源或存儲的音視頻文件在傳輸過程中將被分解為許多數據包,而網絡又是動態變化的,各個數據包選擇的路由可能不相同,故到達客户端的時延也就不同,甚至先發的數據包有可能後到,使用緩存系統後這些數據包都將先入到緩存中然後再根據數據包順序正確編排,從而使媒體數據能夠按照正確的順序輸出。通常高速緩存所需容量並不大,因為通過丟棄已經播放過的內容可以重新利用空閒出來的空間來緩存後續尚未播放的內容。

流媒體傳輸技術傳輸協議

流式傳輸的實現需要合適的傳輸協議,你可能很自然想到TCP協議,但是由於TCP需要較多的開銷,所以不太適合傳輸實時數據。在流式傳輸的實現方案中,一般採用的傳輸協議有實時傳輸協議RTP、實時傳輸控制協議RTCP、資源預留協議RSVP、實時流協議RTSP以及多用途互聯網郵件擴充協議MIME。通過這些不同的通信協議與音視頻服務器建立聯繫,就可以將服務器上的音視頻輸送到客户機上,可以實現遠程的媒體文件播放。下面來看一下這幾個常用協議。
  1. 實時傳輸協議RTP(Real-time Transport Protocol)主要是用於互聯網上針對流媒體數據流的一種傳輸協議。其目的是提供時間信息和實現流同步。RTP 通常使用UDP 來傳送數據。RTP 本身並不能為按順序傳送數據包,不能提供可靠的傳送機制,也不能提供流量控制或擁塞控制,它依靠RTCP 提供這些服務。
  2. 實時傳輸控制協議RTCP(Real-time Transport Control Protocol)為RTP提供流量控制和擁塞控制服務,是RTP的控制協議。它週期性地與所有會話的參與者進行通信,並採用和傳送數據包相同的機制來發送控制包。RTCP包中含有已發送的數據包數量和丟失的數據包數量等統計資料,因此服務器可以利用這些信息動態地改變傳輸速率,甚至改變有效載荷類型。RTP 和RTCP 配合使用,它們能以有效的反饋和最小的開銷使傳輸效率最佳化,因而特別適合網上的流媒體傳輸。
  3. 資源預留協議RSVP(Resource Reservation Protocol)是網絡中預留所需資源的傳送通道建立和控制的信令協議,它能根據業務數據的QoS要求和帶寬資源管理策略進行帶寬資源分配,在IP網上提供一條完整的路徑。RSVP協議是通過預留網絡資源建立從發送端到接收端的路徑,使得IP網絡能提供接近於電路交換質量的業務。但是RSVP沒有提供多媒體數據的傳輸能力,它必須配合其它實時傳輸協議來完成多媒體通信服務。
  4. 實時流協議(RTSP)就是用於控制具有實時特徵數據傳輸的應用層協議。RTSP可建立和控制一個或多個音頻和視頻連續媒體的時間同步流。雖然它可能會將控制流插入連續媒體流,但它本身並不發送連續媒體流。RTSP用於通過網絡對媒體服務器進行遠程控制。RTSP服務器維護會話的狀態信息,從而通過RTSP的狀態參數可對連續媒體流的回放進行控制(如暫停等)。
  5. 多用途互聯網郵件擴充協議(MIME)是SMTP協議的擴展,不僅用於電子郵件,還能用來標記在互聯網上傳輸的任何文件類型。瀏覽器也是通過MIME來識別流媒體的類型,並調用相應的程序或插件來處理。IE等常用的瀏覽器都提供了很多的流媒體支持。