Server 2008中流媒體服務(wù)器的部署與應(yīng)用
原創(chuàng)【51CTO獨(dú)家特稿】如果要我說(shuō)Windows Server 2008上的Media Services有多么強(qiáng)大的功能,那么就更像“王婆”了。事實(shí)上,從拿到BETA版到現(xiàn)在手上所拿到的正式版本,當(dāng)安裝完 Windows Server 2008時(shí)得到的都是一種結(jié)果:怎么都沒(méi)有Windows Media Services?不過(guò)這也似乎印證了 Windows Server 2008 的用意:為了強(qiáng)化系統(tǒng)安全與穩(wěn)定只安裝所需要的組件……
流媒體應(yīng)用與生活
由于俺家共同使用4~5臺(tái)電腦的時(shí)代到來(lái)了(我自己就有3個(gè)筆記本),在“帶寬”的誘惑下,終于換上了更高速的ADSL網(wǎng)絡(luò),這改變了家人的上網(wǎng)習(xí)慣,現(xiàn)在,他們直接使用網(wǎng)絡(luò)點(diǎn)播軟件收看大片和電視臺(tái)直播,55寸的液晶電視算是白買了,唉~~ 。如圖1所示,那么這種直接收看視頻或音頻節(jié)目的技術(shù)叫什么呢?它們又是靠什么軟件來(lái)實(shí)現(xiàn)的呢?
圖 1 MSN Video 網(wǎng)站
對(duì)嘍!這就是流媒體(Streaming Media)技術(shù)。相對(duì)于傳統(tǒng)的網(wǎng)絡(luò)傳輸音視頻等多媒體信息播放的方式是完全不同的,之前我們必須要等視頻或這音頻文件完全下載到本地后再播放,下載常常要花數(shù)分鐘甚至數(shù)小時(shí)(http或ftp下載使用標(biāo)準(zhǔn)的http和ftp協(xié)議)。而采用流媒體技術(shù),就可實(shí)現(xiàn)流式傳輸,將聲音、影像或動(dòng)畫由服務(wù)器向用戶計(jì)算機(jī)進(jìn)行連續(xù)、不間斷傳送,用戶不必等到整個(gè)文件全部下載完畢,而只需經(jīng)過(guò)幾秒或十幾秒的啟動(dòng)延時(shí)(此時(shí),你在播放器的界面上可能會(huì)出現(xiàn)非常熟悉的名字:緩沖)即可進(jìn)行觀看。當(dāng)聲音視頻等在用戶的機(jī)器上播放時(shí),文件的剩余部分還會(huì)從服務(wù)器上繼續(xù)下載。
關(guān)于“媒體”二字就沒(méi)有什么好解釋的了,我們舉一個(gè)例子說(shuō)明一下“流”的含義:
如果將文件傳輸看作是你生病之后用藥的過(guò)程,過(guò)去的傳輸方式就像是“打針”,必須等到打完一針再打一針(哈哈,疼死你),這個(gè)等待的時(shí)間自然要看你醫(yī)生給你的藥量和身體素質(zhì)了,如果你是一個(gè)未成年人當(dāng)然藥量就小一些,但也不能連著給你打針。而流式傳輸則像“輸液”,等待一小會(huì)兒,藥液流到管子里面,就可以給你扎一針了,因?yàn)橛幸徊糠菟幰涸谙路降墓茏永?,所以即使每次都只有一小滴流下?lái),藥液還是源源不斷地流進(jìn)你的身體。從這個(gè)意義上看,流媒體這個(gè)詞是非常形象的。
實(shí)際上流媒體技術(shù)是網(wǎng)絡(luò)音視頻技術(shù)發(fā)展到一定階段的產(chǎn)物,是一種解決多媒體播放時(shí)帶寬的“軟技術(shù)”。它會(huì)涉及到流媒體數(shù)據(jù)的采集、壓縮、存儲(chǔ)、傳輸、負(fù)載均衡以及網(wǎng)絡(luò)通信等多項(xiàng)技術(shù)。不過(guò)對(duì)于用戶來(lái)講,觀看流媒體與觀看傳統(tǒng)的音視頻文件在操作上幾乎沒(méi)有任何的差別,唯有的區(qū)別在于影音品質(zhì)上,由于帶寬保證(輸液的管子上的那個(gè)調(diào)節(jié)器)是第一位的,因此具有了“不平等的條約”,可以在服務(wù)器上為不同帶寬的用戶分配不同壓縮比的文件,所以當(dāng)我升級(jí)了家里帶寬的時(shí)候,老婆會(huì)說(shuō):“現(xiàn)在網(wǎng)站上的電影比原來(lái)清楚多了”。
流媒體協(xié)議與傳輸
IETF中的一個(gè)名為“Integrated Services”(綜合服務(wù))的工作組開(kāi)發(fā)了一個(gè)同名的Internet增強(qiáng)服務(wù)模型,包括“best-effort”(盡力傳輸)服務(wù)和“real-time”服務(wù)。其中“real-time”服務(wù)就是為在IP網(wǎng)絡(luò)中傳輸多媒體數(shù)據(jù)提供質(zhì)量保證的,它包括“RSVP”(資源預(yù)留協(xié)議)、“RTP”(實(shí)時(shí)傳輸協(xié)議)、“RTCP”(實(shí)時(shí)傳輸控制協(xié)議)、“RTSP”(實(shí)時(shí)流協(xié)議),這四種協(xié)議構(gòu)成了“real-time”服務(wù)的基礎(chǔ)。圖2 顯示了流媒體協(xié)議棧的結(jié)構(gòu)。
圖 2 流媒體協(xié)議棧的結(jié)構(gòu)
另外,實(shí)現(xiàn)流式傳輸有兩種方法:實(shí)時(shí)流式傳輸(Real-time Streaming)和順序流式傳輸(Progressive Streaming),在我們使用這兩種方法來(lái)構(gòu)建流媒體服務(wù)的時(shí)候,首先要考慮到的就是它倆的區(qū)別。一般說(shuō)來(lái),如視頻為實(shí)時(shí)廣播(央視的春節(jié)聯(lián)歡晚會(huì)),或使用流式傳輸媒體服務(wù)器,或應(yīng)用如RTSP的實(shí)時(shí)協(xié)議,即為實(shí)時(shí)流式傳輸。如使用HTTP服務(wù)器(BMW汽車的宣傳片),文件即通過(guò)順序流發(fā)送。當(dāng)然采用那種傳輸方法,依賴你的需求而定。
順序流式傳輸
順序流式傳輸是順序下載,在下載文件的同時(shí)用戶可觀看在線媒體,用戶只能觀看已下載的那部分,而不能跳到還未下載的前頭部分,順序流式傳輸不像實(shí)時(shí)流式傳輸在傳輸期間根據(jù)用戶連接的速度做調(diào)整。由于標(biāo)準(zhǔn)的HTTP服務(wù)器可發(fā)送這種形式的文件,也不需要其他特殊協(xié)議,它經(jīng)常被稱作HTTP流式傳輸。順序流式傳輸比較適合高質(zhì)量的短片段,如片頭、片尾和廣告,由于該文件在播放前觀看的部分是無(wú)損下載的,這種方法保證影片片段播放的最終質(zhì)量。盡管有延遲,畢竟是你想發(fā)布較高質(zhì)量的視頻片段嗎。順序流式文件可以放在標(biāo)準(zhǔn)HTTP 或 FTP服務(wù)器上,易于管理,基本上與防火墻無(wú)關(guān)。不過(guò),順序流式傳輸不適合長(zhǎng)片段和有隨機(jī)訪問(wèn)要求的視頻,如:講座、演說(shuō)與演示。它也不支持現(xiàn)場(chǎng)廣播,嚴(yán)格說(shuō)來(lái),它是一種點(diǎn)播技術(shù)。
實(shí)時(shí)流式傳輸
實(shí)時(shí)流式傳輸指保證媒體信號(hào)帶寬與網(wǎng)絡(luò)連接配匹,使媒體可被實(shí)時(shí)觀看到。實(shí)時(shí)流與HTTP流式傳輸不同,他需要專用的流媒體服務(wù)器與傳輸協(xié)議。實(shí)時(shí)流式傳輸總是實(shí)時(shí)傳送,特別適合現(xiàn)場(chǎng)事件,也支持隨機(jī)訪問(wèn),用戶可快進(jìn)或后退以觀看前面或后面的內(nèi)容。理論上,實(shí)時(shí)流一經(jīng)播放就可不停止,但實(shí)際上,可能發(fā)生周期暫停。實(shí)時(shí)流式傳輸必須配匹連接帶寬,這意味著在以56~128kbps連接時(shí)圖象質(zhì)量較差。而且,由于出錯(cuò)丟失的信息被忽略掉、網(wǎng)絡(luò)擁擠、或出現(xiàn)其它流量異常問(wèn)題時(shí),視頻質(zhì)量會(huì)很差,有時(shí)也會(huì)斷斷續(xù)續(xù)的。
實(shí)時(shí)流式傳輸需要特定服務(wù)器,如QuickTime Streaming Server、Real Server等,而本文重點(diǎn)介紹的Windows Media Server,這些服務(wù)器允許你對(duì)媒體發(fā)送進(jìn)行更多級(jí)別的控制,因而系統(tǒng)設(shè)置、管理方面比標(biāo)準(zhǔn)HTTP服務(wù)器更復(fù)雜一些。
流媒體站點(diǎn)的結(jié)構(gòu)
流媒體的數(shù)據(jù)文件也很特別,例如ASF(Advanced Streaming Format)文件,它將媒體文件分為眾多小數(shù)據(jù)包,媒體服務(wù)器在特定的時(shí)間將用戶播放所需的數(shù)據(jù)包發(fā)送給用戶。在網(wǎng)絡(luò)擁擠的時(shí)候,流媒體服務(wù)器就不會(huì)發(fā)送用戶收不到的數(shù)據(jù)包,在用戶通過(guò)媒體播放器對(duì)播放進(jìn)行控制,比如快進(jìn)、快退和跳躍到文件中某一時(shí)間點(diǎn)時(shí),媒體服務(wù)器就會(huì)發(fā)送出相關(guān)內(nèi)容的數(shù)據(jù)包。流媒體服務(wù)器和用戶端的流媒體播放器之間的交流是雙向的,在用戶端文件播放結(jié)束之前,雙方的聯(lián)系是一直保持的。
能夠?qū)崿F(xiàn)這樣的功能,就需要特定的服務(wù)器進(jìn)行支撐,那么Web服務(wù)器就不能勝任了。Web服務(wù)器通常被比喻成“無(wú)狀態(tài)化”,從一般的意義上來(lái)講,Web服務(wù)器和用戶端的聯(lián)系是單向而且是不連續(xù)的。當(dāng)Web服務(wù)器接收到用戶的請(qǐng)求信息后,它以盡可能快的速度將網(wǎng)頁(yè)數(shù)據(jù)“推出門外”,然后就中斷了與用戶的聯(lián)系而開(kāi)始處理下一個(gè)用戶的請(qǐng)求,不管用戶端是否接收到完整的數(shù)據(jù)。在用戶端,Web瀏覽器接收到網(wǎng)頁(yè)數(shù)據(jù),在屏幕上顯示網(wǎng)頁(yè),同時(shí)也中斷了和服務(wù)器端的聯(lián)系,直到你點(diǎn)擊鏈接,再次向服務(wù)器發(fā)出請(qǐng)求為止。這種數(shù)據(jù)傳輸和接收方式在處理HTML文本和圖片等一些體積較小而且不具有時(shí)間特性的文件時(shí),效果應(yīng)該說(shuō)是不錯(cuò)的,但如果我們想要構(gòu)建得視頻服務(wù)時(shí)就沒(méi)戲了。
那么怎么來(lái)設(shè)計(jì)一個(gè)流媒體系統(tǒng)呢?這就需要將Web角色和流媒體服務(wù)器角色分開(kāi)來(lái)。 Web服務(wù)器用于Web頁(yè)面的訪問(wèn),這可以交給開(kāi)發(fā)人員,而流媒體服務(wù)器在后臺(tái)中出現(xiàn),用于管理和存儲(chǔ)聲音、影視文件,其結(jié)構(gòu)見(jiàn)圖4所示。采用這種結(jié)構(gòu),開(kāi)發(fā)人員可以將包含媒體播放器的插件嵌入到Web瀏覽器頁(yè)面中,而向流媒體服務(wù)器請(qǐng)求傳送文件,Web服務(wù)器實(shí)際上就是一個(gè)“中間人”而已,最后的數(shù)據(jù)流并不經(jīng)過(guò)它。
圖3 流媒體架構(gòu)圖
基于Windows Media Technologies的流媒體系統(tǒng)通常由運(yùn)行Windows Media Encoder的計(jì)算機(jī)、運(yùn)行Windows Media Services的服務(wù)器和許多運(yùn)行Windows Media Player 的客戶端組成。編碼器將直播和預(yù)先錄制的音頻和視頻內(nèi)容轉(zhuǎn)換為Windows Media格式。在圖4的具體方案中,用戶單擊網(wǎng)頁(yè)上的鏈接即可請(qǐng)求內(nèi)容,然后 Web服務(wù)器將請(qǐng)求重定向到Windows Media服務(wù)器,并啟動(dòng)用戶計(jì)算機(jī)上的播放器,Windows Media 服務(wù)器與播放器建立了直接連接,并開(kāi)始將內(nèi)容直接傳輸給用戶。
【51CTO獨(dú)家特稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處?!?/p>
【編輯推薦】
- windows server 2008 R2安全性能總攬
- Windows Server 2008 R2中的DirectAccess功能詳解
- Windows Server 2008 R2中托管服務(wù)帳號(hào)的方法
- 解讀Windows Server 2008 R2安全性和高可靠性