我正在使用自定义源过滤器从 Internet 获取实时视频流,但不知道它是如何工作的。此源滤波器提供两个分别为音频/视频的输出引脚。当我只是使用它来将直播捕获到 avi 文件中时,如下所示:
它运作良好。但是,当我尝试在仍然捕获的同时进行预览时,我首先在自定义过滤器和 AVI Mux 之间添加了一个 Infinite Pin Tee 过滤器,如下所示:
然后 GraphEdit 中的图形无法启动(当我单击“启动图形”按钮时,它什么也不做,也没有任何反应)。
(ps:我认为在这里使用 Infinite Tee 而不是 Smart Tee 更好,因为该自定义过滤器看起来不像捕获过滤器。)
我尝试编写一个 Visual-C++ 代码做同样的事情,只是使用 CoCreateInstance、IGraphBuilder::AddFilter 和 IGraphBuilder::Connect。查看发生了什么错误以及 HRESULT 是什么。然后我发现调用 IMediaControl::Run 时程序挂起。(IMediaControl 的实例是从 IGraphBuilder 的实例中查询到的)。
我不知道它为什么会这样,我也不知道如何调试它。那么有人给我任何帮助或提示吗?
谢谢你。:)