7.3 流媒體技術
流媒體是指在網路中使用流式(Sreaming)傳輸技術進行傳輸的連續時基媒體,如音頻資料流或視頻資料流,而不是一種新的媒體。流媒體技術(或稱為流式媒體技術)就是把連續的影像和聲音資訊經過壓縮處理後放到網路伺服器上,讓瀏覽者一邊下載一邊觀看、收聽,而不需要等到整個多媒體檔案下載完成就可以即時觀看的技術。流媒體技術並不是單一的技術,它是融合流媒體資料的採集、壓縮、儲存、傳輸以及網路通訊等多項技術之後所產生的技術。
流媒體給互連網帶來的變化是巨大的,對於使用者來講,觀看流媒體檔案與觀看傳統的音視頻檔案在操作上幾乎沒有任何差別。惟一有區別的就是在影音品質上,由於流媒體為瞭解決頻寬問題以及縮短下載時間,而採用了較高的壓縮比,因此使用者感受不到很高的映像和聲音品質。
一.串流
串流定義很廣泛,現在主要指通過網路傳送媒體(如視頻、音頻)的技術總稱。其特定含義為通過Internet 將影視節目傳送到PC機。實現串流有兩種方法:即時資料流式傳輸(Realtime streaming)和順序串流(progressive streaming)。
1.順序串流
順序串流是順序下載,在下載檔案的同時使用者可觀看再線媒體,在給定時刻,使用者只能觀看已下載的那部分,而不能跳到還未下載的前頭部分,順序串流不象即時資料流式傳輸在傳輸期間根據使用者串連的速度做調整。由於標準的HTTP伺服器可發送這種形式的檔案,也不需要其他特殊協議,它經常被稱作HTTP串流。順序串流比較適合高品質的短片段,如標題、片尾和廣告,由於該檔案在播放前觀看的部分是無損下載的,這種方法保證電影播放的最終品質。這意味著使用者在觀看前,必須經曆延遲,對較慢的串連尤其如此。
對通過數據機發布短片段,順序串流顯得很實用,它允許用比數據機更高的資料速率建立視頻片段。儘管有延遲,畢竟可讓你發布較高品質的視頻片段。
順序流式檔案是放在標準HTTP 或FTP伺服器上,易於管理,基本上與防火牆無關。順序串流不適合長片段和有隨機訪問要求的視頻,如:講座、演說與示範。它也不支援現場廣播,嚴格說來,它是一種點播技術。
2.即時資料流式傳輸
二.流媒體技術原理
多媒體資料必須進行預先處理才能適合串流,這是因為目前的網路頻寬對多媒體巨大的資料流兩來說還顯得遠遠不夠。預先處理主要包括兩方面:一是降低品質;二是採用先進高效的壓縮演算法。
其基本原理
串流的過程一般是這樣的:
(1)使用者選擇某一流媒體服務後,Web瀏覽器與Web伺服器之間使用HTTP/TCP交換控制資訊,以便把需要傳輸的音/視頻流即時資料從原始資訊中檢索出來。
(2)客戶機上的Web瀏覽器啟動用戶端程式(即一些播放程式),使用HTTP從Web伺服器檢索相關參數對用戶端程式進行初始化。這些參數可能包括目錄資訊、音/視頻資料的編碼類別型或與A/V檢索相關的伺服器位址。
(3)用戶端程式及流媒體伺服器運行即時資料流控制協議(RTSP),以交換音/視頻資料流傳輸所需的控制資訊。RTSP起到一個遙控器的作用,用於用戶端對流媒體伺服器的遠端控制,控制媒體資料流的播放、快進、快倒、暫停等命令。
(4)流媒體伺服器使用RTP/UDP協議將音/視頻資料轉送給用戶端程式,一旦音/視頻資料抵達用戶端,音/視頻客戶程式即可播放輸出。
需要說明的是,在串流中,使用RTP/UDP和RTSP/TCP兩種不同的通訊協定與流媒體伺服器建立聯絡,是為了能夠把伺服器的輸出重新導向到一個不同於運行用戶端程式所在客戶機的目的地址。實現串流一般都需要專用伺服器和播放器。
三.支援流媒傳輸的網路通訊協定
1.即時傳輸協議RTP與RTCP
RTP(Real-timeTransportProtocol)是用於Internet上針對多媒體資料流的一種傳輸協議。RTP被定義為在一對一或一對多的傳輸情況下工作,其目的是提供時間資訊和實現流同步。RTP通常使用UDP來傳送資料,但RTP也可以在TCP或ATM等其他協議之上工作。當應用程式開始一個RTP會話時將使用兩個連接埠:一個給RTP,一個給RTCP。RTP本身並不能為按順序傳送資料包提供可靠的傳送機制,也不提供流量控制或擁塞控制,它依靠RTCP提供這些服務。通常RTP演算法並不作為一個獨立的網路層來實現,而是作為應用程式代碼的一部分。
即時傳輸控制通訊協定RTCP。RTCP(Real-timeTransportControlProtocol)和RTP一起提供流量控制和擁塞控制服務。在RTP會話期間,各參與者周期性地傳送RTCP包。RTCP包中含有已發送的資料包的數量、丟失的資料包的數量等統計資料,因此,伺服器可以利用這些資訊動態地改變傳輸速率,甚至改變有效載荷類型。RTP和RTCP配合使用,它們能以有效反饋和最小的開銷使傳輸效率最佳化,因而特別適合傳送網上的即時資料。
RTCP執行下列四大功能:
主要是提供資料發布的品質反饋。是作為RTP傳輸協議的一部分,與其他傳輸協議的流和阻塞控制有關。反饋對自適應編碼控制直接起作用,但IP組播經驗表明,從寄件者收到反饋對診斷髮送錯誤是致關重要的。給所有參與者發送接收反饋報告允許問題觀察者估計那些問題是局部的,還是全域的。諸如IP組播等發布機制使網路服務供應商類團體可能接收反饋資訊,充當第三方監控者來診斷網路問題。反饋功能由RTCP寄件者和接收者報告執行。
RTCP帶有稱作規範名字(CNAME)的RTP源持久傳輸層標識。如發現衝突,或程式重新啟動,既然SSRC標識可改變,接收者需要CNAME跟蹤參與者。接收者也需要CNAME 與相關RTP串連中給定的幾個資料流聯絡。
前兩種功能要求所有參與者發送RTCP包,因此,為了RTP擴充到大規模數量,速率必須受到控制。讓每個參與者給其它參與者發送控制包,就大獨立觀察參與者數量。該數量用語計算包發送的速率。
第四個可選功能是傳送最小串連控制資訊,如參與者辨識。最可能用在\"鬆散控制\"串連,那裡參與者自由進入或離開,沒有成員控制或參數協調,RTCP充當通往所有參與者的方便通道,但不必支援應用的所有控制通訊要求。
2.即時資料流通訊協定RTSP
即時資料流通訊協定RTSP(RealTimeStreamingProtocol)是由RealNetworks和Netscape共同提出的,該協議定義了一對多應用程式如何有效地通過IP網路傳送多媒體資料。RTSP在體繫結構上位於RTP和RTCP之上,它使用TCP或RTP完成資料轉送。HTTP與RTSP相比,HTTP傳送HTML,而RTP傳送的是多媒體資料。HTTP請求由客戶機發出,伺服器作出響應;使用RTSP時,客戶機和伺服器都可以發出請求,即RTSP可以是雙向的。
3.資源預訂協議RSVP協議
由於音頻和視頻資料流比傳統資料對網路的延時更敏感,要在網路中傳輸高品質的音頻、視頻資訊,除頻寬要求之外,還需其他更多的條件。RSVP(ResourceReserveProtocol)是正在開發的Internet上的資源預訂協議,使用RSVP預留一部分網路資源(即頻寬),能在一定程度上為流媒體的傳輸提供QoS。在某些實驗性的系統如網路視頻會議工具vic中就整合了RSVP。
四.流媒體系統的組成
一個最基本的流媒體系統必須包括編碼器(Encoder)、流媒體伺服器(Server)和用戶端面播放器(Player)3個模組。模組之間通過特定的協議互相通訊,並按照特定格式互相分頁檔資料。其中編碼器用於將原始的音/視頻轉換成合適的流格式檔案,伺服器向用戶端發送編碼後的媒體流,用戶端播放器則負責解碼和播放接收到的媒體資料。
1、編碼器
編碼器的功能是對輸入的原始音、視頻訊號進行壓縮編碼。不同的流媒體業務,對編碼器有不同的效能要求。目前常用的視頻編碼方案有MPEG-4、H.264和Microsoft公司的Windows Media Video採用的AC-1;音頻編碼方案有MP3、MPEG-2、AAC、AMR和AMR-WB等。多媒體編碼器所產生的碼流只包含瞭解碼該碼流所必需的資訊,不包含媒體間的同步、隨機訪問等系統資訊,因此編碼後的多媒體資料還要被組織成為流媒體檔案格式用於傳輸或儲存。
2、流媒體伺服器
通常流媒體的播放採用以下三種方式
1.單播
在用戶端與媒體伺服器之間需要建立一個單獨的資料通道,從一台伺服器送出的每個資料包只能傳送給一個客戶機,這種傳送方式稱為單播。每個使用者必須分別對媒體伺服器發送單獨的查詢,而媒體伺服器必須向每個使用者發送所申請的資料包拷貝。這種巨大冗餘首先造成伺服器沉重的負擔,響應需要很長時間,甚至停止播放;管理員也被迫購買硬體和頻寬來保證一定的服務品質。
2.組播
在IP組播技術構建一種具有組播能力的網路上,允許路由器一次將資料包複製到多個通道上。採用組播方式,單台伺服器能夠對幾十萬台客戶機同時發送連續資料流而無延時。媒體伺服器只需要發送一個資訊包,而不是多個;所有發出請求的用戶端共用同一資訊包。資訊可以發送到任意地址的客戶機,減少網路上傳輸的資訊包的總量。網路利用效率大大提高,成本大為下降。
3.點播與廣播
點播串連是用戶端與伺服器之間的主動的串連。在點播串連中,使用者通過選擇內容項目來初始化用戶端串連。使用者可以開始、停止、後退、快進或暫停流。點播串連提供了對流的最大控制,但這種方式由於每個用戶端各自串連伺服器,卻會迅速用完網路頻寬。
廣播指的是使用者被動接收流。在廣播過程中,用戶端接收流,但不能控制流程。例如,使用者不能暫停、快進或後退該流。廣播方式中資料包的單獨一個拷貝將發送給網路上的所有使用者。 使用單播發送時,需要將資料包複製多個拷貝,以多個點對點的方式分別發送到需要它的那些使用者,而使用廣播方式發送,資料包的單獨一個拷貝將發送給網路上的所有使用者,而不管使用者是否需要,上述兩種傳輸方式會非常浪費網路頻寬。組播吸收了上述兩種發送方式的長處,克服了上述兩種發送方式的弱點,將資料包的單獨一個拷貝發送給需要的那些客戶。組播不會複製資料包的多個拷貝傳輸到網路上,也不會將資料包發送給不需要它的那些客戶,保證了網路上多媒體應用佔用網路的最小頻寬。
3、用戶端播放器
音/視頻RTP資料包經網路傳輸到用戶端後,先進入一個緩衝隊列等待,這個緩衝隊列中的所有資料包按照包頭的序號排序,如果有遲到的包,則按序號重新插入正確的位置上,這樣就避免了亂序的問題。
用戶端每次從隊列頭部讀取一幀資料,從包頭的時間標記中解出該幀的播放時間,然後進行音/視頻同步處理。同步後的資料將送入解碼器進行解碼,解碼後的資料被送入一個迴圈讀取的緩衝中等待。一旦該幀的播放時間到達,就將解碼資料從緩衝存中取出,送入播放模組進行顯示或播放。
五.流媒體檔案格式
流媒體檔案格式是支援採用流式傳播及播放的媒體格式。流式檔案格式經過特殊編碼,使其適合在網路上邊下載邊播放,而不是等到下載完整個檔案才能播放。將壓縮媒體檔案編碼成流式檔案,必須假如一些附加資訊,如計時、壓縮和著作權資訊。 編碼過程
常用流式檔案格式副檔名 媒體類型 公司 用戶端播放器
asf Advanced Streaming Format Microsoft Microsoft Windows Meadia Player
wmv Windows Mesia Video Microsoft Microsoft Windows Meadia Player
wma Windows Mesia Audio Microsoft Microsoft Windows Meadia Player
rm(rmvb) Real Video/Audio Real Networks Real Player
ra Real Audio Real Networks Real Player
rp Real Pix Real Networks Real Player
rt Real Text Real Networks Real Player
swf ShockWave Flash Macromedia ShockWave外掛程式
qt QuickTime Apple QuickTime Player
六.流媒體應用
1.線上直播
隨著Internet的普及網路上輿的資料不再局限於文字和圖形,有許多的視頻應用需要在網上直播,如世界盃現場直播、春節晚會直播等。對電視台來說,利用流媒體技術實現線上直播,可以最大範圍地覆蓋觀眾,能像電視直播一樣大致宣傳、廣告或滿足觀眾需求的目的。
2.ApsaraVideo for VOD
隨著多媒體技術、通訊技術以及硬體儲存技術的發展,人們已不再滿足以往單一、被動的單方向資訊擷取方式。採用流媒體技術的ApsaraVideo for VOD(Video on Demand,VOD)的互動式業務,正受到人們的歡迎。現在網上很多的線上影院基本上都是採用RealNetwork公司的RealSystem或微軟的Windows Meadia System。
3.遠程教育
遠程教育系統與傳統學校教育相比,突破了時空限制,增加了學習機會,有利於擴大教育規模,提高教學品質,降低教學成本。學習者可以在自己方便的時間、適合的地點,按照自己需要的速度和方式,運用豐富的教學資源來進行教學。目前許多大學都已採用流媒體技術實現了遠程教育。
此外,流媒體技術在電子商務、遠程醫學和視頻會議等許多方面都有成功應用。目前流媒體技術的應用主要有寬頻和窄帶兩種方式。窄帶方式包括多媒體新聞直播、遠程教學、e-Learing、股評分析和視頻會議等;寬頻方式包括網路電視、KTV、企業培訓和多媒體IDC等。