【问题标题】:Is it possible to control 2 DirectShowNet streams from one input?是否可以从一个输入控制 2 个 DirectShowNet 流?
【发布时间】:2011-06-09 19:57:13
【问题描述】:

我在 C# 中使用 DirectShow.Net。我制作了一个播放器,可以同时将视频从 USB 设备流式传输到视频屏幕和 avi 文件。

我想要一个按钮,这样视频将在屏幕上预览,但在按下按钮之前不会捕获。目前要做到这一点,我必须重做图表并添加捕获过滤器渲染流。

是否可以从 1 个输入创建 2 个不同的图表?所以我会让我的 USB 摄像头显示到视频窗口,然后当我按下按钮时,我可以创建第二个图形,将摄像头中的视频保存到文件中,同时它仍在屏幕上播放?

【问题讨论】:

  • 我的是 C# 还有 C++
  • 您应该在该问题上查看的答案没有任何代码,您只需要遵循那里解释的准则:stackoverflow.com/questions/6203651/…
  • DirectShowNET 库中有一个 C# 版本的 GMFPreview 示例。
  • GMPFreview 的代码与网站上实际 GMF.DLL 的代码有何不同?该代码正在调用 previewercontroller 等,而来自网站的 GMF.dll 不包含该代码。

标签: c# directshow directshow.net


【解决方案1】:

正如@Geraint 所述,您可以将 GMFBridge 与 DirectShow.Net 一起使用。 DirectShow.Net website 状态:

样品\杂项\GMFPreview ------------------------------------
一个示例显示如何使用 Geraint 的 必不可少的 GMFBridge 工具 图的一部分要停止,而 另一部分继续运行。这是 对允许预览窗口很有用 在您开始/停止时继续运行 捕获到磁盘。

【讨论】:

  • 我很困惑如何使用 GMF 工具。在他们的网站上,他们提供了 GMFBuilder 的 DLL 下载,我已经尝试在 C# 中使用它。容器与文档不匹配,我在 stackoverflow 上看到的示例也不匹配。我正在查看stackoverflow.com/questions/6095452/… 和另一个示例,但是这些函数没有相同的参数,这让我感到困惑。预览中的代码也不同,它不使用 DLL,而是使用代码中定义的自己的类。
猜你喜欢
  • 2012-04-29
  • 2017-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-22
  • 2021-04-04
相关资源
最近更新 更多