C++ Windows MediaFoundation中的视频捕获可以用于屏幕捕获吗? 可以在Windows MediaFoundation中捕获桌面屏幕。 阅读《windows开发者指南》后,它似乎是用于从照相机或其他外部设备捕获视频。 如果是,是硬件加速API还是软件基础?

C++ Windows MediaFoundation中的视频捕获可以用于屏幕捕获吗? 可以在Windows MediaFoundation中捕获桌面屏幕。 阅读《windows开发者指南》后,它似乎是用于从照相机或其他外部设备捕获视频。 如果是,是硬件加速API还是软件基础?,c++,windows,ms-media-foundation,screen-capture,C++,Windows,Ms Media Foundation,Screen Capture,对于桌面屏幕捕获,您应该查看通过实现的输出复制功能。您要做的是获取所需视频适配器的DXGI对象,枚举输出以找到所需的一个(如果您同时从多个屏幕捕获,则为全部),并通过调用复制它。通过复制,您可以访问可以映射到CPU可读内存的GPU视频表面,因此是的,它被加速了 是Microsoft关于此问题的完整示例。对于桌面屏幕捕获,您应该查看通过实现的输出复制功能。您要做的是获取所需视频适配器的DXGI对象,枚举输出以找到所需的一个(如果您同时从多个屏幕捕获,则为全部),并通过调用复制它。通过复制,您可以访

对于桌面屏幕捕获,您应该查看通过实现的输出复制功能。您要做的是获取所需视频适配器的DXGI对象,枚举输出以找到所需的一个(如果您同时从多个屏幕捕获,则为全部),并通过调用复制它。通过复制,您可以访问可以映射到CPU可读内存的GPU视频表面,因此是的,它被加速了


是Microsoft关于此问题的完整示例。

对于桌面屏幕捕获,您应该查看通过实现的输出复制功能。您要做的是获取所需视频适配器的DXGI对象,枚举输出以找到所需的一个(如果您同时从多个屏幕捕获,则为全部),并通过调用复制它。通过复制,您可以访问可以映射到CPU可读内存的GPU视频表面,因此是的,它被加速了


这是微软关于这个问题的完整示例。

我看到您需要解决非常具体的任务,我认为有一个非常接近您需要的解决方案。在“CodeProject”网站上有一篇文章“CaptureManager SDK”。它包括流媒体桌面的有趣示例代码和媒体基础输出扬声器缓冲器。它可以以MP4格式流式传输到web浏览器。我想你会发现它很有趣。

我知道你需要解决非常具体的任务,我认为有一个非常接近你需要的解决方案。在“CodeProject”网站上有一篇文章“CaptureManager SDK”。它包括流媒体桌面的有趣示例代码和媒体基础输出扬声器缓冲器。它可以以MP4格式流式传输到web浏览器。我想你会发现它很有趣。

谢谢@Rudolfs,是的,我知道DXGI。DXGI是从媒体基金会使用的吗?或者这个类与DXGI有什么关系?windows 7不支持DXGI。@anurudh-这与视频捕获无关。DXGI通过Direct3D非媒体基金会工作。是的,Windows 7不支持它-您必须使用Windows 7.ok的旧方法。我仍在等待答案,视频捕获可以用于屏幕捕获吗?@anurudh-没有明确的答案。我建议您列举视频捕获的来源,当然没有任何内容可以提供给您屏幕的内容,但是任何人都可以做一个自定义来源来包装复制、GDI或其他内容。谢谢@Rudolf。我会尽量深入了解它,并尝试在这里用更多的证据来回答。谢谢@Rudolfs,是的,我知道DXGI。DXGI是从媒体基金会使用的吗?或者这个类与DXGI有什么关系?windows 7不支持DXGI。@anurudh-这与视频捕获无关。DXGI通过Direct3D非媒体基金会工作。是的,Windows 7不支持它-您必须使用Windows 7.ok的旧方法。我仍在等待答案,视频捕获可以用于屏幕捕获吗?@anurudh-没有明确的答案。我建议您列举视频捕获的来源,当然没有任何内容可以提供给您屏幕的内容,但是任何人都可以做一个自定义来源来包装复制、GDI或其他内容。谢谢@Rudolf。我将试图深入了解它,并试图在这里用更多的证据来回答。