如何以编程方式从实时视频中捕获静态图像

时间:2012-08-28 15:06:12

标签: graphics directx video-capture

当我尝试截取桌面的屏幕截图时,我发现Windows Media Player窗口的区域是空的,没有任何内容,我谷歌了一段时间,发现大多数视频播放器用户覆盖表面以获得性能,并且覆盖表面无法被捕获,因此有些想法可以禁用DDraw加速,以便您可以从实时视频中抓取静止图像,但是当播放器启动时,它已经使用硬件加速,即使我禁用硬件加速,直到我重新启动播放器才会生效,我的问题是:如何从实时视频中捕获图像而不会延迟ddraw加速?或者如何在不重新启动视频播放器的情况下进行设置(禁用硬件加速)工作?

  • 我不会用我的节目播放视频,我只想拍静音 由第三方播放器(如Windows Media)播放时的图像 球员或皇家球员等......
  • 我想以编程方式执行此操作 通过C / C ++和DirectX,所以我不想使用任何现有的软件 或工具
  • 无论使用哪个播放器,我的程序都应该捕获它,我知道某个工具可以像CapTruetencent qq那样执行此操作,所以我认为可以这样做。

2 个答案:

答案 0 :(得分:1)

解决方法可以是使用vlc来播放您的文件。它直接在其中提供了屏幕截图选项。

答案 1 :(得分:0)

AFAIK,这是WMP中的故意“功能”,用于保护。如果你需要WMP,那么你需要一个体面的screengrabber。不幸的是,我所知道的hypersnap不是免费的。

如果你只想要一个画面的屏幕,VLC就是你的朋友,就像@zdd说的那样。