在不安装 directShow 过滤器的情况下分发 webm/VP8 个播放器

Distribute webm/VP8 player without installing directShow filters

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

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

从许可的角度来看,这是允许的吗?

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

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

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

延伸阅读:Using Filters Without Registration.