【问题标题】:Distribute webm/VP8 player without installing directShow filters分发 webm/VP8 播放器,无需安装 directShow 过滤器
【发布时间】:2015-01-26 10:19:51
【问题描述】:

我即将编写一个 C# 应用程序来播放 webm 视频文件,其中包含 VP8 编码的视频流。

是否可以在不让用户安装 DirectShow 过滤器的情况下执行此操作? 即通过为分发提供一些 DLL?

从许可的角度来看是否允许这样做?

【问题讨论】:

    标签: windows video directshow webm vp8


    【解决方案1】:

    DirectShow 过滤器在添加到过滤器图表后即可运行。所以你不一定需要过滤 COM 注册:你可以通过显式调用自己添加它。然后你可以通过 COM 或其他方式实例化它。

    如果您需要标准过滤器注册只是为了实例化过滤器,您可以利用reg-free COM 或简单地加载DLL 并通过导出的DllGetClassObject 函数获取其工厂。

    但是,如果您需要 DirectShow Intelligent Connect 自动拾取您的解码器,则您需要完整的 COM 注册,或者您需要更新代码以通过显式添加过滤器来构建图形。

    延伸阅读:Using Filters Without Registration.

    【讨论】:

    • 按照文章中的描述逐步构建添加和连接过滤器 + 手动加载 DLL - 这就是我要做的。
    • 谢谢!如果我会使用 MediaFoundation 而不是 DS。这个过程会不会差不多?
    • 是的,MF 也是基于 COM 的,并且适用类似的限制。因此,您可以在两者之间做出选择(您通常会因为其他原因更喜欢其中之一)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多