楊永華,盧 暢,徐光明
(浙江海洋學(xué)院計(jì)算機(jī)中心,浙江舟山 316004)
流媒體(Streaming Media)是指在數(shù)據(jù)網(wǎng)絡(luò)上按時(shí)間先后次序傳輸和播放的連續(xù)音/視頻數(shù)據(jù)流。以前我們?cè)诰W(wǎng)絡(luò)上觀看視頻時(shí),必須先將整個(gè)影音文件下載到本地才可觀看,因?yàn)橛耙粑募娜萘恳话爿^大,所以不得不忍受等待的煎熬。流媒體正是為了解決這個(gè)問(wèn)題而誕生的,它在播放前并不下載整個(gè)文件,而是先在客戶端的計(jì)算機(jī)上建立一個(gè)緩沖區(qū),播放前預(yù)先下載一段資料作為緩沖,當(dāng)網(wǎng)絡(luò)實(shí)際連線速度小于播放所耗用資料的速度時(shí),播放程序就會(huì)取用這一小段緩沖區(qū)內(nèi)的資料,避免播放的中斷,使得播放品質(zhì)得以維持,這樣就節(jié)省了下載等待時(shí)間和存儲(chǔ)空間。因此它具有三個(gè)特點(diǎn):連續(xù)性(Continuous)、實(shí)時(shí)性(Real-time)、時(shí)序性(即其數(shù)據(jù)流具有嚴(yán)格的前后時(shí)序關(guān)系)。
正因?yàn)榱髅襟w的技術(shù)特點(diǎn),使它在許多方面得到了利用,目前,這項(xiàng)技術(shù)隨著網(wǎng)絡(luò)的飛速發(fā)展已經(jīng)變得比較成熟,在視頻點(diǎn)播(VOD)[1,2]、視頻廣播、視頻監(jiān)視、視頻會(huì)議、遠(yuǎn)程教學(xué)、交互式游戲等方面都有不錯(cuò)的表現(xiàn),而且,這項(xiàng)技術(shù)在未來(lái)將會(huì)有更大的用途和發(fā)展。
流媒體的技術(shù)特點(diǎn)決定了它對(duì)服務(wù)器和網(wǎng)絡(luò)的要求較高,因?yàn)榇罅繑?shù)據(jù)流的壓力主要集中在這兩個(gè)部分,筆者學(xué)校機(jī)房作為一個(gè)獨(dú)立的局域網(wǎng)絡(luò)環(huán)境,全部機(jī)器100 M帶寬到桌面,網(wǎng)絡(luò)質(zhì)量不成問(wèn)題,服務(wù)器是采用康柏的Proliant ML350,奔Ⅳ2.4G,1G內(nèi)存,對(duì)付一般幾十個(gè)并發(fā)用戶不成問(wèn)題,所以完全具備流媒體平臺(tái)搭建的條件。
在這個(gè)信息化社會(huì)里,一個(gè)大學(xué)生不但要學(xué)習(xí)書(shū)本里的內(nèi)容,更多的還要通過(guò)自學(xué)來(lái)提高自己。當(dāng)今世界,網(wǎng)絡(luò)相當(dāng)發(fā)達(dá),網(wǎng)上的資源更是相當(dāng)豐富,而且特別是一些視頻資源,比起枯燥的白紙黑字來(lái)效果好多了,容易被學(xué)生接受。我們可以通過(guò)把網(wǎng)上的資源集中放到這個(gè)平臺(tái)中,讓學(xué)生們自由點(diǎn)播,自助學(xué)習(xí),提高學(xué)生的學(xué)習(xí)興趣,為學(xué)生創(chuàng)造更便利的學(xué)習(xí)環(huán)境。
VOD點(diǎn)播系統(tǒng)采用客戶機(jī)/服務(wù)器結(jié)構(gòu),學(xué)生可以通過(guò)WEB瀏覽器來(lái)打開(kāi)此系統(tǒng)并進(jìn)行點(diǎn)播學(xué)習(xí),它主要包括以下4個(gè)主要部分。
1)系統(tǒng)服務(wù)器
系統(tǒng)服務(wù)器有windows和UNIX兩種選擇,UNIX系統(tǒng)服務(wù)器在安全性能方面有著非常突出的優(yōu)勢(shì),但是因?yàn)榭紤]到操作和調(diào)試的方便性,而且此服務(wù)器因?yàn)槲挥诰钟蚓W(wǎng)內(nèi),受外部攻擊的可能性不大,故采用了windows server 2000的系統(tǒng)服務(wù)器,對(duì)于機(jī)房這樣的環(huán)境完全可以勝任。
2)流媒體服務(wù)器
目前用于在線播放的流媒體文件以Real Media、Windows Media和QuickTime三種格式為主,對(duì)應(yīng)的播放器分別是Real player、Windows Media Player和QuickTime。
其中RealNetworks公司的Helixtm Server是一個(gè)被普遍使用的數(shù)字流媒體發(fā)布平臺(tái)。Helix Server提供優(yōu)異的性能,完整的內(nèi)容發(fā)布方案,廣告管理,用戶認(rèn)證,支持WEB訪問(wèn)等多樣的擴(kuò)展。同時(shí)支持分發(fā)Real Media,Windows Media,Quick time和MPEG 4文件格式的媒體文件。作為一個(gè)優(yōu)秀的流媒體發(fā)布平臺(tái),它能滿足企業(yè)用戶和服務(wù)提供商的多樣要求。這款是一款支持多格式、跨平臺(tái)的流媒體服務(wù)器軟件,能將高質(zhì)量的多媒體內(nèi)容發(fā)到任何網(wǎng)絡(luò)能夠觸及的地方,甚至是無(wú)線設(shè)備上。基于如此多的優(yōu)點(diǎn),本平臺(tái)當(dāng)然選擇Helix Server 9.0作為流媒體服務(wù)器了。
Helix Server 9.0的安裝比較簡(jiǎn)單,基本上采用默認(rèn)的路徑和端口號(hào)即可,但是應(yīng)該把默認(rèn)的HTTP的80端口改成其它端口號(hào),從而保證了端口不會(huì)產(chǎn)生沖突,安裝完成后,首先要手動(dòng)啟動(dòng)一下服務(wù)端,那么在下次開(kāi)機(jī)后,服務(wù)就會(huì)自動(dòng)啟動(dòng)了。
在網(wǎng)上雖能夠以流的方式播放標(biāo)準(zhǔn)媒體文件格式,但效率不高,需將媒體文件壓縮、編碼成流式文件。流式文件格式經(jīng)過(guò)特殊編碼,適合在網(wǎng)絡(luò)上邊下載邊播放,常用的流式文件類型ASF、RM等流式傳輸?shù)膶?shí)現(xiàn)需要有合適的傳輸協(xié)議。TCP需要較多的開(kāi)銷(xiāo),故不太適合傳輸實(shí)時(shí)數(shù)據(jù)。在流式傳輸?shù)膶?shí)現(xiàn)方案中,一般采用HTTP/TCP來(lái)傳輸控制信息,而用RTP/UDP來(lái)傳輸實(shí)時(shí)多媒體數(shù)據(jù)[3]。本系統(tǒng)采用了RTSP和MMS這兩種傳輸協(xié)議。
實(shí)時(shí)流協(xié)議RTSP是由Real Networks和Netscape共同提出的,該協(xié)議定義了一對(duì)多應(yīng)用程序如何有效地通過(guò)IP網(wǎng)絡(luò)傳送多媒體數(shù)據(jù)。RTSP在體系結(jié)構(gòu)上位于RTP和RTCP之上,它使用TCP或RTP完成數(shù)據(jù)傳輸。HTTP與RTSP相比,HTTP傳送HTML,而RTP傳送的是多媒體數(shù)據(jù)。HTTP請(qǐng)求由客戶機(jī)發(fā)出,服務(wù)器作出響應(yīng);使用RTSP時(shí),客戶機(jī)和服務(wù)器都可以發(fā)出請(qǐng)求,即RTSP可以是雙向的。
MMS(Media Server Protocol,MMS),這是微軟定義的一種流媒體傳輸協(xié)議。用來(lái)訪問(wèn)并流式接收Windows Media服務(wù)器中.asf文件的一種協(xié)議。MMS協(xié)議用于訪問(wèn)Windows Media發(fā)布點(diǎn)上的單播內(nèi)容。MMS是連接Windows Media單播服務(wù)的默認(rèn)方法。若觀眾在Windows Media Player中鍵入一個(gè)URL以連接內(nèi)容,而不是通過(guò)超級(jí)鏈接訪問(wèn)內(nèi)容,則他們必須使用MMS協(xié)議引用該流。
3)客戶端
客戶端設(shè)置相對(duì)簡(jiǎn)單,只需要安裝相對(duì)應(yīng)的播放軟件即可,我們機(jī)房安裝的是real player 10.0和Windows Media 9.0,基本上可以完成對(duì)一般數(shù)據(jù)的解碼,對(duì)于有特殊解碼要求的視頻文件,我們只要安裝相對(duì)應(yīng)的解碼器都可以解決無(wú)法播放的問(wèn)題。
4)網(wǎng)絡(luò)系統(tǒng)
根據(jù)計(jì)算機(jī)中心機(jī)房特點(diǎn),以網(wǎng)絡(luò)分層的原則,東校區(qū)采用核心層和匯聚層的邏輯拓?fù)浣Y(jié)構(gòu),西校區(qū)通過(guò)光纖直接接入核心層。
核心層采用神州數(shù)碼DCRS-7504核心交換機(jī),DCRS-7504可提供800G的背板交換容量,實(shí)現(xiàn)L2/L3/L4多層包轉(zhuǎn)發(fā)率為286MPPS,最大可容納的模塊數(shù)4個(gè)、最大100/1 000 M以太網(wǎng)端口數(shù)192個(gè)、最大1000M以太網(wǎng)端口數(shù)192個(gè)、最大10 G太網(wǎng)端口數(shù)16個(gè)等強(qiáng)大的、高帶寬的網(wǎng)絡(luò)接口連接,具備電信級(jí)的高可靠性和安全性,可充分滿足核心層網(wǎng)絡(luò)交換和網(wǎng)絡(luò)路由的安全、高效。匯聚層采用神州數(shù)碼交換機(jī)DCS-3926S和DCS-5526提供1 000 Base接口的方式直接核心交換機(jī)7 504作千兆高速連接。接入層采用實(shí)達(dá)交換STAR-S1824+提供100 Base接口的方式直接連核心交換機(jī)7 504作百兆經(jīng)濟(jì)、高速連接。
中心計(jì)算機(jī)房的視頻點(diǎn)播服務(wù)器直接與DCRS-7504交換機(jī)的24口百兆以太網(wǎng)模塊連接,使得網(wǎng)絡(luò)可以全面支持多媒體網(wǎng)絡(luò)應(yīng)用。
對(duì)于自學(xué)的學(xué)生來(lái)說(shuō),操作簡(jiǎn)單實(shí)用是最重要的,因?yàn)槲覀兪敲赓M(fèi)為學(xué)生提供點(diǎn)播服務(wù)的,所以在網(wǎng)站功能設(shè)計(jì)上相對(duì)比較簡(jiǎn)單,而且數(shù)據(jù)量也不是很大,所以采用目前流行的ASP+ACCESS構(gòu)架[4]完全能勝任了,這個(gè)網(wǎng)站主要包含如下幾個(gè)功能模塊:
1)用戶管理模塊
此模塊主要包括用戶注冊(cè)、登陸功能,它主要目的是為了記住學(xué)生瀏覽過(guò)的視頻文件,并把紀(jì)錄寫(xiě)入數(shù)據(jù)庫(kù),當(dāng)用戶下次登錄時(shí)就通過(guò)讀取數(shù)據(jù)庫(kù)信息直接進(jìn)入上次瀏覽的頁(yè)面,省卻查找的麻煩,使網(wǎng)站更具人性化。
2)視頻管理模塊
此模塊的功能包括對(duì)級(jí)聯(lián)欄目的添加、修改、刪除操作,從而使視頻文件更加有序地進(jìn)行排列,方便學(xué)生瀏覽查找,還包括對(duì)視頻文件的添加、修改和刪除功能。為了使操作更加方便,管理員可以直接在首頁(yè)進(jìn)行視頻文件的添加工作,然后在后臺(tái)進(jìn)行生審批、修改和刪除工作。此模塊沒(méi)有設(shè)置文件上傳的功能,所有影片的添加是在服務(wù)器上直接添加,然后在管理頁(yè)面設(shè)置相應(yīng)路徑,根據(jù)Helix軟件的要求,所有視頻文件都放在其content的子文件夾下。
3)視頻播放模塊
此模塊的功能是實(shí)現(xiàn)流媒體文件的播放,一般播放有分頁(yè)面鏈接和頁(yè)面嵌入兩種方式來(lái)實(shí)現(xiàn)。采用頁(yè)面嵌入式,播放器成為頁(yè)面的一個(gè)基元,影片或聲音無(wú)間隙地內(nèi)嵌在網(wǎng)頁(yè)中,當(dāng)頁(yè)面打開(kāi)時(shí)便可自動(dòng)播放,其好處主要有:(1)設(shè)計(jì)者可以完全控制播放器的外觀和功能,也就可以自由設(shè)計(jì)播放器的尺寸,在頁(yè)面中位置,可以使用的按紐,播放指定的唯一文件,與頁(yè)面實(shí)現(xiàn)無(wú)縫結(jié)合。(2)通過(guò)頁(yè)面腳本語(yǔ)言JavaScript或VBScript來(lái)控制播放器,可以創(chuàng)建自定義的播放器外觀和實(shí)現(xiàn)特殊功能,所以這里選擇嵌入式的播放方式。
針對(duì)目前最流行的兩種播放格式(real和wmv),播放模塊也被分為兩種類型來(lái)實(shí)現(xiàn)。其關(guān)鍵代碼如下:
Real方式代碼:
‘從數(shù)據(jù)庫(kù)中讀取文件路徑
<param name='CONTROLS'value='Imagewindow,StatusBar,ControlPanel'>
<param name='CONSOLE'value='RAPLAYER'>
<param name='LOOP'value='0'>
<param name='NUMLOOP'value='0'><param name='CENTER'value='0'>
<param name='MAINTAINASPECT'value='0'>
<param name='BACKGROUNDCOLOR'value='#000000'>
</OBJECT>
WMA方式代碼:
<o(jì)bject classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95"id="MediaPlayer1">
<param name="Filename"value="<%=rs(“address2”)%>"><!--你文件的位置-->
<param name="PlayCount"value="1"><!--控制重復(fù)次數(shù):“x”為幾重復(fù)播放幾次;x=0,無(wú)限循環(huán)。-->
<param name="AutoStart"value="0"><!--控制播放方式:x=1,打開(kāi)網(wǎng)頁(yè)自動(dòng)播放;x=0,按播放鍵播放。-->
<param name="ClickToPlay"value="1"><!--控制播放開(kāi)關(guān):x=1,可鼠標(biāo)點(diǎn)擊控制播放或暫停狀態(tài);x=0,禁用此功能。-->
<param name="DisplaySize"value="0"><!--控制播放畫(huà)面:x=0,原始大小;x=1,一半大小;x=2,2 倍大小。-->
<param name="EnableFullScreen Controls"value="1"><!--控制切換全屏:x=1,允許切換為全屏;x=0,禁用此功能。-->
<param name="ShowAudio Controls"value="1"><!--控制音量:x=1,允許調(diào)節(jié)音量;x=0,禁止音量調(diào)節(jié)。-->
<param name="EnableContext Menu"value="1"><!--控制快捷菜單:x=1,允許使用右鍵菜單;x=0,禁用右鍵菜單。-->
<param name="ShowDisplay"value="1"><!--控制版權(quán)信息:x=1,顯示電影及作者信息;x=0,不顯示相關(guān)信息-->
</object>
<embed src="http://../test.wmv"autostart="true"loop="true"width="200"height="150">
4)留言板模塊
此模塊是為了給學(xué)生對(duì)于網(wǎng)站的建設(shè)提供建議搭建一個(gè)平臺(tái),讓我們能及時(shí)了解他們喜歡哪類的視頻文件,從而能有針對(duì)性地進(jìn)行提供。
流媒體技術(shù)目前已經(jīng)比較成熟,加上網(wǎng)絡(luò)的飛速發(fā)展,它在越來(lái)越多的領(lǐng)域發(fā)揮著越來(lái)越大的作用,VOD只是其應(yīng)用中相當(dāng)小的一個(gè)方面。對(duì)于學(xué)校來(lái)講,校內(nèi)網(wǎng)絡(luò)質(zhì)量相對(duì)較好,為流媒體的實(shí)現(xiàn)鋪墊了寬敞的道路,我們可以充分發(fā)揮這個(gè)優(yōu)勢(shì),研究實(shí)現(xiàn)視頻會(huì)議、視頻監(jiān)控等等各種實(shí)用技術(shù),為日常工作和教學(xué)提供諸多方便。
[1]謝曉蘭,馮嘉禮.基于流媒體的VOD網(wǎng)站的架設(shè)[J].廣西科學(xué)院學(xué)報(bào),2003,19(4):230-233.
[2]吳彩霞,古達(dá)文,趙呈領(lǐng).基于WEB的VOD系統(tǒng)在校園網(wǎng)中的實(shí)現(xiàn)[J].中國(guó)遠(yuǎn)程教育,2002(9):60-61.
[3]STEINMETZ R,NAHRSTEDT K.Multimedia Computing Communication&Applications[M].北京:清華大學(xué)出版社,2001:20-60.
[4]賽奎春.ASP信息系統(tǒng)開(kāi)發(fā)實(shí)例精選[M].北京:機(jī)械工業(yè)出版社,2005:345-392.