DirectShow 与 Media Foundation 进行视频捕捉?

2024-02-09

我正在尝试在视频捕获/监控/流媒体应用程序的这两个 API 之间进行选择,但我不确定哪个是最佳选择。

一些背景知识:

  • 我需要它与各种视频采集卡/适配器一起使用。
  • 该应用程序可能会用 C++ 开发,因此本机 API 至关重要
  • 性能很重要,因为我需要处理多个视频流

谷歌搜索给我的印象是

  • MF 仅支持 Windows 7 上的视频捕获
  • Directshow 得到了更好的支持,但将会过时
  • MF 在某些应用中可以提供更好的性能

MF 感觉未来是一个更好的选择,但我担心如果 MF 不“流行”并且 Directshow 仍然是首选 API,那么最终会陷入技术死胡同。建议和忠告,请...


无论微软的营销人员怎么说,DirectShow 都将继续存在。太多的应用程序使用它,因此 MS 将永远支持它,就像所有其他基于 COM 的技术一样。由于 DirectShow 具有更多功能并且是 C++ 编程的本机,因此我建议坚持使用它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

DirectShow 与 Media Foundation 进行视频捕捉? 的相关文章

  • Windows Workflow Foundation 4 (WF4) 延迟

    我正在与 Visual Studio 2010 的候选版本一起使用 Wf4 编写一个用于批准资源请求的新工作流程 在我的工作流程中 如果请求未获得批准 我希望请求在几天后过期 我们在 WF 3 5 Visual Studio 2008 中通
  • 如何更改选项卡控件的名称

    我在 C WinForms 应用程序中使用选项卡控件 我想更改选项卡的标题 默认情况下它们是 tabPage1 tabPage2 等 一种无需代码即可实现的懒惰方法 选择选项卡控件 Go to properties use F4 to do
  • 在OpenCV中将YUV转换为BGR或RGB

    我有一个电视采集卡 其输入内容为 YUV 格式 我在这里看到了与此问题类似的其他帖子 并尝试尝试所述的所有可能的方法 但它们都没有提供清晰的图像 目前最好的结果是 OpenCVcvCvtColor scr dst CV YUV2BGR 函数
  • 嵌入清单文件以要求具有 mingw32 的管理员执行级别

    我正在 ubuntu 下使用 i586 mingw32msvc 交叉编译应用程序 我很难理解如何嵌入清单文件以要求 mingw32 具有管理员执行级别 对于我的例子 我使用了这个hello c int main return 0 这个资源文
  • 取消后调用 boost::asio 异步处理程序没有错误

    我的代码在单个线程中使用 boost asio 和 io service 来执行各种套接字操作 所有操作都是异步的 每个处理程序都依赖于boost system error code 特别boost asio error operation
  • 访问图像的 Windows“标签”元数据字段

    我正在尝试进行一些图像处理 所以现在我正在尝试读取图像 exif 数据 有 2 个内置函数可用于读取图像的 exif 数据 问题是我想读取图像标签 exifread and imfinfo这两个函数都不显示图像标签 Is there any
  • 如何使用来自 Microsoft-Windows-NDIS-PacketCapture 提供程序的实时 ETW 事件?

    更大的问题是一般如何使用实时 ETW 网络堆栈事件 但我特别感兴趣Microsoft Windows NDIS PacketCapture 提供程序 所有其他网络堆栈提供程序都部分工作 但 NDIS PacketCapture NDIS P
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 如何在批处理文件中回显换行符?

    如何从批处理文件输出中插入换行符 我想做类似的事情 echo hello nworld 这会输出 hello world Use echo hello echo echo world
  • 如何查看网络连接状态是否发生变化?

    我正在编写一个应用程序 用于检查计算机是否连接到某个特定网络 并为我们的用户带来一些魔力 该应用程序将在后台运行并执行检查是否用户请求 托盘中的菜单 我还希望应用程序能够自动检查用户是否从有线更改为无线 或者断开连接并连接到新网络 并执行魔
  • 在哪里可以找到 Windows 7 UX 指南中推荐的图标/动画?

    Windows 7 UX 指南有很好的插图和图标示例 但我在 SDK 中确实找不到它们 他们藏在某个地方 还是找不到 如果您谈论的是常见的 UI 图标 那么您应该以编程方式获取它们 例如 您可以使用 var errIcon HICON be
  • 卸载以前的版本安装新版本的安装项目

    我创建了一个安装项目并安装在Windows系统中 在安装安装项目之前 我将其设置为 DetectNewInstallerVersion true and RemovePreviousVersion True 我也每次都换版本 但是 如果我重
  • Google Cloud SDK 无法安装“.exe;.bat;.com”不是可识别的命令

    我正在尝试在 Windows 10 笔记本电脑上安装 google cloud SDK 我尝试删除安装文件夹中的空格 并将路径添加到我的环境变量中 完整的错误是 Output folder C Users user Documents Do
  • Windows 中的蓝牙 AVRCP 命令会触发哪些事件

    可以这么说 只是在做一些高级侦察 对于我的潘多拉客户 Elpis http elpis adamhaile net 我支持全局媒体键 键盘上的 MediaPlayPause MediaNext 等 并且我希望能够支持AVRCP http e
  • 将所有文件与指定目录(和子目录)中的所有文件进行二进制比较

    我需要将目录及其子目录中包含的所有文件与同一目录及其子目录中包含的所有其他文件进行比较 并将匹配文件的路径记录到文本文件或 CSV 我意识到有一些软件工具可以做到这一点 但除非它可以在 Windows 中开箱即用 否则我将不被允许在我的网络
  • Windows 10 上的 LibPNG 构建问题

    我试图在 Windows 10 上构建 libpng 以获取 win32 二进制文件 但我认为有一个与 awk 解析带有 CRLF 行结尾的文件相关的问题 我尝试使用 dos2unix 命令转换文件 但没有成功 结果相同 在 make 命令
  • 生成尽可能最快的可执行文件

    我有一个非常大的程序 我一直在 Visual Studio 下编译 v6 然后迁移到 2008 我需要可执行文件尽可能快地运行 该程序大部分时间都花在处理各种大小的整数上 并且执行很少的 IO 显然 我会选择最大优化 但似乎可以做很多不属于
  • 将 value 转换为 bool 的魔法

    今天我意识到将值转换为 bool 是一种魔法 int value 0x100 unsigned char uc static cast
  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr
  • 将 OpenBLAS 链接到 MinGW

    我正在尝试链接OpenBLAS https www openblas net 图书馆与明GW w64 https mingw w64 org Windows 上的编译器 这是我的代码 include

