0

我正在开发 C# 桌面应用程序并将此链接引用到播放视频文件http://www.codeproject.com/Articles/2632/DirectShow-MediaPlayer-in-C,现在从此播放视频文件中,当我单击此面板(如上链接所示)时,如何从播放视频文件中捕获图像,我搜索但我找到了所有示例显示从某些设备(例如网络摄像头等)捕获图像,在我的情况下它不是设备它是我从目录和播放中浏览的文件,因为我是这个视频捕获的新手请指导我如何做到这一点

4

3 回答 3

1

“捕获”通常是指从外部来源获取图像时的图像采集。您想要获取当前显示的视频帧的副本。有几种方法可以做到这一点,当视频被可视化时播放时,视频渲染器通常提供GetCurrentImage返回当前显示视频帧副本的方法,甚至可能转换为 RGB。

视频渲染器版本之间的方法语法略有不同。

请参阅有关实现此目的的先前主题:

于 2013-10-02T06:51:17.657 回答
0

您还可以使用“SampleGrabber”DirectShow 过滤器:只需将其放在源过滤器和渲染过滤器之间的过滤器链中。

有关 SampleGrabber 的更多信息: 请参阅 MSDN

于 2013-10-04T12:17:19.750 回答
0

您需要一个过滤器来捕获屏幕并将视频发送到流中。

在 DirectShow 库中有一个名为PushSource的示例过滤器,里面有PushSourceDesktop

在 Codeplex,有类似这样的示例(点击我)或关于过滤器的信息(点击我) 。

于 2013-10-02T06:43:05.723 回答