当前位置: > 论文中心 > 科技论文 >

基于DirectShow的网络视频点播系统的设计与实现

时间:2015-04-08 10:57 点击:
摘 要: 随着计算机技术和Internet日新月异的的发展,宽带VOD视频点播技术因其良好的人机交互性和流媒体传输技术倍受教育、娱乐等行业的青睐。设计了一种基于DirectShow技术的视频点播系统,该系统采用VC编程语言实现,基于C/S架构搭建通信网络,通过套接字
  摘 要: 随着计算机技术和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等进行编辑了。 

   论文榜(www.zglwb.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导代理,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


栏目列表
联系方式
推荐内容
 
QQ在线咨询
投稿辅导热线:
189-6119-6312
微信号咨询:
18961196312