现在的位置: 首页 > 综合 > 正文

DirectShow编程(3.1)- 关于DirectShow – DirectShow体系概述

2013年11月09日 ⁄ 综合 ⁄ 共 795字 ⁄ 字号 评论关闭

3. 关于DirectShow
3.1. DirectShow体系概述
    多媒体的难题
    处理多媒体有几个主要的难题:
    *多媒体流包含了巨大的数据量,而这些数据都必须非常快地被处理
    *音频和视频必须同步,因此它们必须在同一时间开始或停止,并以同一速率播放
    *数据可能来自很多的源,如本地文件、网络、电视广播和视频摄像机
    *数据有各种各样的格式,如AVI、ASF、MPEG和DV
    *程序员无法预知最终用户使用什么样的硬件设备
    DirectShow的解决方案
    DirectShow被设计成用来解决所有这些难题,它主要的设计目的就是通过将复杂的数据转输、硬件的多样性和同步问题从应用程序中独立出来,从而简化在windows平台上数字媒体应用程序的开发任务。
    要实现数据高效地被处理,需要流化音视频数据,而DirectShow会尽可能地使用DirectDraw和DirectSound,从而高效地将数据送 到用户的声音和图形设备中进行播放。同步则是通过在媒体数据中加入时间戳来实现。而DirectShow模块化的架构,使其可以轻松操纵变化多端的源、格 式和硬件设备,在这样的架构里,应用程序只需组合和匹配多个filter来实现功能。
    DirectShow提供的filter支持基于WDM的采集和调谐设备,也支持早先的VFW采集卡和为ACM和VCM接口编写的编码器。
    下图显示了应用程序、DirectShow组件和DirectShow支持的硬件和软件组件之间的关系:
        directshow overview

    如图,DirectShow将应用程序与众多复杂的设备隔离开来,通信和控制这些设备均出DirectShow的filter来完成。DirectShow同样为某种文件格式提供与之对应的编解码器。

 

抱歉!评论已关闭.