王元鵬
(江蘇省如東第一職業(yè)教育中心校,江蘇南通 226400)
構(gòu)建基于雙向CATV網(wǎng)絡(luò)的校園視頻點(diǎn)播系統(tǒng)
王元鵬
(江蘇省如東第一職業(yè)教育中心校,江蘇南通 226400)
視頻點(diǎn)播VOD(Video On Demand)系統(tǒng)改變了過去收看節(jié)目的被動(dòng)方式,實(shí)現(xiàn)了節(jié)目的按需收看和任意播放,為教學(xué)提供實(shí)時(shí)、交互、按需點(diǎn)播服務(wù)。文章提出一種可以通過對(duì)有線電視網(wǎng)進(jìn)行雙向改造,并配以機(jī)頂盒的方式來實(shí)現(xiàn)VOD視頻點(diǎn)播服務(wù)的方案。
VOD;視頻服務(wù)器;多線程
利用VOD系統(tǒng)的雙向視頻傳輸特性和網(wǎng)絡(luò)特性,應(yīng)能提供以下功能:
1.視頻點(diǎn)播教學(xué)
系統(tǒng)能夠?qū)⒏骺苾?yōu)秀教師的多媒體課件、電視教材、直播課程、現(xiàn)場(chǎng)實(shí)驗(yàn)示范等采編存入VOD系統(tǒng),教師可在終端機(jī)上通過統(tǒng)一的點(diǎn)播界面,由遙控器或鼠標(biāo)自由點(diǎn)播這些視頻資源進(jìn)行教學(xué)。此外,該VOD系統(tǒng)應(yīng)支持多用戶點(diǎn)播而互不影響,不同地點(diǎn)的用戶可以同時(shí)點(diǎn)播相同教學(xué)內(nèi)容來進(jìn)行教學(xué),并分別對(duì)播放線程進(jìn)行控制。
2.自主學(xué)習(xí)
為培養(yǎng)學(xué)生自主發(fā)現(xiàn)問題、分析問題、尋求問題解決方案的創(chuàng)新能力,我們的點(diǎn)播系統(tǒng)應(yīng)能提供一個(gè)個(gè)性化教學(xué)服務(wù)平臺(tái),以增強(qiáng)學(xué)生學(xué)習(xí)的自主性,達(dá)到較好的學(xué)習(xí)效果。
3.視頻報(bào)告會(huì)
VOD系統(tǒng)應(yīng)具有較好的視頻傳輸特性。學(xué)校、教師可以通過該系統(tǒng)進(jìn)行現(xiàn)場(chǎng)直播或?qū)崨r轉(zhuǎn)播。在觀看過程中,VOD系統(tǒng)能提供提問、留言和發(fā)表評(píng)論等交互功能。該系統(tǒng)也可應(yīng)用于視頻會(huì)議中,以節(jié)約資源,提高效率。
4.影視欣賞
該系統(tǒng)應(yīng)能將影視資料存入到VOD服務(wù)器中,并平滑流暢地播放,同時(shí)可對(duì)視頻進(jìn)行自由控制,也可以將錯(cuò)過的電視節(jié)目錄制下來,供學(xué)生點(diǎn)播。一方面,各班級(jí)可省下購買DVD的費(fèi)用;另一方面,學(xué)校統(tǒng)一管理影視資料,可使學(xué)生免受不良影視的影響。
5.校園資訊
學(xué)??梢詫⒏黝悤?huì)議精神、通知和相關(guān)的新規(guī)章制度、獎(jiǎng)懲公告等信息通過該系統(tǒng)進(jìn)行傳達(dá)。教師和學(xué)生均可隨意選擇想看的通知內(nèi)容,不受時(shí)間和地點(diǎn)的限制。這種新穎的交互傳達(dá)方式能給師生交流和學(xué)校管理帶來極大的方便?,F(xiàn)代化的教學(xué)手段和科學(xué)的管理方式將對(duì)學(xué)校社會(huì)形象的提升起到顯著作用。
6.軟件在線升級(jí)
系統(tǒng)的軟件要隨時(shí)升級(jí)。軟件在線升級(jí)可看成是數(shù)據(jù)廣播的應(yīng)用之一。數(shù)據(jù)廣播服務(wù)器按DVB數(shù)據(jù)廣播標(biāo)準(zhǔn)將升級(jí)軟件廣播下來,系統(tǒng)應(yīng)能識(shí)別該軟件的版本號(hào),在版本不同時(shí)接收該軟件,并對(duì)保存在存儲(chǔ)器中的軟件進(jìn)行更新,實(shí)現(xiàn)系統(tǒng)的良好擴(kuò)展性。
隨著信息技術(shù)發(fā)展的日新月異,學(xué)校信息化建設(shè)也日益加快,如何更好地利用現(xiàn)有網(wǎng)絡(luò)來滿足學(xué)校視頻點(diǎn)播需求,同時(shí)為日后系統(tǒng)的拓展與建設(shè)做好全面的考慮,成為了學(xué)校信息化建設(shè)的重要課題。我校基于校園網(wǎng)構(gòu)建的視頻點(diǎn)播系統(tǒng)結(jié)構(gòu)如圖1所示。各教室、教師辦公室、教研室、行政辦公室、會(huì)議室、圖書館、部分學(xué)生寢室等都裝有計(jì)算機(jī)終端或帶有機(jī)頂盒的電視終端,教師、學(xué)生等都可以利用就近的終端,通過統(tǒng)一的界面,自主點(diǎn)播所需的多媒體信息和多媒體教學(xué)資源。這些信息和資源既可以是本校內(nèi)的,也可以是其它學(xué)校或Internet、教育衛(wèi)星上的信息和資源。
系統(tǒng)可分為以下三個(gè)部分:
1.用戶終端
為了利用學(xué)?,F(xiàn)有的硬件資源,我們既可使用PC機(jī)做點(diǎn)播終端,也可在現(xiàn)有的電視終端上配以機(jī)頂盒做點(diǎn)播終端。機(jī)頂盒通稱Set Top Box,是一種智慧型的數(shù)字式信號(hào)轉(zhuǎn)換器,用戶通過此設(shè)備即能夠?qū)崿F(xiàn)視頻點(diǎn)播、Internet訪問、遠(yuǎn)程教學(xué)、視頻會(huì)議、電子商務(wù)等多媒體信息服務(wù)。機(jī)頂盒通常與電視機(jī)配合使用,當(dāng)用戶進(jìn)行點(diǎn)播時(shí),將電視機(jī)切換至AV模式后,可使用機(jī)頂盒的遙控鍵盤對(duì)VOD系統(tǒng)所提供的視頻節(jié)目進(jìn)行點(diǎn)播,操作簡(jiǎn)單方便。
2.視頻點(diǎn)播軟件
視頻點(diǎn)播軟件界面如圖2所示,為了能和Internet無縫結(jié)合,軟件也保留了以太網(wǎng)的接口。這樣,不僅現(xiàn)在可以利用CATV網(wǎng)的優(yōu)勢(shì)使教師和學(xué)生可點(diǎn)播校內(nèi)視頻資源,另外也可隨時(shí)訪問Internet上豐富的多媒體教學(xué)資源。
3.視頻點(diǎn)播服務(wù)器
視頻點(diǎn)播服務(wù)器是VOD系統(tǒng)的核心,主要負(fù)責(zé)視頻信息的儲(chǔ)存和播放,其工作能力極大地影響著視頻點(diǎn)播系統(tǒng)的服務(wù)能力。由于目前市場(chǎng)上的專業(yè)視頻服務(wù)器價(jià)格昂貴,可以采用基本結(jié)構(gòu)如圖3、圖4所示的工控機(jī)加視頻解壓卡的方案,這樣構(gòu)建的VOD系統(tǒng)有很大的價(jià)格優(yōu)勢(shì)。
縱觀目前市場(chǎng)上的視頻解壓卡,Sigma公司生產(chǎn)的EM847x芯片的板卡,內(nèi)嵌了MPEG1、MPEG2、MPEG4算法,可以播放 VCD、DVD以及目前流行的MPEG4視頻文件,性能穩(wěn)定,且價(jià)格低廉。故在本系統(tǒng)中就選用了EM847x芯片。
由于EM847x系列視頻卡本身沒有多卡的接口,所以要進(jìn)行多卡控制必須通過其他途徑。解決方法是通過共享內(nèi)存方式來控制多進(jìn)程,而每個(gè)線程則控制一塊視頻卡,以此來實(shí)現(xiàn)多卡控制。實(shí)現(xiàn)流程如圖5所示。多卡線程要先檢測(cè)是否有上次殘留的單卡進(jìn)程,查看是否有上次異常退出時(shí)殘留下的單卡控制進(jìn)程。若有,則清除這些殘留進(jìn)程,然后開辟一個(gè)共享內(nèi)存區(qū),啟動(dòng)多線程。每次啟動(dòng)一個(gè)單卡線程時(shí)檢查視頻卡是否正常,若不正常將會(huì)停止這個(gè)線程,發(fā)出錯(cuò)誤信息,停止當(dāng)前視頻卡的使用;如果正常就將結(jié)構(gòu)體指針指向開辟的共享內(nèi)存空間,然后再啟動(dòng)下一個(gè)單卡控制線程,直到N個(gè)單卡控制線程啟動(dòng)完畢,最后發(fā)出啟動(dòng)結(jié)束信息。
啟動(dòng)多個(gè)單卡控制線程,每個(gè)單卡控制程序都定義和Vod_Channel同樣的結(jié)構(gòu)體,啟動(dòng)時(shí)打開名稱為Vod_Memory的共享內(nèi)存區(qū)域,然后將單卡定義的Vod_Channel結(jié)構(gòu)體的指針指向這個(gè)共享內(nèi)存地址空間,之后將自己的句柄信息寫入結(jié)構(gòu)體里的句柄變量。這樣,每啟動(dòng)一個(gè)線程就在共享內(nèi)存中開辟了一個(gè)Vod_Channel結(jié)構(gòu)體數(shù)組。結(jié)構(gòu)體數(shù)組Vod_Channel[1]就代表單卡線程 1,Vod_Channel[1].handle里面就是線程1的句柄信息。由于線程1的句柄信息此時(shí)是放在共享內(nèi)存中的,因此就可以通過SendMessage函數(shù)給線程發(fā)送消息,線程收到消息就可以進(jìn)行相應(yīng)的處理,這樣就通過多線程實(shí)現(xiàn)了多卡的控制。
多卡控制是在一臺(tái)服務(wù)器上實(shí)現(xiàn)的,由于受板卡資源以及CPU處理能力的限制,一般來說,一臺(tái)服務(wù)器最多能同時(shí)輸出16路音視頻流,這對(duì)于稍大規(guī)模地應(yīng)用就顯得不夠,因此如何實(shí)現(xiàn)視頻流輸出的無縫擴(kuò)展,也是能否使用此項(xiàng)技術(shù)的關(guān)鍵。為此,就要將視頻服務(wù)器中的播放和播控功能分開,將所有播控功能集中于一臺(tái)播控服務(wù)器中,播控服務(wù)器通過前端調(diào)制器與客戶端 (機(jī)頂盒)進(jìn)行交互,通過 TCP/IP協(xié)議與播放服務(wù)器進(jìn)行交互,這樣就可以在局域網(wǎng)中布置多臺(tái)視頻播放服務(wù)器,實(shí)現(xiàn)視頻播放服務(wù)器的分布式應(yīng)用。
[1]王麗君.校園網(wǎng)視頻點(diǎn)播系統(tǒng)的建立[J].鞍山鋼鐵學(xué)院學(xué)報(bào),2001,(24).
[2]陸其明.DirectShow開發(fā)指南[M].北京:清華大學(xué)出版社,2003.
[3]解煒,易鵬.DVB—C數(shù)字有線電視綜合解碼接收機(jī)[J].有線電視技術(shù),2000,(9).
[4]趙瑛,朱亞莉.基于校園網(wǎng)的視頻點(diǎn)播系統(tǒng)[DB/OL].http://www.studa.net/network/080615/14154746.html.
[5]蘇磊,左曉寧.基于有線電視網(wǎng)絡(luò)平臺(tái)視頻點(diǎn)播技術(shù)的實(shí)現(xiàn)[J].中國(guó)有線電視,2003,(19).
(編輯:魯利瑞)
G484
B
1673-8454(2011)06-0080-03