【问题标题】:Intelligent connect - GraphBuilder connect vs render智能连接 - GraphBuilder 连接与渲染
【发布时间】:2016-08-30 09:46:56
【问题描述】:

我有一部电影在图表中表示为媒体类型为 MEDIATYPE_Stream/MEDIASUBTYPE_MPEG1Video 的源过滤器。此外,我将 VMR 或 EVR 插入到图中。

尝试将源过滤器的输出引脚(GraphBuilder -> Connect)连接到视频渲染器的输入引脚失败(0x80040217 - VFW_E_CANNOT_CONNECT)。但是,渲染源过滤器的输出引脚(GraphBuilder -> Render)成功。它插入了 MPEG-2 分离器(不是 MPEG-2 解复用器)。当然还有解码器。但它必须与分离器有关,因为当我手动插入它然后尝试将源过滤器输出引脚连接到视频渲染器时,它通过 GraphBuilder -> 使用分离器连接。

我想使用 Connect 而不是 Render 的原因是,视频渲染器需要特殊配置(自定义演示器)。

所以,一方面我对为什么“连接”和“渲染”的行为不同感兴趣。另一方面,我正在寻求如何处理这个问题的建议。

默认情况下可能可以预先插入 MPEG-2 分离器,但我不喜欢这样。可能有一个更适合的过滤器具有更高的优点,但会被忽略。而且 MSDN 说 MPEG-2 分离器已被弃用。

编辑:不幸的是,LAVSplitter 也不是解决方案。在文件内定位相当慢。有时它似乎以降低的速率播放(烧录的时间码从报告的位置回落 - 很奇怪,但那是另一回事了)。

【问题讨论】:

    标签: directshow


    【解决方案1】:

    MPEG2 Splitter 的过滤器优点设置为“正常 - 1”,但由于已弃用,因此在智能连接期间可能不会枚举。 另一方面,当您手动添加它时,过滤器图在智能连接期间使用它,因为它首先尝试利用已添加到图中的过滤器。恐怕在这种情况下,您唯一的解决方案就是手动添加 MPEG2 分配器。

    【讨论】:

    • 嗯,这可以解释。遗憾的是,这种行为没有正式记录。我接受这个作为答案。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 2021-02-03
    • 1970-01-01
    相关资源
    最近更新 更多