从播放视频文件中捕获图像

时间:2013-10-02 05:57:41

标签: c# video directshow directshow.net

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

3 个答案:

答案 0 :(得分:1)

“捕获”通常是指从外部源获取图像时的图像采集。您想要复制当前显示的视频帧。有几种方法可以实现,当视频可视化时,视频渲染器通常会提供GetCurrentImage方法,该方法返回当前显示的视频帧的副本,甚至可能转换为RGB。

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

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

答案 1 :(得分:0)

您需要一个过滤器,用于捕获屏幕并沿着视频流发送视频。

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

在Codeplex,有关于过滤器的示例,例如此(Click me)或信息(Click me)

答案 2 :(得分:0)

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

有关SampleGrabber的更多信息: see MSDN