基于DirectShow的音/视频传输系统设计与实现

来源 :科学与技术 | 被引量 : 0次 | 上传用户:eric7272
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在IP网络基础之上,应用DirecShow这种流媒体处理开发包搭建框架,进行音/视频相关数据的回放、解码、网络传输、编码、采集的处理方案设计,最后实现时采用VC++编程软件进行操作。基于DirecShow的音/视频传输系统为远距离视频监控、诊断故障、技术支援等计算机系统,给予利用音/视频开展实时沟通、交流的可能。
  关键词:DirecShow;音/视频传输系统;设计;实现
  
  在远距离视频监控、诊断故障、技术支援等计算机系统之中,利用音/视频传输系统开展实时沟通、交流是其中较为关键的功能。音/视频传输系统为关键设备或系统的维护修理、诊断故障给予远距离技术保障,同时为获得“实时”帮助的效果提供了较为关键的策略。为实现现场、实时音/视频沟通、交流的功能,需要先保证音/视频相关数据得以有效的远距离传输,因为基于DirecShow的音/视频传输系统的基础在于IP网络,所以音/视频相关数据的传输也是利用卫星通信的TP网络,且在Windows这个平台之上得以实现。
  一、基于DirecShow的音/视频传输系统方案设计
  1.选择DirecShow架构
  我们从程序开发应用的视角来说,利用卫星通信的TP网络,达到音/视频相关数据远距离传输必须从总体上考量数据的网络接收、数据采集、数据编/解码、数据回放与传输的方案,进而将数据传输的效率与质量有效提升,与此同时还应当尽量降低系统开发投入的成本与难度。所以第一件要做的就是选择一个适宜的开发平台。一般来说有以下三种开发平台可以选择:
  ①直接利用Windows中API函数,这种平台虽然有着较大的灵活性,然而却具有开发难度高,需要较长开发时间的缺点。
  ②直接应用成熟的如NetMeeting等满足本系统需求的组件。这种开发平台虽然没有多大的灵活性,却具有开发难度低,不需要过多的开发时间的优势。
  ③选择介于第一种与第二种开发平台之间的开发方式,结合拟开发的音/视频传输系统特点进行二次开发,这种开发平台难度与第一种开发方式相比较有很大程度的降低,却有着比第二种开发方式更大的灵活性。权衡比较之后,最终选择在DirecShow框架体系之上进行音/视频传输系统的设计开发。
  DirecShow的构成由一组ComponentobjectModel(简称COM)对象组成的。它是DirectX中较为关键的构成部分,是Microsoft在VideoforWindows与ActiveMovie的基础上,为简化在Windows平台上进行流媒体系统的开发而提供的一个体系构架。总的来说,DirecShow有下面几个方面的特点:第一,可以对音/视频数据流进行快速处理;第二,可以实现音/视频的同步播放;第三,具有开放性及模块快的体系结构。
  2.采集和播放音频与视频相关数据
  确定好开发平台之后,就可以大幅度降低实现音/视频相关数据采集、音/视频相关数据播放功能的难度。DirecShow中的Filter可以对早期VideoforWindows视频采集卡与WindowsDriverModel驱动模型都给予技术支持。现今WindowsDriverModel是最常用于视频数据采集的驱动模型,在DirecShow体系架构中SourceFilter是采集设备的集中表现,系统设计开发人员仅需要通过DirecShow所提供的接口函数找到系统中已经安装的且适合需要的SourceFilter,之后利用SourceFilter上面的Pin来连接就能构成FilterGraph,系统研发工作者无须担心音频采集设备或终端用户设备上安装的是何种类型的采集设备,数据的采集均可以应用此法。
  播放音/视频频通过Windows操作系统又或者是DirecShow中已有的RenderingFilter,音频利用DirecSounddevice进行播放,VideoMixingRenderer9则用于视频的播放,利用VideoMixingRenderer9进行视频的播放不但可以获得更多有用的功能,并且还可以确保视频播放时更可靠、稳定。
  3.编码器与解码器的确定
  因为在流量方面,无论是音频还是视频都比较大。为了确保音/视频传输的效率,在进行网络传输之前往往需要将所采集到的数据进行压缩,而网络终端为可以顺利播放接收到的数据还需要先进行解压缩。通过比较编码率、解码率、编码速度、解码速度、数据编/解码质量损失等方面,我们最终选择了XvidEncoder作为视频的编码器,解码器则选择了XvidDecoder。本系统中音频与视频数据分别单独传输。
  4.网络发送器与网络接收器的设计
  网络发送器与网络接收器为自行组织开发。DirectShow提供了功能各异的众多基类,开发者只需选择合适的基类进行派生,重载相应的虚函数,将网络传输功能封装到派生类中即可。为减少网络传输的时间延迟,采用UDP协议进行传输。
  5.FilterGraphManager管理类的设计
  下图现本系统主要类之间关系的UML模型图。
  
  二、编程实现
  根据上面的分析与设计,编程工作主要集中在网络发送Filter类、网络接收Filter类和FilterGraph管理类的实现上。采用VC++6.0作为开发工具,首先安装DirectX9.0SDK,然后启动VC++6.0,进行开发环境的配置,打开DirectX9.0SDK安装目录中DirectShow部分的baseclasses项目,编译后会生成Strmbasd.lib(debug版本,如果是Retail版本生成的是Strmbase.lib)库文件,当开发Filter类时,会使用这个库文件。关闭这个工程,新建一个MFC项目,进一步开发,相关源代码略。
  三、结束语
  实时音频与视频传输子系统用途广泛,可以作为装备远程故障诊断、远程技术支援等系统的一个组成部分,尤其适合对野外执行任务的机器设备的故障诊断与修理等提供远程技术支持,我们可以进一步研究,开发出更有效、优质的系统。
  
  参考文献
  [1]侯俊杰.深入浅出MFC[M].武汉:华中科技大学出版社,2001.
  [2]AnthonyJones.Windows网络编程技术[M].北京:机械工业出版社,2003.
  
