国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DirectShow的網(wǎng)絡視頻點播系統(tǒng)的設計與實現(xiàn)

2015-03-21 12:49雷文禮任新成張棟高瑛
現(xiàn)代電子技術 2015年7期
關鍵詞:視頻點播客戶機列表

雷文禮,任新成,張棟,高瑛

(延安大學物理與電子信息學院,陜西延安716000)

基于DirectShow的網(wǎng)絡視頻點播系統(tǒng)的設計與實現(xiàn)

雷文禮,任新成,張棟,高瑛

(延安大學物理與電子信息學院,陜西延安716000)

隨著計算機技術和Internet日新月異的的發(fā)展,寬帶VOD視頻點播技術因其良好的人機交互性和流媒體傳輸技術倍受教育、娛樂等行業(yè)的青睞。設計了一種基于DirectShow技術的視頻點播系統(tǒng),該系統(tǒng)采用VC編程語言實現(xiàn),基于C/S架構搭建通信網(wǎng)絡,通過套接字實現(xiàn)多臺客戶機與服務器間的通信。測試結果表明,系統(tǒng)能夠正常運行,視頻播放流暢,可以滿足網(wǎng)絡視頻點播的需求。

視頻點播;Direct Show;C/S架構;套接字

0 引言

在人們平時的生活中,經常希望能夠隨時收看到錯過的視頻節(jié)目,隨著視頻點播系統(tǒng)的問世,使這種想法慢慢變?yōu)楝F(xiàn)實。視頻點播系統(tǒng)是集通信網(wǎng)絡技術、多媒體技術、計算機和數(shù)據(jù)庫技術于一體的嶄新的視頻服務系統(tǒng)。此系統(tǒng)還運用了智能視頻流技術,針對不同的網(wǎng)絡帶寬和傳輸速度采取不同的傳輸方式。視頻點播是近年來新興的傳媒方式,它是在原有的文字、圖片等靜態(tài)信息瀏覽的基礎上,增加了視頻和音頻的動態(tài)瀏覽等多媒體點播服務[1?2]。這樣,用戶就可以隨時隨地瀏覽視頻,極大地豐富了人們的網(wǎng)絡生活內容[3]。

1 DirectShow技術

DirectShow[4]是一個基于Windows平臺上的流媒體框架,提供了高質量的多媒體流采集和回放功能。它支持多種多樣的媒體文件格式,包括MPEG、AVI、MP3和WAV文件,同時也支持使用WDM驅動或早期的VFW驅動來進行多媒體流的采集。DirectShow還整合了其他的DirectX技術,不僅可以自動偵測并使用可利用的音視頻硬件加速,還支持沒有硬件加速的系統(tǒng)。Direct?Show使用了一種叫Filter Graph的模型來管理整個數(shù)據(jù)流的處理過程,參與數(shù)據(jù)處理的各個功能模塊叫作過濾器(Filter),各個模塊的Filter在Filter Graph中按一定的順序連接成一條“流水線”式的工作模式來協(xié)同工作。

2 系統(tǒng)設計

本文設計的基于DirectShow的網(wǎng)絡視頻點播服務系統(tǒng),實現(xiàn)的主要功能包括視頻文件的播放、網(wǎng)絡接收及客戶端與服務器的連接等。具體來講,它包括服務器框架的搭建與實現(xiàn),視頻信息的顯示、播放,視頻管理中的添加、修改、刪除等。系統(tǒng)授權的用戶可以在線點播視頻文件,部分用戶還可以向服務器上傳視頻,編輯視頻信息,刪除自己以前上傳的視頻[5?6]。

網(wǎng)絡視頻點播服務系統(tǒng)主要分為服務器框架的設計與實現(xiàn)、客戶端的設計與實現(xiàn)、服務器與客戶端的網(wǎng)絡連接與網(wǎng)絡數(shù)據(jù)的接收[7?8]。

2.1 服務器框架的設計與實現(xiàn)

服務器一般要求具有較高的處理速度和大的存儲容量,用于存放媒體文件和管理整個網(wǎng)絡。服務器程序負責管理本地的文件資源,獲取文件的描述信息,維護節(jié)目列表,并在客戶機發(fā)出訪問請求時,及時準確地響應客戶機的請求,提供節(jié)目列表給客戶機查看或者點播。

