☆ 饒宇珊
(北京師范大學(xué)南山附屬學(xué)校,廣東深圳 518054)
利用學(xué)?,F(xiàn)有的網(wǎng)絡(luò)和資源,設(shè)計(jì)并開(kāi)發(fā)視頻點(diǎn)播系統(tǒng),利用流媒體技術(shù)有效率地實(shí)現(xiàn)視頻點(diǎn)播、電視網(wǎng)絡(luò)直播、文件上傳等功能,實(shí)現(xiàn)資源分類(lèi)管理,不但為在校師生提供了基于流媒體技術(shù)的資源服務(wù),極大地提高教師教研的技術(shù)水準(zhǔn),為教師專(zhuān)業(yè)成長(zhǎng)提供資源上的保障,也為學(xué)校資源建設(shè)提供了很好的平臺(tái),使教學(xué)資源實(shí)現(xiàn)特色化管理,促進(jìn)了數(shù)字化校園的建設(shè)。這種系統(tǒng)實(shí)現(xiàn)方案花費(fèi)極少,具有技術(shù)先進(jìn)、性能良好、成本低廉的特點(diǎn),非常適合校園環(huán)境,使用價(jià)值高。只要有校園網(wǎng)絡(luò)的學(xué)校都可以比較容易地實(shí)現(xiàn)。
運(yùn)用于校園的視頻點(diǎn)播系統(tǒng)采用瀏覽器/服務(wù)器模式會(huì)比較適合,即B/S模式??蛻?hù)端只要能上網(wǎng)即可以觀(guān)看視頻,系統(tǒng)靈活開(kāi)放。這樣處理,既可以充分發(fā)揮視頻點(diǎn)播系統(tǒng)的優(yōu)越性,又不需要使用者有專(zhuān)業(yè)的知識(shí)或者特定的操作技能。
流媒體服務(wù)器、WEB服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器是視頻點(diǎn)播系統(tǒng)的三大組成部分?;贐/S結(jié)構(gòu)的視頻點(diǎn)播系統(tǒng)的工作原理是:
(1)當(dāng)客戶(hù)需要點(diǎn)播節(jié)目時(shí),首先使用瀏覽器訪(fǎng)問(wèn)WEB服務(wù)器。
(2)由WEB服務(wù)器查詢(xún)數(shù)據(jù)庫(kù)服務(wù)器,返回節(jié)目的URL給客戶(hù)機(jī)。
(3)客戶(hù)機(jī)啟動(dòng)流媒體播放器。
(4)客戶(hù)機(jī)根據(jù)獲得的節(jié)目URL向流媒體服務(wù)器發(fā)起請(qǐng)求。
(5)流媒體服務(wù)器接受請(qǐng)求并查詢(xún)存儲(chǔ)系統(tǒng),發(fā)送流媒體數(shù)據(jù)給客戶(hù)機(jī)。
(6)在客戶(hù)機(jī)的媒體播放器上進(jìn)行播放,完成一次視頻點(diǎn)播過(guò)程。
流媒體視頻點(diǎn)播系統(tǒng)在校園網(wǎng)絡(luò)內(nèi)實(shí)現(xiàn)的總體技術(shù)架構(gòu)如圖1所示,系統(tǒng)技術(shù)架構(gòu)的核心組成部分是安裝了WMS(Windows Media Server)流媒體服務(wù)軟件的流媒體服務(wù)器、用ASP.NET開(kāi)發(fā)的WEB服務(wù)器和SQL Server數(shù)據(jù)庫(kù)服務(wù)器這三大部分。視頻來(lái)源有兩大部分:一是原有的音、視頻文件和不斷增加的錄像資源,通過(guò)采編工作,通過(guò)WEB服務(wù)器上傳到流媒體服務(wù)器存儲(chǔ)系統(tǒng);二是由電視機(jī)頂盒接收模擬信號(hào),經(jīng)過(guò)編碼器和編碼軟件,利用WMS實(shí)現(xiàn)電視網(wǎng)絡(luò)直播。
圖1 視頻點(diǎn)播系統(tǒng)的技術(shù)架構(gòu)總圖
流媒體服務(wù)器是流媒體應(yīng)用的核心系統(tǒng),是運(yùn)營(yíng)商向用戶(hù)提供視頻服務(wù)的關(guān)鍵平臺(tái)。其主要功能是對(duì)媒體內(nèi)容進(jìn)行采集、緩存、調(diào)度和傳輸播放,流媒體應(yīng)用系統(tǒng)的主要性能體現(xiàn)都取決于媒體服務(wù)器的性能和服務(wù)質(zhì)量。因此,流媒體服務(wù)器是流媒體應(yīng)用系統(tǒng)的基礎(chǔ),也是最主要的組成部分。
服 務(wù) 器 性 能 :IBM X36507979 (IntelXeon2.0 GHz)2U機(jī)架服務(wù)器;2個(gè)英特爾至強(qiáng)雙核DP 2.0GHz CPU,4MB二級(jí)緩存,最大支持2路處理器,4GB PC2-5300 DDR2 ECC Chipkill SDRAM內(nèi)存(12個(gè)內(nèi)存插槽\最大擴(kuò)展到48GB);SAS磁盤(pán)控制器等。
存儲(chǔ)系統(tǒng)的配置:服務(wù)器主機(jī)的相關(guān)配置,Serve RAID 8K 陣列卡和 5塊 146.8GB 15K 3.5″SAS熱插拔硬盤(pán)可以滿(mǎn)足當(dāng)前大數(shù)量的視頻資源的存儲(chǔ)需求,6個(gè)熱插拔薄型硬盤(pán)托架可以擴(kuò)展未來(lái)一段時(shí)間的新視頻資源的存儲(chǔ)需求。
流媒體服務(wù)軟件的選擇:使用Windows 2003 server操作系統(tǒng),啟用IIS和Windows media services服務(wù)。微軟的Windows Media Service(WMS)是最典型的流媒體服務(wù)器,它采用MMS協(xié)議接收、傳輸視頻,采用Windows Media Player(WMP)作為前端播放器。
流媒體服務(wù)器建好以后,并不能提供用戶(hù)較友好的訪(fǎng)問(wèn)方式,一般都會(huì)提供一個(gè)視頻資源的路徑,如何找到一個(gè)更友好的方式?讓很多視頻資源都集結(jié)在一個(gè)資源網(wǎng)站上。
我們采用基于 Windows的 ASP.NET和 VB.NET作為基礎(chǔ)開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序,自己開(kāi)發(fā)視頻網(wǎng)站作為VOD系統(tǒng)的WEB服務(wù)器,其作用是為用戶(hù)和管理員提供一個(gè)良好的交互平臺(tái),方便對(duì)視頻資源進(jìn)行操作和管理。另外,也方便了管理員對(duì)用戶(hù)進(jìn)行管理。
圖2 視頻點(diǎn)播網(wǎng)站系統(tǒng)的總體功能圖
校園網(wǎng)視頻點(diǎn)播系統(tǒng)的總體功能如圖2所示,包括后臺(tái)管理(包括用戶(hù)管理模塊、視頻管理模塊、目錄管理模塊和評(píng)論管理模塊)、視頻點(diǎn)播(包括視頻點(diǎn)播模塊和發(fā)表評(píng)論模塊)、電視直播三個(gè)子系統(tǒng)。視頻點(diǎn)播網(wǎng)站系統(tǒng)的各模塊功能介紹如下:
用戶(hù)管理模塊:在此功能模塊中管理員對(duì)用戶(hù)的信息進(jìn)行管理,包括添加、刪除用戶(hù)信息和對(duì)用戶(hù)的信息進(jìn)行修改等。
視頻管理模塊:在此功能模塊中管理員可以上傳視頻、刪除視頻。
目錄管理模塊:在此功能模塊中管理員管理視頻目錄,可以添加、修改、刪除視頻信息。本功能模塊的系統(tǒng)工作流程與用戶(hù)管理模塊相同。
發(fā)表評(píng)論模塊:在此功能模塊中用戶(hù)可以對(duì)所觀(guān)看的視頻進(jìn)行評(píng)價(jià)。
評(píng)論管理模塊:在此功能模塊中管理員管理用戶(hù)對(duì)視頻的評(píng)價(jià)信息,可刪除評(píng)價(jià)信息。
視頻點(diǎn)播模塊:在此功能模塊中用戶(hù)可以點(diǎn)播自己想看的視頻。
客戶(hù)完成一次視頻點(diǎn)播的系統(tǒng)工作流程如圖3所示,客戶(hù)通過(guò)WEB服務(wù)器提出某一文件的點(diǎn)播請(qǐng)求,由WEB服務(wù)器查詢(xún)數(shù)據(jù)庫(kù),如果片源的信息在數(shù)據(jù)庫(kù)存在,由WEB服務(wù)器向流媒體服務(wù)器發(fā)出請(qǐng)求,流媒體服務(wù)器向客戶(hù)機(jī)以媒體流的形式發(fā)送音視頻文件??蛻?hù)端啟動(dòng)流媒體播放軟件,接收媒體流。這樣,用戶(hù)就完成了一次視頻點(diǎn)播過(guò)程。
圖3 視頻點(diǎn)播工作流程圖
用戶(hù)工作的總流程如圖4所示,用戶(hù)在登錄界面按要求輸入用戶(hù)名和密碼,系統(tǒng)會(huì)根據(jù)用戶(hù)的輸入信息訪(fǎng)問(wèn)相應(yīng)的數(shù)據(jù)庫(kù)表User,確定是否為合法用戶(hù),條件符合則進(jìn)入系統(tǒng)界面。用戶(hù)和管理員在視頻網(wǎng)頁(yè)上可以做相應(yīng)權(quán)限的行為。系統(tǒng)再根據(jù)表User中的權(quán)限字段判斷用戶(hù)的身份是管理員還是普通用戶(hù),管理員用戶(hù)還要經(jīng)系統(tǒng)訪(fǎng)問(wèn)另一張數(shù)據(jù)表Admin,判斷是系統(tǒng)管理員還是普通管理員。普通管理員的所有行為權(quán)限系統(tǒng)管理員都有,而系統(tǒng)管理員的部分權(quán)限普通管理員沒(méi)有。
圖4 用戶(hù)工作流程圖
數(shù)據(jù)庫(kù)服務(wù)器執(zhí)行WEB服務(wù)器發(fā)送的對(duì)節(jié)目信息和用戶(hù)信息的查詢(xún)、存取、刪除等命令。數(shù)據(jù)庫(kù)服務(wù)器和WEB服務(wù)器協(xié)作,讓W(xué)EB服務(wù)器的響應(yīng)請(qǐng)求和數(shù)據(jù)操作分開(kāi),降低WEB服務(wù)器的壓力,對(duì)數(shù)據(jù)服務(wù)器的性能和穩(wěn)定性有一定的要求。
本系統(tǒng)使用的數(shù)據(jù)庫(kù)服務(wù)器是SQL Server 2005。系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)包括用E-R圖設(shè)計(jì),數(shù)據(jù)字典的設(shè)計(jì),數(shù)據(jù)庫(kù)表的設(shè)計(jì),數(shù)據(jù)庫(kù)邏輯關(guān)系圖等。視頻點(diǎn)播網(wǎng)上系統(tǒng)用戶(hù)、管理員和視頻資源之間的聯(lián)系圖如圖5所示。
圖5 數(shù)據(jù)E-R圖
電視直播的工作原理是:將電視(模擬)信號(hào)通過(guò)采集轉(zhuǎn)換為數(shù)字信號(hào)輸入計(jì)算機(jī),應(yīng)用流媒體技術(shù)在網(wǎng)絡(luò)上進(jìn)行直播,用戶(hù)訪(fǎng)問(wèn)指定的直播網(wǎng)站頁(yè)面,其訪(fǎng)問(wèn)請(qǐng)求導(dǎo)向發(fā)布服務(wù)器節(jié)點(diǎn),獲得流媒體數(shù)據(jù),通過(guò)網(wǎng)頁(yè)瀏覽器自帶的播放器觀(guān)看直播視頻內(nèi)容。
我校實(shí)現(xiàn)電視直播,需要配備HVC400編碼器和Nowstream編碼軟件作為采集編碼模塊。在服務(wù)器上安裝HVC400編碼器和Nowstream編碼軟件,來(lái)實(shí)現(xiàn)實(shí)況流的直播或定時(shí)直播、實(shí)況流的拉傳遞功能、實(shí)況流的推傳遞功能、文件保存或定時(shí)保存等。
我們采用基于 Windows的 ASP.NET和 VB.NET作為基礎(chǔ)開(kāi)發(fā)網(wǎng)絡(luò)應(yīng)用程序,結(jié)合MS SQL Server 2005數(shù)據(jù)庫(kù)技術(shù),完成網(wǎng)站的開(kāi)發(fā)運(yùn)用。
圖6 點(diǎn)播平臺(tái)首頁(yè)面
點(diǎn)播平臺(tái)的首頁(yè)面如圖6所示,根據(jù)我校教學(xué)資源建設(shè)的要求,分欄目為:
(1)視頻直播:在該頁(yè)面,用戶(hù)可以直接同步觀(guān)看各頻道電視節(jié)目。
(2)視頻新聞:該頁(yè)面展示當(dāng)今發(fā)生的重要新聞事件和學(xué)校新聞視頻。
(3)示范課例:在該頁(yè)面,教師上公開(kāi)課的視頻分學(xué)科分組展示。
(4)教師培訓(xùn):該頁(yè)面展示針對(duì)教師技能、素質(zhì)培訓(xùn)的視頻資料。
(5)教學(xué)資源:該頁(yè)面展示優(yōu)秀教學(xué)示范的視頻資料。
(6)電影:該頁(yè)面展示一些電影資料。
(7)音樂(lè):該頁(yè)面展示一些音頻資料。
后臺(tái)的管理目前有三塊功能,分別為目錄管理、視頻添加及用戶(hù)管理。
1.目錄管理功能
該視頻網(wǎng)站的目錄非常靈活,可以實(shí)現(xiàn)無(wú)限級(jí)目錄的動(dòng)態(tài)管理,添加、修改、刪除都很方便,是用 Asp.net里自帶的Treeview組件實(shí)現(xiàn),效果如圖7所示。
圖7 目錄管理
2.視頻添加功能
在視頻添加模塊里,“視頻介紹”部分采用Word編輯器的功能,方便內(nèi)容的添加編輯,如圖8所示。
圖8 視頻添加
我校的視頻網(wǎng)站支持三種方式上傳:第一種是直接以wmv格式上傳,優(yōu)勢(shì)在于視頻比較清晰,但公網(wǎng)瀏覽不順暢,應(yīng)用于追求清晰度的情況。第二種是直接以flv格式上傳,對(duì)于從網(wǎng)上找到的資源,如果是flv格式可以直接上傳。第三種是由其它格式轉(zhuǎn)化為flv格式方式上傳,這就借助于我們 ASP.Net的ffmpeg和mencoder組件來(lái)實(shí)現(xiàn)。如圖9所示。
圖9 文件格式直接轉(zhuǎn)換頁(yè)面
3.用戶(hù)管理
為了實(shí)現(xiàn)視頻的分級(jí)管理,不同級(jí)別的用戶(hù)只能看到相應(yīng)級(jí)別的視頻,管理員在審核會(huì)員的時(shí)候,可以對(duì)用戶(hù)進(jìn)行分級(jí),功能如圖10所示。
圖10 用戶(hù)管理
1.使用Treeview部署目錄樹(shù)實(shí)現(xiàn)視頻目錄管理
TreeView控件用來(lái)顯示信息的分級(jí)視圖,如同Windows里的資源管理器的目錄。TreeView控件顯示Node對(duì)象的分層列表,每個(gè) Node對(duì)象均由一個(gè)標(biāo)簽和一個(gè)可選的位圖組成。TreeView一般用于顯示文檔標(biāo)題、索引入口、磁盤(pán)上的文件和目錄、或能被有效地分層顯示的其它種類(lèi)信息。創(chuàng)建了TreeView控件之后,可以通過(guò)設(shè)置屬性與調(diào)用方法對(duì)各Node對(duì)象進(jìn)行操作,這些操作包括添加、刪除、對(duì)齊和其它操作。
2.用NeatUpload組件完成視頻的上傳工作,上傳速度快,有進(jìn)度顯示
3.借助Ffmpeg和Mencoder組件來(lái)完成視頻轉(zhuǎn)換和截圖工作
我們用Asp.net開(kāi)發(fā)一個(gè)可以同時(shí)實(shí)現(xiàn)上傳和轉(zhuǎn)換的網(wǎng)頁(yè)平臺(tái),通過(guò)使用免費(fèi)的ffmpeg和mencoder組件,基本上可以實(shí)現(xiàn)把所有視頻文件格式轉(zhuǎn)為flv格式。在這個(gè)平臺(tái)中,ffmpeg組件和mencoder組件是有具體分工的,對(duì)于 asf、avi、mpg、3gp、mov 等格式文件采用 ffmpeg 組件來(lái)進(jìn)行轉(zhuǎn)換,而 wmv、rmvb、rm等格式的文件采用mencoder組件來(lái)轉(zhuǎn)換,另外,在轉(zhuǎn)換過(guò)程中可以自動(dòng)截圖,截圖都是靠ffmpeg組件來(lái)完成的。這樣,運(yùn)用這個(gè)網(wǎng)頁(yè)平臺(tái)就可以完整實(shí)現(xiàn)視頻的上傳和轉(zhuǎn)換。
截取一段60秒時(shí)間長(zhǎng)度的視頻文件,將文件存儲(chǔ)為wmv(352*288,30fps)格式。存儲(chǔ)容量大小是 4.96M。將wmv格式文件直接上傳的網(wǎng)絡(luò)速度數(shù)據(jù)如圖11,是69.5KB /s。
圖11 wmv格式文件上傳進(jìn)度
將文件以flv格式上傳的網(wǎng)絡(luò)速度數(shù)據(jù)如圖12,是89.1KB /s。
圖12 wmv文件轉(zhuǎn)化為FLV格式上傳進(jìn)度
測(cè)試結(jié)果是同時(shí)間段視頻以wmv格式直接上傳的網(wǎng)絡(luò)速度比轉(zhuǎn)化為flv格式上傳網(wǎng)絡(luò)速度要慢。
wmv格式的視頻在局域網(wǎng)內(nèi)完成一次完整的點(diǎn)播需要時(shí)間是60.03s,flv格式的視頻在局域網(wǎng)內(nèi)完成一次完整的點(diǎn)播需要時(shí)間是60.03s。結(jié)論是:在局域網(wǎng)環(huán)境內(nèi),同時(shí)間段視頻wmv格式視頻和flv格式視頻完整的點(diǎn)播需要時(shí)間沒(méi)有測(cè)試出時(shí)間差。
本文對(duì)流媒體視頻點(diǎn)播系統(tǒng)的整體設(shè)計(jì)和構(gòu)架做出了詳細(xì)描述,敘述了系統(tǒng)三大組成部分的設(shè)計(jì)和實(shí)現(xiàn)。系統(tǒng)優(yōu)點(diǎn)包括:(1)流媒體服務(wù)軟件選擇最典型的WMV,兼容性強(qiáng)。(2)自己開(kāi)發(fā)交互平臺(tái),用戶(hù)可以根據(jù)自己的喜好定制自己所需的資源管理方案,對(duì)往后的維護(hù)也沒(méi)有技術(shù)顧慮。(3)這種系統(tǒng)實(shí)現(xiàn)方案花費(fèi)極少,具有性能良好,使用價(jià)值高,成本低廉的特點(diǎn)。只要有校園網(wǎng)絡(luò)的學(xué)校都可以比較容易地實(shí)現(xiàn)。
[1][美]Steve Mack.流媒體寶典 Streaming Media Bible.邢栩嘉等譯[M].北京:電子工業(yè)出版社,2003,1:32-34.
[2]莊捷.流媒體原理與應(yīng)用[M].北京:中國(guó)廣播電視出版社,2007,8:77-79.
[3]齊俊杰,胡潔,麻信洛.流媒體技術(shù)入門(mén)與提高(第2版)[M].北京:國(guó)防工業(yè)出版社,2009,8:75-77.
[4]鐘玉琢,向哲,沈洪.流媒體與視頻服務(wù)器[M].北京:清華大學(xué)出版社,2003:21-95.
[5]胡譯,趙新梅.流媒體技術(shù)與應(yīng)用[M].北京:中國(guó)廣播電視出版社,2006,6:28-35.
[6]劉穎.流媒體視頻點(diǎn)播系統(tǒng)的設(shè)計(jì)方案[J].天津職業(yè)院校聯(lián)合學(xué)報(bào),2010,12(2):45-46.
[7]趙瑛,朱亞莉.基于校園網(wǎng)絡(luò)的視頻點(diǎn)播系統(tǒng)[J].現(xiàn)代教育技術(shù),2002,(4):65-67.
[8]Chang Woo,Jee Kang,G Shin.A davic video-on-demand system based on the PTSP[J].2001,8(4):231-238.
[9]王軍?。甐OD服務(wù)器性能及服務(wù)方式研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,(3):6-24.
[10]蔡佳,李社教.探究在教學(xué)中運(yùn)用的多媒體技術(shù)及其特性[J].電腦知識(shí)與技術(shù),2010,6(12).