DirectShow FAQ翻译

微软原生集成 AI Agent 的终端基础认识 在中,介绍了微软原生集成 AI Agent 的终端 Intelligent Terminal。项目地址:Intelligent Terminal 是微软推出的实验性终端产品,它是 Windows Terminal 的开源分支,通过 Agent Client Protocol (ACP) 把第三方 AI Coding Agent(Copilot、Claude、Codex、Gemini、OpenCode 等)以“一等公民”的方式直接嵌入终端界面。 阅读详情

原文地址:http://msdn.microsoft.com/en-us/library/dd375463(v=VS.85).aspx

ps:个人感觉翻译这个官方FAQ纯属无聊之举,网上DirectShow的入门文章多如牛毛,我为什么偏偏要看这个MSDN的文档呢。。。

 

—————————我也来分割线—————————————————

 

这篇文章解答了很多关于Micorsoft DirectShow的常见问题。

 

DirectShow支持哪些操作系统?

DirectShow支持Windows95以后的操作系统.

 

使用DirectShow编程需要了解多少COM的知识?

开发应用程序,你需要了解COM对象的基本知识:如何进行初始化,访问它们的接口,管理这些接口的索引计数。Filter开发需要了解更多的COM知识。

 

DirectShow支持哪些格式?

参考Supported Formats in DirectShow.

 

有没有一个DirectShow硬件兼容列表(HCL)?

没有。如果设备允许,DirectShow会使用Microsoft DirectDraw和Microsoft DirectSound。 如果没有可用的设备, DirectShow使用GDI函数描绘视频,使用waveOut *多媒体API函数播放音频。

 

 

我可以使用什么语言开发DirectShow应用程序?

DirectShow主要是为C++开发设计的。 DirectShow API一小部分子集开放给Visual Basic 6.0; 不过这个功能已经被弃用了。

 

以后可以使用托管代码使用DirectShow吗?

Microsoft目前没有计划开发DirectShow API的托管代码。

 

DirectShow开发需要什么编译器?

只要正确配置编译器的环境参数,任何能够生成COM对象的编译器都可以。

 

DirectShow和Microsoft DirectX是什么关系?

从内部来说, 如果硬件支持,DirectShow会使用DirectSound和DirectDraw。 Video Renderer和Overlay Mixer filters使用DirectDraw 3和DirectDraw 5 surfaces。 Video Mixing Renderer 7 (只限于Windows XP)使用 DirectDraw 7 surfaces。Video Mixing Renderer 9和Enhanced Video Renderer使用最新的Microsoft Direct3D API。 编写DirectShow应用不需要使用其他的DirectX API, DirectShow会在内部进行调用。

 

DirectShow和Microsoft ActiveMovie是什么关系?

ActiveMovie是DirectShow的最初使用的名称。 现在ActiveMovie这条术语已经不在使用了。

 

工具GraphEdit有源代码? 它可以重分发吗(redistributable)?

没有,Graphedt.exe不能重分发。

 

DMO是不是取代了DirectShow的filter?

Microsoft DirectX媒体对象(DMOs)可以在DirectShow应用程序中使用。 对于encoder,decoder,还有effect, 推荐使用DMO取代DirectShow filter. (注意: 如果你要在你的decoder里面使用 DirectX Video Acceleration,你必须使用filter。) 对于其他用途,DirectShow filter可能会更合适。 要了解有关DMO的更多信息, 参考DirectX Media Objects.

 

我使用Windows媒体播放器播放一个AVI格式的文件时,可以听到声音但是看不到任何影像,都是黑的。这是怎么回事?

可能这个文件编码时使用的codec没有安装在你的系统里。虽然AVI的文件格式很常见, 但是AVI文件可以使用许多不同的压缩格式(codecs)。 如果你播放的AVI文件使用了你的系统不支持的codec, 你就可能只听到声音, 视频显示为黑屏或者屏幕上的内容不会改变。

注意:  如果一个codec没有安装在你的系统,Windows Media Player通常就会试图下载并安装。

 

我要如何构建我的应用程序?我需要哪些库文件和头文件?

参考Setting Up the Build Environment.

 

GraphEdit列出了许多文档里面没有提到的filter。 这些filter都是些什么东西?

GraphEdit会列出所有在你系统里面注册的filter,它们都保存在一个filter目录。 这些有的是由第三方的应用程序安装, 有的由Microsoft的应用程序安装, 比如Windows Media或者NetMeeting。 还有就是, 有一些DirectShow filter作为codecs或者硬件设备的wrapper, 每种codec或者设备看起来就像是一个单独的filter。 NetMeeting所使用的Microsoft H.263 Video Codec在DirectShow里面已经不被支持。 要了解更多的信息, 参考Enumerating Devices and Filters.

 

