带有转换过滤器的DirectShow Graph可同时提供预览和捕获

时间:2018-10-02 12:08:18

标签: directshow

我有一个Transform过滤器(单输入引脚,单个输出引脚),它实际上是一个Overlay过滤器,用于向视频流添加文本。

有一个过滤器图形从捕获设备运行,预览到屏幕渲染器(vmr9),然后捕获到GMFBridge,后者再发送到文件编写器。有一些中间转换器和压缩器,但为简单起见,可以说这是图,我希望对此有所建议。

[Source Filter] -> [?Smart Tee?] -> capture graph
                                 -> preview graph

根据捕获设备上可用的引脚,可能会或可能不会出现Smart Tee,但是一种或另一种方式总是在源上或紧随其后的Smart Tee上都存在预览引脚和捕获引脚。 / p>

我想添加一个转换过滤器实例,以便其效果在捕获和预览中均可见。

显然,首先想到的是:

[Source Filter] -> [Transform] -> [Smart Tee] -> capture graph
                                              -> preview graph

不过,我读到我完全不应该参与源代码和Smart Tee之间发生的一切,我不清楚这是否有某些有效的技术原因,或者仅仅是因为用智能连接无法很好地工作,但可以通过手动构建图形来解决。

但是,如果我不打算出于自己的目的使用Smart Tee,那么仅连接到捕获设备上的一个引脚的无限引脚tee会起作用吗?也许:

    [Source Filter] -> [Transform] -> [Inf Tee] -> capture graph
   Ignore preview pin                           -> preview graph

我将不胜感激。

-----------------------添加了其他详细信息--------------------- ------

(最有可能)当前图看起来像这样。请注意,桥接器接收器过滤器会导致另一个捕获段,该捕获段可能包含压缩程序并写入文件。视连接的设备而定,可能会有更多或更少的颜色转换器。叠加滤镜为RGB24。

enter image description here

我现在想要实现的是在“预览捕获”之间进行拆分之前移动“叠加”滤镜,以便在捕获的文件和预览中都可以看到其转换。

0 个答案:

没有答案