圖1為服務器的VC工作區(qū)結構。

圖1 服務器的VC工作區(qū)結構

2.2 客戶端的設計與實現(xiàn)

客戶端程序與服務器建立連接、向服務器發(fā)送指令、接收來自服務器的媒體數(shù)據(jù)。為了使客戶機接收到的媒體數(shù)據(jù)同步播放,這里使用DirectShow來實現(xiàn)。Direct?Show中采用開發(fā)Source Filter的方式接收網(wǎng)絡數(shù)據(jù),并將數(shù)據(jù)引入到Filter Graph中。

圖2為客戶端的VC工作區(qū)結構。

圖2 客戶端的VC工作區(qū)結構

2.3 基于Socket的C/S交互模型

通信開始前,對于客戶機與服務器分別創(chuàng)建一個基于CSocket類的新類CClientSocket和CServerSocket,然后分別構造一個客戶機套接字和服務器套接字進行通信。圖3為TCP流程的基于Socket的C/S交互模型。

2.4 網(wǎng)絡數(shù)據(jù)接收

在網(wǎng)絡數(shù)據(jù)接收時,DirectX定義了一系列類處理數(shù)據(jù)的來源,當需要讀取數(shù)據(jù)到緩存時,通過這些類將需要的數(shù)據(jù)傳送出去,這種方式即拉模式。在拉模式下,為了將Source Filter內的數(shù)據(jù)讀出,需要在Source Filter上創(chuàng)建一個接口,以便播放網(wǎng)絡接收來的文件。

圖3 基于Socket的C/S交互模型

圖4為網(wǎng)絡接收的VC工作區(qū)結構。

圖4 網(wǎng)絡接收的VC工作區(qū)結構

3 運行結果測試

3.1 服務器程序

服務器端的程序運行后如圖5所示。

圖5 服務器的程序界面

各部分表示如下:

①顯示服務器端可以提供給客戶機的節(jié)目列表。服務器負責整個網(wǎng)絡中文件信息的管理,并將可點播的節(jié)目列表提供給客戶機,其中包含的信息如文件名及路徑、文件類型(MPEG1、MPEG2、MP3、AVI等)、文件的大小、該文件的數(shù)字代號(Program ID,PID)。

②節(jié)目列表文件增加按鈕。點擊按鈕后,用戶可以根據(jù)文件瀏覽對話框通過路徑找到需要添加的文件,并加入到節(jié)目列表中。當用戶確定選擇添加某個文件后,系統(tǒng)會彈出如圖6所示的對話框,用戶可給該文件指定一個PID操作。

③節(jié)目列表文件刪除按鈕。當用戶需要從文件列表中刪除某一文件時,選中文件后,用戶首先要單擊本按鈕即可將節(jié)目列表中的文件刪除。

④節(jié)目項的編輯按鈕。當用戶需要改變文件列表中的某一文件時,首先選擇要編輯的文件,然后單擊本按鈕即可在彈出的對話框中對文件的屬性如PID等進行編輯了。

⑤服務器程序的狀態(tài)信息欄。顯示服務器的主機名、IP地址、命令控制端口等信息。

添加、編輯按鈕觸發(fā)后的程序界面,如圖6所示。

圖6 添加、編輯按鈕觸發(fā)后的程序圖

各部分表示如下:

①文件的完整路徑(用戶指定)。

②文件大?。ㄗ詣訖z測)。

③文件類型(自動檢測)。

④該文件的惟一數(shù)字代號(用戶指定)。

⑤確定將所選文件加入到節(jié)目列表中。

⑥取消將所選文件加入到節(jié)目列表中。

3.2 客戶端程序

服務器端的程序運行后如圖7所示,各部分說明如下:

①客戶機從服務器查詢到的可供點播的節(jié)目列表。當客戶機與服務器成功建立網(wǎng)絡連接之后,客戶機通過訪問服務器,可以獲得服務器端的點播文件節(jié)目列表。

②連接按鈕。當客戶端需要連接服務器時,用戶單擊本按鈕可以指定需要連接的服務器的IP地址,然后嘗試與指定的服務器IP地址建立連接,彈出的對話框,如圖9所示。

③刷新節(jié)目列表按鈕。當服務器端的節(jié)目列表變動后,客戶端可以通過點擊本按鈕,刷新服務器上的節(jié)目列表。