编程建立graph的时候遇到一些麻烦.

首先尝试在GraphEdit里面构建filter graph。 这个工具可以让你快速的模拟多种可能性。在源代码里构建graph之前最好先在 GraphEdit进行测试。要了解更多构建graph的信息,参考下列文章:

 

我怎么判断指定的电脑上有没有安装DirectShow?

调用CoCreateInstance 建立一个Filter Graph Manager实例。 如果调用成功, 就说明DirectShow已经安装好。 代码如下:

 

 

 

 

如何不通过属性页改变一个filter的设置?

大部分filter都会为属性设置开放一个或者多个接口。 在参考页面上查看相关的filter (参考DirectShow Filters)。

 

我可以用GraphEdit测试我的filter吗?

如果你在开发一个filter, GraphEdit 能够图形化的显示各个filter的连接。 它也能够对filter的功能进行一个快速的测试。 不过,这并不意味着它就是一个健壮的测试平台。

 

filter运行在什么系统级别?

Filter运行在ring 3,不过一些filter控制的流设备运行在ring 0。 要了解更多的信息,参考 How Hardware Devices Participate in the Filter Graph.

 

我需要使用内核调试器吗?

这取决于你的项目。 安装DirectX的debug运行时库意味着你安装了debug驱动和其他的内核模式模块,一旦你的应用程序引发了这些模块中的debug断言,你的机器就会自动重启,除非你在你的进程上挂载了内核调试器。

 

在调试器里运行我的程序时,它崩溃了。

有些解码器并没有设计在调试器中工作。尝试在调试器外运行程序。

 

宏DEFINE_GUID macro怎么用?

宏DEFINE_GUID 解决了在代码中使用extern对GUID引用的问题。 比如, 假设你的工程有三个源文件, Src1.cpp, Src2.cpp, and Src3.cpp, 三个文件都使用了你定义的一个GUID值。 这个GUID值只能在你的工程中定义一次,其他的源文件都必须使用extern对它进行引用。 而使用DEFINE_GUID 宏, 只要一个头文件就能同时用于定义和引用。在头文件中这样声明GUID:

 

 

(例子里面值都是0,记得使用真正的值。) 你可以使用工具Guidgen.exe产生新的GUID然后在头文件中转化为DEFINE_GUID 定义的格式。 在用的这个GUID每个源文件中包含这个头文件。 在其中一个源文件中包含头文件Initguid.h,要放在你自己的头文件的前面。 比如:

 

如果没有包含Initguid.h头文件, 宏DEFINE_GUID 会为GUID值建立一个extern引用。 如果包含了头文件Initguid.h, 它就会重新定义宏 DEFINE_GUID ,为GUID值进行定义声明。

 

如果所有的头文件都没有包含Initguid.h, 你就会碰到一个链接错误 "unresolved external symbol" 。 如果你为同一个GUID值包含了两次Initguid.h, 你就会碰到一个编译错误 "redefinition; multiple initialization"。 要解决这些错误, 就要保证只包含了一次Initguid.h。 另外, 不要在预编译头文件中包含Initguid.h, 因为每个源文件都使用了预编译头文件。

相关主题

Introduction to DirectShow

 

 

Build date: 8/31/2010

 

 

DevCAI SimpleButton / CheckButton 按钮实现分析 分析对象:DevCAI 自研的与(对应第 2.3 节“选项、按钮与状态”中同名组件)(2286 行,单文件承载整个按钮家族)分析日期:2026-11-05技术栈:VS2022 / .NET Framework 4.8.1 / C# 8.0(库代码语法不高于 C# 7.3) 阅读详情

相关推荐

应用程序向导

应用程序向导  何志丹            使用应用程序向导可以快速生成程序框架。选择菜单“File→New”命令,此时会弹出“New”对话框,下面对该对话框中的常用选项进行逐一说明。1.文件(Files)属性页 单击“Files”标签,打开“Files”属性页,如图1-3所示。图1-3  文件属性页文件类型虽然多,但常用的只有两种:C/C++ Header Fi

闻缺陷则喜何志丹 3685

Winlator-Frost 疑难排查与性能优化指南:从崩溃黑屏到流畅运行