随机推荐

  • 二进制字节数组加 1

    我试图将 1 添加到包含二进制数的字节数组中 它适用于某些情况 但不适用于其他情况 我无法将数组转换为整数并向其加一 我正在尝试对数组中的数字进行加法 如果有人可以请指出我在哪里搞砸了 有效的测试用例 1111 0 11 编辑 我明白如何在
  • 无需 RStudio 将 Rmarkdown 转换为 PDF

    我想转换一个 Rmd记录为 PDFwithout rstudio questions tagged rstudio可用 目前的方法 当前的方法遵循以下步骤 Rmd文件被传递到knitr knit input report Rmd 得到的md
  • Firestore 安全规则仅允许特定字段[重复]

    这个问题在这里已经有答案了 我正在尝试实施安全规则来限制用户只能访问文档中的特定字段 我的数据结构是这样的 document name John dob 1994 email email protected cdn cgi l email
  • 拖放文件属性为只读

    我创建了一个附加属性 它注册拖放事件并请求操作 移动 链接 复制 UIElement dragablecontrol d as UIElement if dragablecontrol null dragablecontrol AllowD
  • 本机 int 类型和 numpy.int 类型有什么区别?

    您能否帮助理解本机 int 类型和 numpy int32 或 numpy int64 类型之间的主要区别 如果有 有几个主要区别 首先 Python 整数的大小是灵活的 至少在 Python 3 x 中 这意味着它们可以增长以容纳任意数量
  • 使用Java从网页中提取数据?

    我正在尝试用 Java 编写我的第一个程序 目标是编写一个程序来浏览网站并为我下载文件 但是 我不知道如何使用Java与互联网交互 谁能告诉我要查找 阅读哪些主题或推荐一些好的资源 最简单的解决方案 不依赖于任何第三方库或平台 是创建一个指
  • 自定义元素是否有效 HTML5?

    我一直无法找到自定义标签在 HTML5 中是否有效的明确答案 如下所示
  • Google Drive API 与 iOS 使用应用程序服务帐户

    我正在致力于实现一个 iOS 应用程序 该应用程序将从 Google Drive 文档中提取内容 该文档对于每个客户来说都是相同的 并且与用户的 Google 帐户完全分开 我按照教程观看了有关如何将 SDK 用于 Xcode 项目的视频
  • 在 C# 中检查字符串是否仅包含数字的最快方法

    我知道如何检查字符串是否仅包含数字的几种方法 RegEx int parse tryparse 循环等 谁能告诉我什么fastest检查方法是 我只需要CHECK值 无需实际解析它 我所说的 数字 特指 ASCII 数字 0 1 2 3 4
  • Magento - 使用更新 XML 删除块

    如何使用布局 xml 文件删除已存在的块 具体来说 我想从名为 top switches 的块中删除名为 currency 的块 它被插入到directory xml 文件中 如下所示
  • 使用 LINQ,如何从列表中查找具有给定属性值的对象?

    我有一堂课叫Questions This Questions有属性QuestionID and QuestionAnswer 迭代此过程时List of Question在 foreach 中 我必须找到 QuestionID 12 如果我
  • Sqlite C++ 中的预准备语句如何工作

    我不知道如何在我的 Sqlite3 代码中实现准备好的语句 include
  • C# pinvoke 封送联合

    我在将 C Union 转换为 C 时遇到一些问题 这是联盟的定义 union Info char varChar 8 short varShort 4 int varInteger 2 float varFloat 2 double va
  • 无法在 Kivy 中查看 tiff 图像

    problem 我可以使用以下命令加载图片Image kivy 中的模块 但由于某种原因 我无法将 tif 文件加载到 kivy 中 当图像源为 pics lugia png 图像加载得很好 但如果来源是 pics snorlax tif
  • java 字段变化监听器

    所以我真的想要某种方法来检测某个对象的场变化 我用谷歌搜索了很长一段时间但没有找到任何东西 所以基本上我需要知道的是对象的某些变量何时发生变化 让我们以这个类为例 public class Example String text test
  • GWT 开发者模式代码服务器

    GWT 开发人员模式嵌入式 http 服务器对我来说很有意义 但我承认我不明白 代码服务器 是什么 让我印象深刻的是 一个 html 文件包含了浏览器在开发过程中使用处理 AJAX 的嵌入式 Jetty 服务器呈现 GWT 应用程序所需的所
  • 在 AngularJS 中使用 ng-repeat 过滤结果 6 到 10(共 100 个)

    我看到limitTo文档中的过滤器 这允许我限制前 5 个或后 5 个结果 但我想设置限制的开始位置 以便我可以显示第二组 5 个结果 有内置过滤器吗 从 Angular 1 4 0 开始 limitTo filter https docs
  • 如何修改子字符串?

    使用排序规则xxx german2 ci它治疗 and ue相同 是否有可能出现所有M nchen突出显示如下 输入示例 M nchen can also be written as Muenchen 输出示例 b M nchen b ca
  • Git - 递归删除文件扩展名

    我试图递归地删除文件扩展名 但无论我尝试什么 它都会失败 谢谢你的任何想法 ubuntu ubuntu laptop hh hh sdk src uboot hh git rm r cached o fatal pathspec src u
  • DirectShow 与 Media Foundation 进行视频捕捉?

    我正在尝试在视频捕获 监控 流媒体应用程序的这两个 API 之间进行选择 但我不确定哪个是最佳选择 一些背景知识 我需要它与各种视频采集卡 适配器一起使用 该应用程序可能会用 C 开发 因此本机 API 至关重要 性能很重要 因为我需要处理