李偉權(quán) 廈門海洋職業(yè)技術(shù)學(xué)院 361012
流媒體技術(shù)在網(wǎng)絡(luò)傳輸中的應(yīng)用
李偉權(quán) 廈門海洋職業(yè)技術(shù)學(xué)院 361012
隨著人們學(xué)習(xí)、工作、生活與因特網(wǎng)的關(guān)系日益密切,在當前及未來的因特網(wǎng)技術(shù)發(fā)展中,流媒體技術(shù)的應(yīng)用與發(fā)展也越來越廣泛,流媒體在網(wǎng)絡(luò)中傳輸?shù)馁|(zhì)量問題也就日益突出,文章主要綜述了如何解決好流媒體在網(wǎng)絡(luò)傳輸中的應(yīng)用問題。
時延抖動;分組丟失;內(nèi)容分布網(wǎng)絡(luò);傳輸協(xié)議
當前,流媒體相關(guān)技術(shù)的應(yīng)用和發(fā)展很快,在Internet上傳輸流媒體得相關(guān)技術(shù)也成為研究者們的一個熱點。同時,在Internet上傳輸流媒體存在著許多困難,當前的網(wǎng)絡(luò)是在90年代發(fā)展起來的,基于的協(xié)議是IPv4,隨著網(wǎng)絡(luò)用戶的不斷增加,使得當前的Internet不適合傳輸連續(xù)的流媒體,而且網(wǎng)上的信息的交互性也日益增長,使得網(wǎng)絡(luò)中的信息傳輸量急劇增大,而網(wǎng)絡(luò)的傳輸瓶頸問題也日益突出。本文主要是探討在當前的網(wǎng)絡(luò)傳輸狀況下用哪些方式來有效地解決流媒體的傳輸問題。
流媒體是指在網(wǎng)絡(luò)中使用流式傳輸技術(shù)的連續(xù)時基媒體,如音頻、視頻或多媒體文件。而流式傳輸就是把連續(xù)的聲音和圖像信息經(jīng)過壓縮處理后放在網(wǎng)絡(luò)服務(wù)器上,讓用戶邊下載邊收看或收聽,而不需要等待整個文件下載到用戶自己的電腦后才可以觀看或收聽的網(wǎng)絡(luò)傳輸技術(shù)。
當前的多媒體在網(wǎng)絡(luò)中傳輸主要存在三種形式:1.流式存儲音頻/視頻,2.流式實況音頻/視頻;3.流式交互音頻/視頻。它們對網(wǎng)絡(luò)的傳輸要求也是不同的。比如它們對網(wǎng)絡(luò)傳輸時延的要求就不一樣,流式存儲的網(wǎng)絡(luò)時延可以在1s~10s之間,而流式實況則要求網(wǎng)絡(luò)時延最多為幾十s,流式交互的網(wǎng)絡(luò)時延則要求更加嚴格,一般不超過400ms,最好小于150ms,否則,用戶就難以接受。因此,一般而言,流式媒體在網(wǎng)絡(luò)中的傳輸主要存在兩個主要需要解決的問題,1.時延抖動;2.分組丟失。
流媒體的傳輸實現(xiàn)一般需要合適的傳輸協(xié)議。由于TCP需要較多的開銷,比如TCP協(xié)議中的重傳機制就不能適用于流媒體的分組數(shù)據(jù)報傳輸,在流媒體的網(wǎng)絡(luò)傳輸過程中,如遇到網(wǎng)絡(luò)擁塞或路由器緩沖區(qū)已滿,則有可能將包含音頻/視頻的分組丟失,因此,在流媒體的傳輸方案中一般都采用HTTP/TCP來控制傳輸控制信息,而用RTP/UDP來傳輸實時數(shù)據(jù)。
目前,網(wǎng)絡(luò)上支持流媒體傳輸?shù)木W(wǎng)絡(luò)協(xié)議有:實時傳輸協(xié)議RTP;實時傳輸控制協(xié)議RTCP;實時流協(xié)議RTSP;RSVP協(xié)議。
當一個實時的音頻/視頻源或是存儲的音頻/視頻文件在傳輸過程中被分解成許多的數(shù)據(jù)包分組,而網(wǎng)絡(luò)本身是動態(tài)變化的,因此,各個分組選擇的路由可能就不相同,到達用戶端的時延也就不同。因此,需要采用一些技術(shù)來消除時延和抖動的影響,以保證數(shù)據(jù)包順序正確,從而使媒體數(shù)據(jù)能夠連續(xù)輸出播放。比如,考慮使用RTP來傳輸采用64kb/s的PCM編碼語音數(shù)據(jù),再假設(shè)應(yīng)用在20ms塊中收集這些編碼數(shù)據(jù),即每個塊中有160個字節(jié)。發(fā)送端在每個語音數(shù)據(jù)塊的前面加上一個RTP首部(RTP header),這個首部包括音頻編碼的類型、序號和時間戳。這樣一個RTP首部和音頻塊一起形成RTP分組(RTP packer)。然后通過UDP套接字接口發(fā)送該RTP分組。在接收端,應(yīng)用從它的套接字接口接收到該RTP分組,從RTP分組中提取出該音頻塊,并使用RTP分組的首部字段來正確解碼和播放該音頻塊。另外,也可以采用丟失恢復(fù)方案(loss recovery scheme)來解決分組在網(wǎng)絡(luò)中傳輸過程中丟失存在的情況下仍然保持可接受的流媒體質(zhì)量。比如,在因特網(wǎng)電話應(yīng)用中通常采用的兩種類型丟失方案:前向糾錯(F E C)和交錯(interleaving)。前向糾錯的基本思想是給原始的分組流增加冗余信息,這些冗余信息可以用來重建一些丟失分組的近似或準確版本。付出的代價是多少會增加音頻流的傳輸速率,而且有可能在接收端會產(chǎn)生較大的分組丟失間隙。交錯技術(shù)作為冗余傳輸?shù)囊环N替代方案,是發(fā)送方在發(fā)送分組之前對音頻流數(shù)據(jù)單元重新排序,使得相鄰的單元在傳輸流中以一定的距離分開,交錯可以減輕分組丟失的影響,一般不會產(chǎn)生像前向糾錯方案中出現(xiàn)的大的分組間隙,而是產(chǎn)生多個小的分組間隙,明顯提高音頻流的傳輸質(zhì)量而且網(wǎng)絡(luò)的開銷也較低,也不增加流的帶寬需求。但該方案明顯增加了時延,因此,比較適合于處理流式存儲音頻。
當然,也可以在接收端采用延遲播放(delaying playout)技術(shù)來消除流媒體的時延抖動,延遲播放要和分組流中的數(shù)據(jù)塊的序號和時間戳機制結(jié)合起來,一般有固定播放時延和自適應(yīng)播放時延兩種策略:1.固定播放時延:即接收方在塊產(chǎn)生的q ms之后播放它。如果一個塊在時刻t加上時間戳,那么接收方將在t+q的時間后播放該數(shù)據(jù)塊。若在預(yù)定的播放時間之后才到達接收方的數(shù)據(jù)塊將被丟棄,即認為該分組丟失。對于固定播放時延策略,就接收方而言,希望q值要小些,這樣在不同固定播放時延下的分組丟失曲線如圖1所示??梢垣@得比較滿意的交互體驗。比如,因特網(wǎng)電話能夠支持400ms以內(nèi)的播放時延。因此,最重要的就是如何來界定q值。2.采用自適應(yīng)播放時延策略能夠較好解決這個問題,在理想的情況下,接收方要在滿足丟失率低于一定百分比的限制下,使播放時延最小。假設(shè)ti是第i個分組的時間戳,ri是分組i被接收方接收的時間,pi是分組在接收方播放的時間,di是平均網(wǎng)絡(luò)時延的估計值,vi估計平均時延的估計平均時延偏差。則可以根據(jù)下面算法來確定播放時間pi:
圖1 不同固定播放時延下分組丟失曲線圖
K是個正的常數(shù)。
目前,流媒體的應(yīng)用發(fā)展很快,僅從發(fā)送方或接收方來改善時延抖動和分組丟失顯然是不足以解決流媒體在網(wǎng)絡(luò)中的傳輸問題的,因此接下來,再討論一下關(guān)于媒體流在網(wǎng)絡(luò)中傳輸?shù)牧硪环N解決方法,即內(nèi)容分發(fā)網(wǎng)絡(luò)(content distribution network CDN)。這是一種從網(wǎng)絡(luò)全局的角度來更好解決流媒體在網(wǎng)絡(luò)中傳輸?shù)膯栴}。CDN的基本工作原理是:使用一種不同于Web高速緩存的模式,對于CDN而言,是由內(nèi)容提供商來向CDN公司支付費用,使得其流媒體可以被請求的用戶在更短時間得到。即由內(nèi)容提供商將其服務(wù)內(nèi)容提供給CDN公司,而CDN公司再將服務(wù)內(nèi)容復(fù)制到整個因特網(wǎng)上許多的CDN服務(wù)器,而這些服務(wù)器一般放置在數(shù)據(jù)中心(data center),數(shù)據(jù)中心通常由第三方擁有并運營,并靠近ISP接入網(wǎng)絡(luò)和客戶機。因此,在一個CDN的基本工作模式中重要的是如何來確定對于請求主機而言哪個是最好的CDN服務(wù)器,以便以最快的速度向客戶機提供內(nèi)容。顯然,CDN公司必須掌握因特網(wǎng)選路表以及從不同CDN服務(wù)器到各個接入網(wǎng)絡(luò)的往返時延估計值和其他測量數(shù)據(jù)來為ISP提供最好的盡力而為的服務(wù)。因此,采用CDN來傳輸流媒體有以下三個特點:1.降低主干網(wǎng)絡(luò)的流量負荷;2.通過分布在網(wǎng)絡(luò)邊緣的流媒體服務(wù)器,避免了網(wǎng)絡(luò)擁塞;3.通過擴展CDN服務(wù)器數(shù)量可以有效降低每個CDN服務(wù)器的性能要求。
由于當前的網(wǎng)絡(luò)運行機制是建立在盡力而為的服務(wù)基礎(chǔ)之上,即對于應(yīng)用將得到的服務(wù)質(zhì)量(QoS)不作任何承諾。因此,為了解決流媒體在網(wǎng)絡(luò)中傳輸?shù)臅r延抖動和分組丟失的問題,還需要在因特網(wǎng)中引入確保服務(wù)質(zhì)量的四個基本原則和調(diào)度、監(jiān)管機制。
四個基本原則分別是:1.將分組進行標記,使得路由器能夠區(qū)分不同類型流量的分組,即不同類型流量的分組擁有不同的網(wǎng)絡(luò)傳輸優(yōu)先級別;2.在不同流量之間提供一定的隔離,使之不會產(chǎn)生相互干擾;3.盡可能地有效使用網(wǎng)絡(luò)資源,比如,帶寬共享;4.呼叫準入原則,即在網(wǎng)絡(luò)中,為流媒體的傳輸至少提供一種最低的服務(wù)質(zhì)量,否則,網(wǎng)絡(luò)將拒絕對該流媒體使用網(wǎng)絡(luò)。
調(diào)度、監(jiān)管機制:
調(diào)度機制:通常采用先入先出(FIFO)、優(yōu)先級排隊、輪轉(zhuǎn)和加權(quán)公平排隊(WFQ)。
監(jiān)管機制:目前在網(wǎng)絡(luò)最常用的監(jiān)管機制是采用漏桶機制。
以上簡要說明了在網(wǎng)絡(luò)中,為更有效、更可靠傳輸流媒體而采用的四個基本原則和常用的調(diào)度、監(jiān)管機制。
最后,來簡單探討關(guān)于流媒體技術(shù)的主要應(yīng)用。
1.視頻點播(VOD)
VOD技術(shù)目前廣泛應(yīng)用于局域網(wǎng)以及有線電視網(wǎng)。流媒體的視頻直播應(yīng)用突破了網(wǎng)絡(luò)帶寬的限制,實現(xiàn)了在低帶寬的環(huán)境下的高質(zhì)量影音傳輸,而新的智能流技術(shù)可以保證不同連接速率下的用戶得到不同質(zhì)量的影音效果。
2.視頻會議
視頻會議是流媒體技術(shù)一個新的商業(yè)用途,采用流媒體格式來傳送視頻/音頻文件,使用者不必等待而可以連續(xù)、實時觀看。其中,最常見的是可視電話的應(yīng)用。
3.遠程教育
使用VOD技術(shù)可以在教師和學(xué)生之間采用交互式的教學(xué),突破目前學(xué)校多媒體教學(xué)的單一手段,目前的多媒體教學(xué)主要時間和精力都放在課件的制作上,因此,采用流媒體技術(shù)可以將教師從繁重的課件制作上解放出來,并可以大大提高教學(xué)的互動性。
4.因特網(wǎng)直播
隨著因特網(wǎng)技術(shù)的發(fā)展和普及,在因特網(wǎng)上直接收看體育直播、大型晚會等直播的電視節(jié)目。隨著流媒體技術(shù)的發(fā)展,實現(xiàn)在低帶寬環(huán)境下傳輸高質(zhì)量的音頻/視頻信息變的更加容易。
流媒體技術(shù)的發(fā)展主要依賴于網(wǎng)絡(luò)的傳輸條件、媒體文件的編碼壓縮效率以及客戶端的解碼等幾個重要因素。其中任何一個因素都有可能影響流媒體技術(shù)的發(fā)展和應(yīng)用。本文主要是綜述了如何解決流媒體傳輸過程中常見的時延抖動和分組丟失問題的方法和機制,并在此基礎(chǔ)上簡單概括了流媒體技術(shù)的應(yīng)用。
[1] James F.Kurose,Keith W.Ross.計算機網(wǎng)絡(luò)[M].北京:高等教育出版社.2005.
[2] 余勇昌,宋宜昌.流媒體技術(shù)的原理、應(yīng)用及發(fā)展[J].現(xiàn)代電信科技.2003,(7): 1-4.
10.3969/j.issn.1001-8972.2010.09.054
李偉權(quán) 男 1971 大學(xué)本科 大學(xué)講師研究方向EDA技術(shù)和通信網(wǎng)絡(luò)技術(shù)。