Winlator-Frost 是一款基于 Wine 与 Box86/Box64 的 Android 应用,让你能在手机上直接运行 Windows 游戏和软件。很多朋友装好后满怀期待点开游戏,却遭遇黑屏、闪退、卡成幻灯片——别急着卸载,绝大多数问题都有明确解法。这篇指南按"你遇到了什么现象"来组织,照着排查,大多数崩溃与性能问题都能解决。 ## 先对号入座:你的问题属于哪一类 在动手改配置之前,

gitblog_00726的博客 737

WebUI自动化测试框架搭建(python+pytest+selenium+allure)

将鼠标移动到要定位的元素上面>右键>点击“检查”>在元素代码上右键>复制>复制XPath。

m0_63729339的博客 1281

微软技术日报 11-09:.NET 8 与 9 明日同时停止支持,注册表编辑器出了 WinUI 3 版

今天这四条消息的共同点是收口。.NET 8 和 9 的支持期到点,注册表编辑器的新界面只放在仓库里给人看,GitHub 把一类危险触发器按住默认,微软在安全报告里把防线从地址黑名单挪到行为。收口并不等于关门。.NET 10 还在支持期里,被按住的触发器可以用策略按文件放回来,实验室里的样例随时可能变成产品。区别在于这些动作要有人签字,不再是默认开着。如果今天只做一件事,去看一眼构建机上的 .NET 版本。明天之后,8 和 9 的漏洞补丁不会再来了。

海盗Sharp的博客 310

科研绘图神器Origin2024最新中文版安装教程:5分钟搞定所有配置

本文提供了一份详细的Origin2024中文版安装与配置指南。从系统环境核查、安装包获取验证,到分步安装、语言切换及关键初始设置,手把手教你5分钟完成所有基础配置。同时,指南还分享了首次启动后的个性化设置与高效绘图工作流,助你快速上手这款科研绘图神器,提升数据处理与图表制作效率。

weixin_29247219的博客 1041

Unity 数字孪生实战:PiXYZ Plugin工业模型高效处理指南

本文是Unity数字孪生实战指南,重点介绍了如何使用PiXYZ Plugin高效处理工业CAD模型。针对工业模型导入Unity时面临的格式壁垒、数据爆炸和资产混乱等核心痛点,文章提供了从环境安装、基础导入到智能减面、资产清理的完整解决方案,并分享了预设自动化、运行时导入等高级技巧与性能优化策略,帮助开发者快速打通工业设计与实时交互流程。

weixin_29009501的博客 257

微软技术日报 2026-11-05:安装器变现链被拆开、OneLake 托管 MCP、Agent 365 进 Gartner 象限

把这几条放在一起看,共同点是把已经铺开的东西补上治理。安装器那条最直白。用户自己点开的程序,装完还会往回连,落地的东西藏在计划任务里、Program Files 里,用户不知道。微软给的检测思路也是往这个方向走的,看临时目录、看回调、看 SYSTEM 任务,而不是追域名。OneLake 那条是给 agent 补路标。以前每种 item 类型都要维护一份端点清单,现在让服务自己报出来。好处是 agent 不用猜,代价是判断责任转移到了客户端,技能要不要加载得自己决定,标签也不能当成授权。

海盗Sharp的博客 1389

MacOS上如何修改jupyter book的默认打开地址以及如何复制文件路径

记点笔记,才换新系统小半年,还是不太熟悉,所以记录一下笔记,感觉之后也会用到,希望能帮到你们。主要内容是:修改jupyter的默认地址以及复制文件路径。

魔仙的博客 1978

AI驱动数据处理的安全边界:行业现状、风险权衡与本地化实践路径

本文基于第三方数据,分析AI用于数据处理的安全议题。大模型应用加速普及,但伴随数据出境、影子AI、幻觉与成本失控等风险。行业共识指向“脚本复用”路径:将分析逻辑本地化固化,实现数据可控、结果可复现、成本可降。产品如数以轻舟提供本地处理、多模型接入与一次付费永久使用方案。建议企业从数据落点、可控性、可复现性与合规性四维度评估选型,推动AI在安全边界内释放价值。

数据矿工-数据化运营博客 257

Linux ARM平台开发系列讲解(GMSL摄像头篇)1.2 MAX9296 GMSL链路配置

