Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ VC+中的Directshow GMFBridge+;_Visual C++_Directshow_Video Capture - Fatal编程技术网

Visual c++ VC+中的Directshow GMFBridge+;

Visual c++ VC+中的Directshow GMFBridge+;,visual-c++,directshow,video-capture,Visual C++,Directshow,Video Capture,我有一个mp4捕获应用程序,可以连续捕获图形30分钟(或一些动态值),我需要捕获精度非常高的tso,不丢失数据频率 为此,我们决定制作2个捕获图,首先运行第一个图,然后在30分钟后制作第二个图,运行它,然后停止第一个图,这样我们就不会丢失任何数据 简单地说,我们无法创建第二个图,因为第一个图正在运行并且资源正在使用(我想这几乎就是我们的逻辑不起作用的原因) 我在网上搜索它,发现了GMFBridge,我想这在我们的案例中可能会很有用,我想制作如下流程 源图 Video Source -->

我有一个mp4捕获应用程序,可以连续捕获图形30分钟(或一些动态值),我需要捕获精度非常高的tso,不丢失数据频率

为此,我们决定制作2个捕获图,首先运行第一个图,然后在30分钟后制作第二个图,运行它,然后停止第一个图,这样我们就不会丢失任何数据

简单地说,我们无法创建第二个图,因为第一个图正在运行并且资源正在使用(我想这几乎就是我们的逻辑不起作用的原因)

我在网上搜索它,发现了GMFBridge,我想这在我们的案例中可能会很有用,我想制作如下流程

源图

Video Source --> XCodec Filter --> Infinite tee --> GMF Bridge Sink Filter (multile as per tee)-->

Audio Source --> ACM Wrapper --> MonoGraph AAC Encodec --> Infinite Tee (multile as per tee)--> GMF Bridge Sink Filter -->
  --> GMF Source Filter -->  GDCL Mux --> Filter Writer
第一个图形

Video Source --> XCodec Filter --> Infinite tee --> GMF Bridge Sink Filter (multile as per tee)-->

Audio Source --> ACM Wrapper --> MonoGraph AAC Encodec --> Infinite Tee (multile as per tee)--> GMF Bridge Sink Filter -->
  --> GMF Source Filter -->  GDCL Mux --> Filter Writer
第二个图形

  --> GMF Source Filter -->  GDCL Mux --> Filter Writer
现在使用GMFBridge,我们将使源代码只使用一次,并使用
无限针T形过滤器
复制它,并使应用程序将
源图形连接到第一个图形
,将
源图形连接到第二个图形

第一次运行源图到第一个图的组合,30分钟后运行源图到第一个图的组合,然后停止该图

我想知道我的理解是否正确??我可以使用GMFbridge实现这一点吗。此外,我还需要GMFBridge的简单代码,而不是其示例应用程序中提供的代码

请帮忙


谢谢

您只需在源图中添加一个GMF桥接接收器过滤器。如果需要多个流,可以将网桥配置为具有多个流。但仅仅因为你需要它两次,就在里面放一个无限的T恤是没有意义的

你要做的是:

  • 启动源图形
  • 启动第一个图形
  • 将源连接到第一个图形
  • 开始第二个图形
  • (30分钟后)将源图形连接到第二个图形
  • 停止第一个图形

这样您就不会丢失任何样本,前30分钟所有样本都将进入第一个图表。从您切换的那一刻起,所有样本都将进入第二个图形。

您只需向源图形添加一个GMF桥接接收器过滤器。如果需要多个流,可以将网桥配置为具有多个流。但仅仅因为你需要它两次,就在里面放一个无限的T恤是没有意义的

你要做的是:

  • 启动源图形
  • 启动第一个图形
  • 将源连接到第一个图形
  • 开始第二个图形
  • (30分钟后)将源图形连接到第二个图形
  • 停止第一个图形

这样您就不会丢失任何样本,前30分钟所有样本都将进入第一个图表。从您切换的那一刻起,所有的样本都会转到第二个图形。

谢谢@Wimmel的回复,我已经把无限的tee bcoz放在了我想在同一地点和时间将
源图形连接到第一个图形
,并将
源图形连接到第二个图形
,但是如果您建议不要丢失任何数据,那么我会先尝试一下,但我也不想丢失几毫秒的数据。。。这可能吗??我还看到了GMF桥接器代码,但没有了解如何将其集成到我的代码中(应该在我的应用程序中添加什么才能在我的应用程序中使用GMFBridge),你能建议我吗?据我所知,如果你这样使用它,你不会丢失任何数据。这正是GMFBridge的一个用例。另请参见回复,其中我解释了如何使用GMFBridge,但GMFBridge下载中还包含一些很好的文档。我不知道是否可以在一个图形中使用两个桥同时连接到两个图形。但是,如果需要,您可以修改源代码。嗨@Wimmel,我试图制作一个简单的GMFBridge应用程序,但是当我桥接2个greaphs时,它给我的错误是:除非订阅的事件类已经存在,否则无法存储订阅。有什么想法吗??为什么会出现这样的错误??谢谢@Wimmel的回复,我已经把无限的tee-bcoz放在了我想连接的
源图到第一个图
源图到第二个图
的同一地点和同一时间,但是如果你建议不要丢失任何数据,那么我会首先尝试,但我也不想丢失几毫秒的数据。。。这可能吗??我还看到了GMF桥接器代码,但没有了解如何将其集成到我的代码中(应该在我的应用程序中添加什么才能在我的应用程序中使用GMFBridge),你能建议我吗?据我所知,如果你这样使用它,你不会丢失任何数据。这正是GMFBridge的一个用例。另请参见回复,其中我解释了如何使用GMFBridge,但GMFBridge下载中还包含一些很好的文档。我不知道是否可以在一个图形中使用两个桥同时连接到两个图形。但是,如果需要,您可以修改源代码。嗨@Wimmel,我试图制作一个简单的GMFBridge应用程序,但是当我桥接2个greaphs时,它给我的错误是:除非订阅的事件类已经存在,否则无法存储订阅。有什么想法吗??为什么会出现这样的错误??