可以使用Windows Media Foundation中的Video capture来捕获桌面屏幕 阅读Windows开发人员指南后,它似乎用于从相机或其他外部设备等设备捕获视频 如果是,是硬件加速API还是软件基础?
答案 0 :(得分:1)
对于桌面屏幕捕获,您应该查看通过IDXGIOutputDuplication实现的输出复制功能。您所做的是获取所需视频适配器的DXGI对象,枚举输出以找到所需的输出(或者如果您从多个屏幕同时捕获所有输出),并通过调用IDXGIOutput1::DuplicateOutput复制它。通过复制,您可以访问可以映射到CPU可读内存的GPU视频表面 - 所以是的,它会加速。
Here是微软就此事提供的完整示例。
答案 1 :(得分:0)
我发现您需要解决非常具体的任务,我认为有一个非常接近您需求的解决方案。现场" CodeProject"有文章" CaptureManager SDK"。它包括Media Foundation的流媒体桌面屏幕和输出扬声器缓冲区的有趣示例代码。它可以通过MP4格式流式传输到Web浏览器。我想你会发现它很有趣。