1、概述
流媒體技術(shù)是一種專門用于網(wǎng)絡(luò)多媒體信息傳播和處理的新技術(shù),該技術(shù)能夠在網(wǎng)絡(luò)上實(shí)現(xiàn)傳播和播放同時(shí)進(jìn)行的實(shí)時(shí)工作模式,相對(duì)于其他的一些音、視頻網(wǎng)絡(luò)傳輸和處理技術(shù),流媒體比較成熟和使用,目前已經(jīng)成為網(wǎng)上音、視頻(特別是實(shí)時(shí)音視頻)傳輸?shù)闹饕鉀Q方案。
流媒體與常規(guī)視頻媒體之間的不同在于,流媒體可以邊下載邊播放。“流”的重要作用體現(xiàn)在可以明顯的節(jié)省時(shí)間,由于常規(guī)視頻媒體文件比較大,并且只能下載下來(lái)后才能播放,因此下載需要很長(zhǎng)的時(shí)間,妨礙了信息的流通,流媒體的應(yīng)用是近幾年來(lái)Internet發(fā)展的產(chǎn)物,廣泛應(yīng)用于遠(yuǎn)程教育、網(wǎng)絡(luò)電臺(tái)、視頻點(diǎn)播、收費(fèi)播放等。
目前,制約流媒體寬帶應(yīng)用發(fā)展的關(guān)鍵在于互聯(lián)網(wǎng)的服務(wù)質(zhì)量,流媒體從理論上解決了大容量網(wǎng)絡(luò)多媒體數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性要求問(wèn)題,但是由于大型分組交換網(wǎng)絡(luò)中數(shù)據(jù)傳輸受到諸多因素的影響,網(wǎng)絡(luò)的狀況是不可靠的,其帶寬、負(fù)荷等的變化難以滿足流媒體寬帶業(yè)務(wù)的實(shí)時(shí)性服務(wù)質(zhì)量要求。并且常常造成播放卡殼、延遲、視頻抖動(dòng)劇烈,給使用者感官造成很大影響,所以解決好流媒體網(wǎng)絡(luò)應(yīng)用的服務(wù)質(zhì)量問(wèn)題對(duì)于流媒體寬帶應(yīng)用是極為重要的。
2、流媒體技術(shù)原理
流媒體的傳輸?shù)膶?shí)現(xiàn)需要緩存。因?yàn)镮nternet以分組傳輸為基礎(chǔ)進(jìn)行斷續(xù)的異步傳輸,對(duì)一個(gè)實(shí)時(shí)的A/V源或存儲(chǔ)的A/V文件。在傳輸中它們要被分解為許多的分組,由于網(wǎng)絡(luò)是動(dòng)態(tài)變化的,各個(gè)分組選擇的路由可能不盡相同,故到達(dá)客戶端的時(shí)間延遲也就不等,甚至先發(fā)的數(shù)據(jù)分組有可能后到。為此,使用緩存系統(tǒng)來(lái)彌補(bǔ)延遲和抖動(dòng)的影響,并保證分組的順序正確,從而使媒體數(shù)據(jù)能連續(xù)輸出,而不會(huì)因?yàn)榫W(wǎng)絡(luò)暫時(shí)擁塞使播放出現(xiàn)停頓。
流媒體傳輸?shù)膶?shí)現(xiàn)需要合適的傳輸協(xié)議。由于TCP需要較多的開銷,因此不太適合傳輸實(shí)時(shí)數(shù)據(jù)。在流媒體傳輸?shù)膶?shí)現(xiàn)方案中,一般采用HTTP/TCP來(lái)傳輸控制信息,而用RTP/UDP來(lái)傳輸實(shí)時(shí)聲音數(shù)據(jù)。
圖1 流媒體傳輸基本原理圖
流媒體傳輸?shù)倪^(guò)程如圖1所示。一般描述如下:用戶選擇某一流媒體服務(wù)后,Web瀏覽器與Web服務(wù)器之間使用HTTP/TCP交換控制信息,以便把需要傳輸?shù)膶?shí)時(shí)數(shù)據(jù)從原始信息中檢索出來(lái),然后客戶機(jī)上的Web瀏覽器啟動(dòng)A/V Helper程序,使用HTTP從Web服務(wù)器檢索相關(guān)參數(shù)對(duì)Helper程序初始化。這些參數(shù)可能包括目錄信息、A/V數(shù)據(jù)的編碼類型或與A/V檢索相關(guān)的服務(wù)器地址。
A/V Helper程序及A/V服務(wù)器運(yùn)行實(shí)時(shí)流協(xié)議(RTSP,Real-Time Streaming Protocol),以交換A/V傳輸所需的控制信息。與CD播放機(jī)或VCRs所提供的功能相似,RTSP提供了操縱播放、快進(jìn)、快倒、暫停及錄制等命令的方法。A/V服務(wù)器使用RTP/UDP協(xié)議將A/V數(shù)據(jù)傳輸給A/V客戶程序(一般可以認(rèn)為客戶程序等同于Helper程序),一旦A/V數(shù)據(jù)抵達(dá)客戶端,A/V客戶程序即可播放輸出。
需要說(shuō)明的是,在流媒體傳輸中。使用RTP/UDP和RTSP/TCP兩種不同的通信協(xié)議與A/V服務(wù)器建立聯(lián)系,是為了能夠把服務(wù)器的輸出重定向到一個(gè)不同于運(yùn)行A/V Helper程序所在客戶機(jī)的目的地址。實(shí)現(xiàn)流媒體傳輸一般都需要專用服務(wù)器和播放器。
3、流媒體傳輸模式
流媒體之所以能夠?qū)崿F(xiàn)多媒體數(shù)據(jù)的實(shí)時(shí)播放是采用了專門的網(wǎng)絡(luò)控制協(xié)議和數(shù)據(jù)傳輸機(jī)制。服務(wù)器端有專門的流媒體發(fā)布系統(tǒng),而客戶端則有專門的播放器,這兩部分都需要通過(guò)數(shù)據(jù)緩存區(qū)進(jìn)行數(shù)據(jù)的緩存。
與普通的分組交換網(wǎng)絡(luò)不同,流媒體系統(tǒng)的緩存區(qū)中的數(shù)據(jù)在數(shù)據(jù)傳輸過(guò)程中是動(dòng)態(tài)的,也可成為是交換狀態(tài)的,數(shù)據(jù)以堆棧方式進(jìn)出緩沖區(qū),而不需要等待數(shù)據(jù)全部達(dá)到客戶機(jī)后才從緩沖區(qū)中被釋放出來(lái),由于數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)是“流動(dòng)”的,再加上數(shù)據(jù)的播放需要維持一個(gè)穩(wěn)定的數(shù)據(jù)輸出速度,隨時(shí)都要求緩沖區(qū)有相應(yīng)的數(shù)據(jù)提供給播放器,如果沒(méi)有相應(yīng)的數(shù)據(jù),則會(huì)出現(xiàn)內(nèi)容播放過(guò)程中的暫停和畫面的條約,出現(xiàn)前一種情況一般是由于網(wǎng)絡(luò)傳輸速度跟不上數(shù)據(jù)的播放速度,而發(fā)生了數(shù)據(jù)的下溢,而后一種情況的發(fā)生是由于網(wǎng)絡(luò)傳輸速度過(guò)快,超過(guò)了播放的速度,而又沒(méi)有適當(dāng)?shù)膫鬏斂刂贫斐傻臄?shù)據(jù)上溢。
4、網(wǎng)絡(luò)傳輸與控制協(xié)議
多媒體業(yè)務(wù)流由于其數(shù)據(jù)量大、實(shí)時(shí)等特點(diǎn),對(duì)網(wǎng)絡(luò)傳輸也提出相應(yīng)的要求,主要表現(xiàn)在高帶寬、低傳輸時(shí)延、同步和高可靠性幾方面。為了保證好的QoS,必須考慮傳輸模式、協(xié)議棧和應(yīng)用體系控制等問(wèn)題。以下主要討論應(yīng)用于流媒體實(shí)時(shí)控制和傳輸?shù)膸追N協(xié)議。
4.1 RTP/RTCP協(xié)議簇
RTP/RTCP是端對(duì)端基于組播的應(yīng)用層協(xié)議。其中RTP(Realtime Transfer Protocol)用于數(shù)據(jù)傳輸,RTCP(Realtime Transfer Control Protocol)用于統(tǒng)計(jì)、管理和控制RTP傳輸,兩者協(xié)同工作,能夠顯著提高網(wǎng)絡(luò)實(shí)時(shí)數(shù)據(jù)的傳輸效率。
RTP和RTCP都定義在RFC1889中。RTP用于在單播或多播情況下傳輸實(shí)時(shí)數(shù)據(jù),通常工作在UDP上。RTP協(xié)議核心在于其數(shù)據(jù)包格式,它提供應(yīng)用于多媒體的多個(gè)域,包括VOD,VoIP,電視會(huì)議等,并且不規(guī)定負(fù)載的大小,因此能夠靈活應(yīng)用于各媒體環(huán)境。但RTP協(xié)議本身不提供數(shù)據(jù)包的可靠傳送和擁塞控制,必須依靠RTCP提供這些服務(wù)。RTCP的主要功能是為應(yīng)用程序提供媒體質(zhì)量信息。在RTP會(huì)話期間,每個(gè)參與者周期性地彼此發(fā)送RTCP控制包,包中封裝了發(fā)送端或接收端的統(tǒng)計(jì)信息。包括發(fā)送包數(shù)、丟包數(shù)、包抖動(dòng)等,這樣發(fā)送端可以根據(jù)這些信息改變發(fā)送速率,接收端則可以判斷包丟失等問(wèn)題出在哪個(gè)網(wǎng)絡(luò)段。總的來(lái)說(shuō),RTCP在流媒體傳輸中的作用有:QoS管理與控制、媒體同步和附加信息傳遞。
在RTP/RTCP協(xié)議基礎(chǔ)上,不同的媒體類型需要不同的封裝和管理技術(shù)。目前國(guó)際上正在研究基于RTP/RTCP的媒體流化技術(shù),包括MPEG-1/2/4的媒體流化技術(shù)。
4.2 RSVP協(xié)議
資源預(yù)留協(xié)議RSVP(Resource reSerVation Protocol)是針對(duì)IP網(wǎng)絡(luò)傳輸層不能保證QoS和支持多點(diǎn)傳輸而提出的協(xié)議。RSVP在業(yè)務(wù)流傳送前先預(yù)約一定的網(wǎng)絡(luò)資源,建立靜態(tài)或動(dòng)態(tài)的傳輸邏輯通路。從而保證每一業(yè)務(wù)流都有足夠的“獨(dú)享”帶寬,因而能夠克服網(wǎng)絡(luò)的擁塞和丟包,提高QoS性能。
值得一提的是,RSVP是由接收方執(zhí)行操作的協(xié)議。接收方?jīng)Q定預(yù)留資源的優(yōu)先級(jí),并對(duì)預(yù)留資源進(jìn)行初始化和管理。在網(wǎng)絡(luò)節(jié)點(diǎn)(如路由器)上被要求預(yù)留的資源包括緩沖區(qū)和帶寬等,一般數(shù)據(jù)包通過(guò)位于網(wǎng)路節(jié)點(diǎn)上的“濾包器”使用預(yù)留資源,RSVP共有3種預(yù)留類型:無(wú)濾包器形式、固定濾包器形式和動(dòng)態(tài)濾包器形式。
4.3 RTSP協(xié)議
實(shí)時(shí)流協(xié)議(Real-Time Streaming Protocol)由RealNetworks和Netscape共同提出。是工作在RTP之上的應(yīng)用層協(xié)議。它的主要目標(biāo)是為單播和多播提供可靠的播放性能。RTSP的主要思想是提供控制多種應(yīng)用數(shù)據(jù)傳送的功能。即提供一種選擇傳送通道的方法,例如UDP、TCP、IP多播,同時(shí)提供基于RTP傳送機(jī)制的方法。RTSP控制通過(guò)單獨(dú)協(xié)議發(fā)送的流,與控制通道無(wú)關(guān),例如,RTSP控制可通過(guò)TCP連接,而數(shù)據(jù)流通過(guò)UDP。通過(guò)建立并控制一個(gè)或幾個(gè)時(shí)間同步的連續(xù)流數(shù)據(jù),其中可能包括控制流,RTSP能為服務(wù)器提供遠(yuǎn)程控制。另外,由于RTSP在語(yǔ)法和操作上與HTTP類似,RTSP請(qǐng)求可由標(biāo)準(zhǔn)HTTP或MIME解析器解析,并且RTSP請(qǐng)求可被代理、通道與緩存處理。與HTTP相比,RTSP是雙向的,即客戶機(jī)和服務(wù)器都可以發(fā)出RTSP請(qǐng)求。
實(shí)現(xiàn)RTSP的系統(tǒng)必須支持通過(guò)TCP傳輸RTSP,并支持UDP。RTSP服務(wù)器的TCP和UDP缺省端口都是554。目前最新的微軟Media Services V9和RealSystem都支持RTSP協(xié)議。
5、媒體價(jià)值鏈和運(yùn)營(yíng)模式
寬帶流媒體業(yè)務(wù)的價(jià)值鏈至少需要包括幾個(gè)部分:應(yīng)用提供商、內(nèi)容開發(fā)商、業(yè)務(wù)支撐系統(tǒng)運(yùn)營(yíng)商、網(wǎng)絡(luò)提供商、用戶。其中,用戶最終獲得寬帶流媒體應(yīng)用業(yè)務(wù),并為之付費(fèi)。應(yīng)用提供商是寬帶流媒體業(yè)務(wù)的直接提供者,直接面對(duì)用戶提供業(yè)務(wù)。內(nèi)容提供商是流媒體內(nèi)容資源的擁有者,負(fù)責(zé)節(jié)目的制作,包括流媒體文件的生成、編碼、壓縮。業(yè)務(wù)支撐系統(tǒng)運(yùn)營(yíng)商提供一個(gè)獨(dú)立的可運(yùn)營(yíng)的管理和傳輸平臺(tái),為寬帶流媒體應(yīng)用提供支撐環(huán)境。網(wǎng)絡(luò)提供商提供基本的承載網(wǎng)絡(luò)。
目前,流媒體業(yè)務(wù)的運(yùn)營(yíng)模式還在不斷發(fā)展中,網(wǎng)絡(luò)運(yùn)營(yíng)商、應(yīng)用提供商、內(nèi)容提供商都在不斷尋求成熟的運(yùn)營(yíng)模式和合作模式。
6、結(jié)束語(yǔ)
流媒體技術(shù)包含了從服務(wù)器構(gòu)架到網(wǎng)絡(luò)協(xié)議等一系列技術(shù),目前這些技術(shù)還在不斷發(fā)展和完善中,同時(shí)各運(yùn)營(yíng)商也正在探索合適的商業(yè)模式。盡管如此,流媒體技術(shù)轉(zhuǎn)變了傳統(tǒng)互聯(lián)網(wǎng)限于文本和圖片的二維呆板的內(nèi)容表現(xiàn)形式,是寬帶應(yīng)用的發(fā)展方向。同時(shí)流媒體能夠廣泛應(yīng)用于VOD、遠(yuǎn)程教學(xué)、網(wǎng)絡(luò)廣告、交互視頻游戲等,大大拓寬服務(wù)范圍,因此各電信運(yùn)營(yíng)商都看好流媒體業(yè)務(wù),并希望能夠以此帶動(dòng)寬帶產(chǎn)業(yè)進(jìn)入高速發(fā)展的時(shí)期??梢灶A(yù)見(jiàn),流媒體業(yè)務(wù)將成為寬帶網(wǎng)絡(luò)上的主流信息業(yè)務(wù)。
本博客為學(xué)習(xí)交流用,凡未注明引用的均為本人作品,轉(zhuǎn)載請(qǐng)注明出處,如有版權(quán)問(wèn)題請(qǐng)及時(shí)通知。由于博客時(shí)間倉(cāng)促,錯(cuò)誤之處敬請(qǐng)諒解,有任何意見(jiàn)可給我留言,愿共同學(xué)習(xí)進(jìn)步。