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

基于DirectShow的網絡視頻點播系統的設計與實現

2015-04-12 00:00:00雷文禮任新成張棟高瑛
現代電子技術 2015年7期

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

關鍵詞: 視頻點播; Direct Show; C/S架構; 套接字

中圖分類號: TN915.4?34 文獻標識碼: A 文章編號: 1004?373X(2015)07?0031?03

0 引 言

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

1 DirectShow技術

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

2 系統設計

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

網絡視頻點播服務系統主要分為服務器框架的設計與實現、客戶端的設計與實現、服務器與客戶端的網絡連接與網絡數據的接收[7?8]。

2.1 服務器框架的設計與實現

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

圖1為服務器的VC工作區結構。

圖1 服務器的VC工作區結構

2.2 客戶端的設計與實現

客戶端程序與服務器建立連接、向服務器發送指令、接收來自服務器的媒體數據。為了使客戶機接收到的媒體數據同步播放,這里使用DirectShow來實現。DirectShow中采用開發Source Filter的方式接收網絡數據,并將數據引入到Filter Graph中。

圖2為客戶端的VC工作區結構。

圖2 客戶端的VC工作區結構

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

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

2.4 網絡數據接收

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

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

圖4為網絡接收的VC工作區結構。

圖4 網絡接收的VC工作區結構

3 運行結果測試

3.1 服務器程序

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

圖5 服務器的程序界面

各部分表示如下:

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

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

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

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

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

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

圖6 添加、編輯按鈕觸發后的程序圖

各部分表示如下:

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

② 文件大小(自動檢測)。

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

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

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

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

3.2 客戶端程序

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

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

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

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

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

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

⑥ 停止播放按鈕。可以對正在播放的文件進行停止播放操作。

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

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

圖7 客戶端的程序界面

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

圖8 IP地址對話框

3.3 視頻播放

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

圖9 視頻播放畫面

4 結 論

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

參考文獻

[1] 楊鍵.VOD互動業務建設的若干問題研究[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高級編程?創建高效數據層[M].北京:清華大學出版社,2002.

主站蜘蛛池模板: 国产精品视频第一专区| 国产精品xxx| 有专无码视频| 波多野结衣二区| 亚洲视频无码| www.99在线观看| 欧洲av毛片| 亚洲无码日韩一区| 国产91透明丝袜美腿在线| 国产视频你懂得| 五月激情综合网| 在线观看av永久| 狠狠色香婷婷久久亚洲精品| 免费欧美一级| 日本人真淫视频一区二区三区| 2021无码专区人妻系列日韩| 97精品久久久大香线焦| 免费又黄又爽又猛大片午夜| 国产本道久久一区二区三区| 中文字幕人妻无码系列第三区| 久久婷婷人人澡人人爱91| 欧美日一级片| 久久人人爽人人爽人人片aV东京热| 久久国产精品麻豆系列| igao国产精品| 久久性妇女精品免费| 国模视频一区二区| 国产一级毛片高清完整视频版| 噜噜噜久久| 在线播放91| 九九免费观看全部免费视频| 久久久久久久97| 欧美在线天堂| 在线观看国产精品一区| 久久久久青草大香线综合精品 | 亚洲AV无码精品无码久久蜜桃| 日韩色图区| 亚洲第一香蕉视频| 中文字幕亚洲专区第19页| 亚洲日韩久久综合中文字幕| 欧美精品成人| 一本无码在线观看| 国产免费一级精品视频| 久久国产精品无码hdav| 五月丁香在线视频| 人妻无码一区二区视频| 99视频国产精品| 国产对白刺激真实精品91| 在线国产91| 色欲不卡无码一区二区| 超薄丝袜足j国产在线视频| 久久情精品国产品免费| 国产高清国内精品福利| 亚洲热线99精品视频| 伊人久久大香线蕉影院| 尤物视频一区| 亚洲天堂精品在线| 97精品伊人久久大香线蕉| 国产精品免费福利久久播放| 丁香六月激情综合| 久久免费精品琪琪| 亚洲AV一二三区无码AV蜜桃| 免费一级全黄少妇性色生活片| 亚洲欧美精品在线| 亚洲精品高清视频| 一级黄色网站在线免费看| 毛片在线播放网址| 欧美日韩精品在线播放| 中文字幕乱码二三区免费| 欧美成人一区午夜福利在线| AV网站中文| 婷婷激情亚洲| 欧美日韩在线亚洲国产人| 最近最新中文字幕在线第一页 | 免费观看男人免费桶女人视频| 99久久婷婷国产综合精| 亚洲成人网在线观看| 成人国产精品一级毛片天堂| 亚洲综合第一页| 影音先锋亚洲无码| 2021无码专区人妻系列日韩| 成人一级黄色毛片|