其他文献
摘要  天山公路处于新疆“二纵三横”公路主骨架中第二纵线中段,无论在政治、经济还是国防上,天山公路都发挥着非常重要的作用。但起连年的地质病害严重的影响着道路的通行能力,文章通过对天山公路的实地调查和研究对其沿线的病害特征进行研究和分析,并根据危害程度进行了分区。  关键词  天山公路、地质病害、危害程度  1、 研究背景  天山公路处于新疆“二纵三横”公路主骨架中第二纵线中段,是国家规划西部重点公
期刊
摘要:随着油田电网的飞速发展,变电容量随之增加。电网运行中变电运行是一个关键环节,直接影响着电网运行效果,从当前的现状看,变电运行中的事故率呈现出上升趋势。本文就其变电运行中易出现安全事故问题的危险点进行剖析,并围绕问题提出了解决对策,确保变电运行安全可靠。  关键词:变电运行;危险点;安全事故;对策  前 言  变电运行的主要任务是电力设备的运行操作和维护管理工作。其特点是维护的设备多,出现异常
期刊
摘要:智能电网是传统电力工业与信息通信的深度融合,而电网智能化改造以信息通信技术为支撑,以智能控制为手段,覆盖电网的各个环节。本文重点研究PON技术在电力配网接入中的规划策略及部署原则,并对智能电网通信网发展进行展望。  关键词:智能电网、接入网  1、智能电网概述  1.1 智能电网简介  智能电网,就是电网的智能化,也被称为“电网2.0”,它是建立在集成的、高速双向通信网络的基础上,将现代先进
期刊
摘要: 本文以某在运行海底湿气管道为例,运用国际权威的多相流软件对清管段塞进行模拟,结合下游设备的段塞处理能力,计算不同输气量时的清管段塞体积,确定清管操作允许的最小输气量。  关键词:湿气管道 清管段塞流 下游设备匹配性  在天然气湿气管输过程中,当输气量较小时,由于气体对其重组分的携带作用减弱,可能导致更多的液体烃类积聚在管道中,造成气体管道滞液量增大。在海洋油气开采中,处在海洋平台之间的海管
期刊
摘要:通过实例分析,对运行工况在锅炉受热面管失效分析中的意义进行探讨。首先分析了运行特殊工况,对泄露点位置进行判断,并提出运行工况的具体应用措施,从而促进运行效率的提高。  关键词:运行工况;锅炉受热面管;失效   一、锅炉运行工况  工况是设备在运行情况下的工作状态,它包括设备个部件的工作情况、设备工作环境参数、设备各部件工作参数等。而锅炉设备常见的运行工况主要有以下几种。  第一,锅炉最大蒸发
期刊
摘要: 工业中广泛使用薄壁件,但是由于其加工工艺性差,在切削力、残余应力、切削热、夹紧力等因素影响下,薄壁件易发生加工变形,不易控制加工精度和提高加工效率。本文对薄壁件加工过程中引起变形的因素进行了分析,通过改变工件的压紧方式和定位基准,设计制作工装并加工验证,得出加工薄壁件的合理工艺安排,顺利解决了工件变形问题,保证了加工质量,提高了加工效率。 关键词:薄壁套类零件 车工夹具设计 装夹方法  一
期刊
摘要:工业设计离不开对技术与材料的了解和运用,技术和材料的发展、更新更是工业设计进步的根本原因。离开材料和技术的表面造型设计只是低层次的设计,一个好的设计师或一个好的设计作品,大都把握住了当时的先进技术或新材料。这样,设计才不会落后于时代,才能更好地服务于社会和生活。所以,每次技术与材料的革命都会相对带动着一次设计的革新,新技术和新材料无疑成为工业设计的源动力。  关键词:历史,新技术,新材料,工
期刊
摘 要:抽油机是油田生产的主要设备。抽油机井生产过程中,传动系统中经常发生皮带断的现象,抽油机使用的每条皮带,从投入使用到皮带断,其使用寿命,应该有它合理的使用时间。如果易断皮带的井增多,皮带的使用周期就会缩短,抽油机故障停机时间也就随之增加。管理水平也随之下降。这样不但影响了原油生产,而且提高了原油的生产成本,同时更增加了职工的劳动强度。本文通过生产实践,寻找出抽油机皮带断的原因,提出了加强日常
期刊
摘要网络的广泛应用对技术提出了新的挑战,网络多媒体方面的应用成为了一种发展趋势,在数据传输方面能节省较大带宽的IP组播技术应运而生。本文讨论了IP组播的协议体系,并针对城域网的组播部署进行了说明。  关键词城域网,组播,组播协议  1引言  随着宽带网络的迅速发展,出现了许多高带宽的数据应用,若基于原有的点到点的通信方式,这些应用不仅浪费大量的带宽资源,还会产生网络拥挤,因此急需寻求一种新的技术来
期刊
前言:  立辊作为热轧卷板开卷后的导向对中装置在螺旋焊管机组中的应用最为常见,在螺旋焊管机组卷板开平后至成型前工序中一般设立三组或三组以上立辊,通过调整立辊的位置,使钢板沿着预订的方向进入成型设备。螺旋焊管焊接一般采用埋弧焊接,焊接对板材宽度要求比较严格,否则难以控制焊管成品的直线度及管径,而其生产所采用的原料为热轧卷板,宽度方向的尺寸精度不高,特别是未经纵剪过的热轧卷板毛料,即使是纵剪机组裁剪过
期刊