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

DirectShow编程(3.1)- 关于DirectShow - DirectShow体系概述相关推荐

  1. DirectShow编程(2)- 开始DirectShow旅程

    2. 开始DirectShow旅程     这个章节的内容主要是编写DirectShow应用所需的一些基本概念,可以把它当作一个高级介绍,理解这些内容只需具备一般的编程和有关多媒体的知识. 2.1. ...

  2. DirectShow编程

    3. 关于DirectShow 3.1. DirectShow体系概述     多媒体的难题     处理多媒体有几个主要的难题:     *多媒体流包含了巨大的数据量,而这些数据都必须非常快地被处理 ...

  3. DirectShow编程(1)- DirectShow介绍

    学习DirectShow有一段时间了,把这段学习过程中翻译出来的SDK与大家分享,同时也希望专家们指出我理解上的错误,万分感谢. 1. DirectShow介绍     DirectShow是一个wi ...

  4. matlab多自由度弹簧响应,用matlab编程实现法计算多自由度体系的动力响应..doc

    用matlab编程实现法计算多自由度体系的动力响应. 用matlab编程实现法计算多自由度体系的动力响应 姓名:王 辉 学号 班级:硕1205班 专业:桥梁与隧道工程 2012年11月27日 用mat ...

  5. 技术知识花园体系概述

    技术知识花园体系概述   程序员(尤其是大厂)区别于传统技工,必须与时俱进.技术成长的过程一方面是广度和深度的积累,另一方面就是抽象和升华,获得更高的视野.更大的格局.使自己能看懂和理解更大格局的需求 ...

  6. 蚂蚁金服 mPaaS 服务端核心组件体系概述:移动 API 网关 MGS

    根据<开篇 | mPaaS 服务端核心组件体系概述>,我们已经初步了解 mPaaS 平台后端各组件的核心架构体系. 而在 mPaaS 服务端众多组件中,移动 API 网关 MGS 是连接移 ...

  7. UML统一建模语言知识体系概述

    UML统一建模语言知识体系概述 http://developer.51cto.com/  2006-01-11 16:46    noahsports.com  我要评论(3 ) UML是一种定义良好 ...

  8. 密码学 / PKI 体系概述

    CA中心--CA系统--数字证书 CA 中心管理并运营 CA 系统,CA 系统负责颁发数字证书. 专门负责颁发数字证书的系统称为 CA 系统,负责管理并运营 CA 系统的机构称为 CA 中心.所有与数 ...

  9. IPSec 密钥加密体系概述

    IPSec VPN 密钥加密体系概述 加密算法 对称加密算法 非对称加密算法: 数字证书 数字信封 数字签名 数字指纹 加密算法没啥可说的,不是他很简单,是它太难了,我也不懂,我已经不学了,有想学的同 ...

最新文章

  1. 如何添加ORACLE 的 ODBC
  2. Hierarchical Cluster 层次聚类
  3. java 对象数据 搜索,java – 使用反射检索对象的数据类型
  4. AjaxPro怎么用
  5. 想成为BAT中的一员,你总要去学点什么(三)
  6. 【springboot】之 解析@EnableWebMvc 、WebMvcConfigurationSupport和WebMvcConfigurationAdapter
  7. TIOBE 2021年3月程序语言排名 - python要超越Java排第二了?
  8. 湖畔大学最新学员名单公布:胡彦斌以纽班文化董事长身份被录取
  9. 【DBA之路】关于连接不上数据库
  10. 文档下载道客巴巴豆丁网原创力文档代下载Word PPT文件下载
  11. 电脑连手机热点DNS服务器无响应,电脑连接手机热点无法上网解决方法有哪些
  12. JavaWeb静态网页
  13. 计算机键盘复制键,键盘按键设置复制粘贴的方法
  14. FastSpeech2论文中文翻译
  15. 使用 Tektoncd Operator 管理 Tekton 组件
  16. 电脑USB插拔记录删除方法分享
  17. 会声会影2022旗舰终极版详细功能介绍
  18. 单代号网络图计算例题_钣金展开计算210例节省放样场地,不理解公式也能完成展开计算!...
  19. 小学了解计算机网络微课设计,基于微课的计算机网络课程教学设计研究
  20. Linux | 运行虚拟电脑时发生严重错误,应将其关闭

热门文章

  1. 大数据处理的关键技术(一)
  2. 爬虫实战教程:采集微信公众号文章
  3. DOS环境下出现“ ‘javac‘不是内部或外部命令,也不是可运行的程序或皮处理文件 “的报错的解决方法
  4. springboot(原先是mybatis)整合mybatis-plus,注入报错Error creating bean with name 'sqlSessionFactory'
  5. Capto2022中文版一款适用Mac屏幕录制编辑软件
  6. 链表-双向链表(C语言)
  7. C++ 实现tring字符串trim函数和split函数
  8. Java学习——Day14:网络编程
  9. 计算机将文本朗读出来应用语音,如何实现电脑语音朗读文字?可以选择两种方法...
  10. 电大计算机画图程序属性,电大计算机绘图(本)复习大全.doc