串行器 +解串器组成,软件需要做的就是写这三部分的驱动,让摄像头数据能到达。3. 配置解串器和串行器的GMSL链路。串行器和解串器上电成功之后,就可以配置。软件配置(注意软件只可以配置速率,2. 9296上电,使能芯片。的版本和速率,比如版本是配置。配置成功之后,就会出现串行器。的链路,其它同类型的。设备地址,我设置的是。...

DSMGUOGUO的博客 1万+

20 Embedding 与向量检索:语义为什么能变成距离

Embedding 是 RAG 语义检索的数学基础。本文用工程视角讲清文本如何变成向量,为什么语义相近会表现为距离相近,Top-K 检索如何工作,以及在模型选择、同模型约束、精确匹配和召回评估上的常见坑。

老于的笔记的专栏 6203

微软技术日报 11-08:Foundry 与 Entra 各挂一个 10.0 分漏洞,Foundry 接 fal 五款视频模型

这一周的动作可以分成两类。一类在收。Copilot 从电视上退场,搜索里的 AI 改成可选,云端漏洞只发通知不收补丁。共同点是承认铺得太开,代价比预期高。另一类在放。Foundry 一次摆上五个视频模型,容器版应用网关一个入口挂 64 个 MCP 服务器。共同点是把能力做成可组合的积木,让使用者按需挑。两个方向背后是同一个判断。把能力塞到每一个界面上,短期看覆盖率高,长期要解释为什么删不掉。新的做法是先给一个能关的开关,再谈覆盖。对每天写代码的人来说,今天有两样现成的东西可以试。

海盗Sharp的博客 368

R语言单因素被试内ANOVA检验

在R语言中,我们可以使用多种方法进行被试内ANOVA检验,其中包括使用内建函数或使用外部包。我们随机选择了10个被试,并对每个被试使用了三种不同的药物处理。通过上述代码示例,我们可以使用R语言进行单因素被试内ANOVA检验。假设我们的数据存储在一个名为"data"的数据框中,其中包含两个列:一个列是被试的编号,另一个列是生物指标的测量值。在上述代码中,我们创建了一个名为"data"的数据框,其中"Subject"列包含了被试的编号,"Measurement"列包含了生物指标的测量值。参数指定了数据来源。

PixelNovaO的博客 363

微软技术周报 11-02~11-09:VS Code 混装 Claude 与 Codex、EF Core 11 静默改行为、.NET 11 倒计时

11 月 6 日,Power Platform 通过消息中心通知管理员,Copilot Studio、Power Automate 和 Power Apps 里所有跑在 Anthropic Claude、xAI Grok 以及旧版 GPT 上的 prompt,12 月 2 日自动迁移到 GPT-6 系列,档位价格不变,模型选择收窄到一条产品线。效果是这样的:让 Claude 评审一个 Copilot chat 写出的方案,或者把同样的任务交给 Codex,两边并排跑在同一个会话里。更要紧的是下周的时间线。

海盗Sharp的博客 449

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【测评】SenseNova6.8Flash模型正式发布,支持动态 PPT 及 3D 设计

SenseNova 6.8 Flash将设计生成拓展至多种创作形态,支持Web、SVG、Three.js、Blender、PPT等形式,满足多样化的AI Native Design需求,并支持动态PPT、动态Poster与Agentic 3D设计。同时,模型可接入Figma等专业工作流,帮助用户将AI设计能力融入现有的专业设计流程。此外,模型还支持三维场景与交互内容创作,可综合处理空间布局、材质与光照、镜头控制及动画编排等因素,构建可在网页中实时渲染的三维内容,拓展从立体视觉展示到动态交互的表达方式。

Enweitech Software Works 324

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

微软输入法标点乱跳解决方案

微软拼音输入法常因“中文输入时使用英文标点”开关被意外开启,导致标点自动切换为英文且快捷键失效。本文提供一键批处理脚本,通过修改注册表(HKCU\Software\Microsoft\InputMethod\Settings\CHS)强制锁定中文标点,覆盖多个相关键值,确保设置持久生效。相比手动操作,该方案可抵御更新、同步等导致的配置重置,提升稳定性。执行后需重启输入法或系统以使更改生效,建议提前备份注册表。

谙弆悕博士的技术博客! 268

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

微软 BioEmu2 实测:AI 设计的抗体,能否通过动态模拟提前筛选?

微软 BioEmu2 实测:AI 设计的抗体,能否通过动态模拟提前筛选?**2026 年 10 月 26 日,展示了一个 AI 抗体候选的 10 纳秒传播动画。**但这个案例留下的最大问题,仍是实验室门前那道选择题:一批看起来合理的设计,究竟该把哪几个送去测试?Ford 正在参与 Adaptyv 与 Anthropic 的蛋白设计竞赛,也在开发抗体语言模型。**但他在原文中坦言,生成候选容易,挑出值得测试的候选依然困难。**本文解读他的公开实测,并对照微软文档核查证据边界,未独立运行模型。

weixin_71777199的博客 195

视频美颜sdk的API设计会影响开发效率吗?

视频美颜SDK不仅需要具备优秀的图像处理能力,API接口设计同样会影响软件开发效率。本文从接口调用、参数配置、版本兼容、开发文档以及业务扩展等多个角度,分析API设计对视频美颜SDK集成和后期维护的实际影响,为直播APP、视频社交平台等项目的SDK选型与技术开发提供参考。

wanyuekeji的博客 211

微软技术日报 2026-11-04:8GB 专属优化、38 万漏洞利用统计、NuGet 包带技能

11 月的第一周,微软把注意力放回了最不显眼的那批机器。11 月 3 日,Windows 官方博客发出一篇由 Pavan Davuluri 署名的文章。他是微软执行副总裁,负责 Windows 与设备。文章的题目直白得少见,讲的是怎么把 8GB 内存的 Windows 11 电脑拉到及格线以上。同一天,.NET 博客在讲另一件事,怎么把 agent skills 塞进 NuGet 包。11 月 2 日,微软安全研究发了一份跨 27 年的漏洞利用统计。

海盗Sharp的博客 457

微软技术日报 2026-11-06:本地服务器补丁将自动安装、画图 8.1 分漏洞修复卡在商店、DACS 开源

今天这四条,能拼出一条共同的线:默认值在往自动那一侧挪。补丁从等人装改成到期自动装,紧急缓解从需要开启改成默认开启。智能体的权限从长期持有改成按任务发、按风险收,普通用户的提权从整块管理员切成改一个网络设置这样的单点。这条线有同一个前提,策略得先写对。自动装补丁的前提是你能接受某天早上服务器自己重启;按任务发权限的前提是任务边界描述得足够清楚。默认值变聪明,不等于判断变简单。还有一条更细的教训来自画图那个漏洞。修复版本发布在商店里,公告写着需要客户操作,但商店里那几天没有可装的东西。

海盗Sharp的博客 598

微软技术日报 2026-11-07:Copilot 本机跑 27B 模型、Front Door 默认后量子 TLS、Beta 转 26H2

四条消息挤在同一天,方向各不相同:Foundry Local 把 27B 的编码模型压进了 24GB 显存并接进 GitHub Copilot;Azure Front Door 把入站 TLS 1.3 的混合后量子密钥交换设成了默认;Windows Insider 一次放出五个构建,Beta 通道正式转到 26H2;Power Platform 通知管理员,12 月 2 日提示模型换血,Claude 与 Grok 一起退出。四条放在一起看,有两条在改默认值,两条在改节奏。

海盗Sharp的博客 445

【AI智能体】Langchain 上下文记忆使用实战操作详解

【AI智能体】Langchain 上下文记忆使用实战操作详解

congge_study的博客 294

Gemini 语音混音入门:在 AI Studio 用文字调整音色和口音

说明在 Google AI Studio 基于已有音色用自然语言做 Voice remixing:选择基础音色、输入相对调整、试听预览并保存为独立 voice ID,再用混音后的声音合成旁白。

死磕音视频 168

微软技术日报 11-10:.NET 11 今晚发布,.NET 8 与 9 同日停更,Copilot 连接器开写入

今天微软技术侧的重心全压在一个日期上。11 月 10 日既是 .NET Conf 2026 开幕、.NET 11 正式发布的日子,也是 .NET 8 与 .NET 9 终止支持的日子。同一个日期上,一条线开始,两条线结束。除了这条主线,还有三件事在这一两天落地。微软安全博客公布了一轮用智能体扫 Rust 标准库的研究,Copilot 连接器的写入能力转为正式可用,Windows 11 的统一应用更新页又在预览版里冒了头。

海盗Sharp的博客 556

【数据结构-5】单链表的实现

单链表,具体来说是单向的、不带头的、不循环的链表。链表由一个一个节点组成,每个节点分为数据域和指针域,数据域存放数据,指针域存放下一节点的地址。这样,就可以根据指针域中的地址找到下一个节点,节点就串起来了构成了单链表。

weixin_44218929的博客 187
上一篇: 以后每周都写一篇博文
下一篇: 使用谷歌浏览器调试网页和脚本
FireBurn
博客等级 码龄22年 18粉丝 29原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值