④節(jié)目播放按鈕。當用戶從節(jié)目列表中選定好需要播放的文件后,單擊本按鈕就可以對需要播放的文件進行播放。

⑤暫停播放按鈕。可以對正在播放的文件進行暫停播放。

⑥停止播放按鈕??梢詫φ诓シ诺奈募M行停止播放操作。

⑦信息欄。在客戶端信息檔,可以用于顯示客戶機的主機名、IP地址等信息。

⑧狀態(tài)欄。可以用于顯示客戶機與服務器端是否建立連接,是否有文件播放等狀態(tài)信息。

圖7 客戶端的程序界面

客戶機與服務器連接時IP地址對話框,如圖8所示。

圖8 IP地址對話框

3.3 視頻播放

圖9為視頻播放界面,當點擊客戶端文件列表中的視頻,會進行相應的視頻文件播放,測試中使用的視頻格式為AVI格式文件。

圖9 視頻播放畫面

4 結論

網(wǎng)絡視頻點播是伴隨著音頻、視頻處理技術及網(wǎng)絡通信的快速發(fā)展而日益受到人們歡迎的技術,也是多媒體應用技術中的熱門方向,它涉及到的知識面很廣泛,技術含量比較高。本文從系統(tǒng)設計,分模塊設計,到編碼測試,最終實現(xiàn)了視頻點播功能,為校園多媒體教室點播系統(tǒng)等提供了技術參考。

[1]楊鍵.VOD互動業(yè)務建設的若干問題研究[J].科技傳播,2012,6(12):199?200.

[2][荷]柳伯斯P,[美]阿伯斯B,[美]薩利姆F.HTML5程序設計[M].2版.北京:人民郵電出版社,2012.

[3]張海藩.軟件工程導論[M].北京:清華大學出版社,2004.

[4]陸琪明.DirectShow實務精選[M].北京:科學出版社,2004.

[5]譚浩強.C程序設計[M].北京:清華大學出版社,2005.

[6]鄭莉,董淵.C++語言程序設計[M].北京:清華大學出版社,2001.

[7][美]WILLIAMS Mickey.Visual C#.NET技術內幕[M].北京:清華大學出版社,2004.

[8]BAIN Tony,GOSNELL Denise.VB.NET和SQL Server 2000高級編程?創(chuàng)建高效數(shù)據(jù)層[M].北京:清華大學出版社,2002.

Design and realization of network video on demand service system based on DirectShow

LEI Wen?li,REN Xin?cheng,ZHANG Dong,GAO Ying
(College of Physic and Electronic Information,Yan’an University,Yan’an 716000,China)

With the rapid development of computer technology and Internet,the broadband VOD(video on demand)tech?nology is popular with education and entertainment fields because of its good human?computer interaction and streaming media transmission technology.A VOD system based on DirectShow technology is designed in this paper,in which the VC program?ming language is adopted.Its communication network is built on the basis of C/S architecture.The communication between multi?client and server is realized through socket.The test results show that the system can run normally and video playing is fluent. Therefore,it can meet the requirements of network video on demand.

video on demand;DirectShow;C/S architecture;socket

TN915.4?34

A

1004?373X(2015)07?0031?03

雷文禮(1982—),男,講師。主要研究方向為無線通信技術、通信系統(tǒng)與終端設計。

2014?11?19

延安市科學技術研究發(fā)展計劃項目(2014KG?04);陜西省教育廳科研計劃項目資助(14JK1829);陜西省科學技術研究發(fā)展計劃項目(工業(yè)攻關)(2014K05?61);國家自然科學基金(61379026)

猜你喜歡
視頻點播客戶機列表
學習運用列表法
擴列吧
流媒體的視頻點播系統(tǒng)在微課堂中的應用研究
基于嵌入式Linux平臺的網(wǎng)絡視頻點播系統(tǒng)
列表畫樹狀圖各有所長
基于Web的流媒體視頻點播系統(tǒng)在校園網(wǎng)絡中的運用
在線視頻點播系統(tǒng)設計與實現(xiàn)*
不含3-圈的1-平面圖的列表邊染色與列表全染色
瘦客戶機:安全與便捷的選擇
升騰瘦客戶機借神碼翱翔“云端”