999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于DirectShow的網(wǎng)絡(luò)視頻點(diǎn)播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2015-04-12 00:00:00雷文禮任新成張棟高瑛
現(xiàn)代電子技術(shù) 2015年7期

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

關(guān)鍵詞: 視頻點(diǎn)播; Direct Show; C/S架構(gòu); 套接字

中圖分類號(hào): TN915.4?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2015)07?0031?03

0 引 言

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

1 DirectShow技術(shù)

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

2 系統(tǒng)設(shè)計(jì)

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

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

2.1 服務(wù)器框架的設(shè)計(jì)與實(shí)現(xiàn)

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

圖1為服務(wù)器的VC工作區(qū)結(jié)構(gòu)。

圖1 服務(wù)器的VC工作區(qū)結(jié)構(gòu)

2.2 客戶端的設(shè)計(jì)與實(shí)現(xiàn)

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

圖2為客戶端的VC工作區(qū)結(jié)構(gòu)。

圖2 客戶端的VC工作區(qū)結(jié)構(gòu)

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

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

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

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

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

圖4為網(wǎng)絡(luò)接收的VC工作區(qū)結(jié)構(gòu)。

圖4 網(wǎng)絡(luò)接收的VC工作區(qū)結(jié)構(gòu)

3 運(yùn)行結(jié)果測(cè)試

3.1 服務(wù)器程序

服務(wù)器端的程序運(yùn)行后如圖5所示。

圖5 服務(wù)器的程序界面

各部分表示如下:

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

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

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

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

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

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

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

各部分表示如下:

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

② 文件大小(自動(dòng)檢測(cè))。

③ 文件類型(自動(dòng)檢測(cè))。

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

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

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

3.2 客戶端程序

服務(wù)器端的程序運(yùn)行后如圖7所示,各部分說明如下:

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

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

③ 刷新節(jié)目列表按鈕。當(dāng)服務(wù)器端的節(jié)目列表變動(dòng)后,客戶端可以通過點(diǎn)擊本按鈕,刷新服務(wù)器上的節(jié)目列表。

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

⑤ 暫停播放按鈕。可以對(duì)正在播放的文件進(jìn)行暫停播放。

⑥ 停止播放按鈕。可以對(duì)正在播放的文件進(jìn)行停止播放操作。

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

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

圖7 客戶端的程序界面

客戶機(jī)與服務(wù)器連接時(shí)IP地址對(duì)話框,如圖8所示。

圖8 IP地址對(duì)話框

3.3 視頻播放

圖9為視頻播放界面,當(dāng)點(diǎn)擊客戶端文件列表中的視頻,會(huì)進(jìn)行相應(yīng)的視頻文件播放,測(cè)試中使用的視頻格式為AVI格式文件。

圖9 視頻播放畫面

4 結(jié) 論

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

參考文獻(xiàn)

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

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

[3] 張海藩.軟件工程導(dǎo)論[M].北京:清華大學(xué)出版社,2004.

[4] 陸琪明.DirectShow 實(shí)務(wù)精選[M].北京:科學(xué)出版社,2004.

[5] 譚浩強(qiáng).C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2005.

[6] 鄭莉,董淵.C++語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2001.

[7] [美]WILLIAMS Mickey.Visual C#.NET技術(shù)內(nèi)幕[M].北京:清華大學(xué)出版社,2004.

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

主站蜘蛛池模板: 日本在线亚洲| 亚洲婷婷六月| 色婷婷综合在线| 高清不卡一区二区三区香蕉| 动漫精品啪啪一区二区三区| 精品无码日韩国产不卡av| 国产天天色| 久久久精品国产SM调教网站| 午夜福利亚洲精品| 国产99欧美精品久久精品久久| 国产成人精品亚洲日本对白优播| 免费无遮挡AV| aⅴ免费在线观看| 亚洲午夜综合网| 久久综合丝袜日本网| 国产亚洲精品自在线| 在线观看免费人成视频色快速| 国产99免费视频| 熟女视频91| 男人的天堂久久精品激情| 夜夜操天天摸| 91久久精品国产| 丁香婷婷激情综合激情| 午夜电影在线观看国产1区| 成人精品视频一区二区在线 | 国产免费久久精品99re丫丫一| 欧洲日本亚洲中文字幕| 喷潮白浆直流在线播放| 第一页亚洲| 99伊人精品| 国产成人喷潮在线观看| 国产流白浆视频| 国产成人在线无码免费视频| 精品视频免费在线| 无遮挡国产高潮视频免费观看| 欧美激情成人网| 亚洲第一中文字幕| 全午夜免费一级毛片| 第九色区aⅴ天堂久久香| 亚洲日本精品一区二区| 亚洲中文无码h在线观看 | a级毛片网| 久久这里只有精品国产99| 91黄视频在线观看| 国产精品永久免费嫩草研究院| 漂亮人妻被中出中文字幕久久| 久久人午夜亚洲精品无码区| 国产97色在线| 免费在线看黄网址| 日本高清免费一本在线观看| 国产激情第一页| 人妻无码中文字幕第一区| 狼友视频国产精品首页| 国产福利观看| 久久伊人久久亚洲综合| 国产欧美视频综合二区| 91久久偷偷做嫩草影院免费看| 一本大道香蕉高清久久| 成人毛片免费观看| 欧美视频在线第一页| 国产精品自在在线午夜| 日本尹人综合香蕉在线观看| 亚洲成人手机在线| 亚洲第一成网站| 91蝌蚪视频在线观看| 亚洲一级无毛片无码在线免费视频| 香港一级毛片免费看| 亚洲天堂首页| 人人91人人澡人人妻人人爽 | 国产不卡一级毛片视频| 亚洲综合香蕉| 原味小视频在线www国产| 国产视频a| 人妻一区二区三区无码精品一区 | 亚洲男人天堂网址| 一本综合久久| 欧美色图久久| 婷五月综合| 91丨九色丨首页在线播放| 国产日韩精品一区在线不卡 | 激情无码视频在线看| 全免费a级毛片免费看不卡|