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