如何使用/安装自定义 Directshow 过滤器
我有自定义编译的 directshow 过滤器 - filter.DLL - 但如何使用或在系统中安装此过滤器?
I have custom compiled directshow filter - filter.DLL - but how to use, or install this filter in system?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
通常,您可以通过调用(从 Windows vista/7 上的提升的命令提示符窗口)
regsvr32 filter.dll
将 directshow 过滤器注册到系统中。注册过程完成后,您可以将过滤器与 directshow 图形查看应用程序一起使用:
使用上述程序测试您的过滤器后,您可以使用它在 C++/C# 客户端应用程序中。
Usually you register the directshow filter into system by calling (from an elevated command prompt window on windows vista/7)
regsvr32 filter.dll
.After the registration process you can use your filter with a directshow graph viewing application:
After testing your filter with the above programs you can use it in a C++/C# client application.
主要方法是使用 regsvr32 filter.dll 注册过滤器文件,然后在应用程序中使用其 CLSID 创建过滤器。
如果过滤器与应用程序位于同一代码库中,您只需使用
new
创建过滤器并使用它。我更喜欢使用 CoLoadLibrary 加载 filter.dll 来获取过滤器的 IClassFactory 并创建过滤器。您可以使用 GraphStudioNext 进行测试。您可以找到示例源代码以这种方式加载过滤器 这里。
The main way would be to register the filter file with
regsvr32 filter.dll
and than create the filter with it's CLSID in your application.If the filter are in the same codebase as the application, you can just create the filter with
new
and use it.I prefer to load the filter.dll with
CoLoadLibrary
to get the IClassFactory of the filter and create the filter. You can test this with GraphStudioNext. You can find sample source code to load a filter this way here.正如克里斯蒂安所说,人们通常会在系统上注册过滤器。但我不想对一些人这样做原因。特别是,请参阅“向操作系统注册过滤器”部分。
我认为十有八九,你最好用 new 实例化。有关示例,请参阅 Geraint Davis 页面上的 AppFilter。
Like Cristian said, people typically register the filter on the system. But I prefer not to do this for a few reasons. In particular, see the section on "Registering Filters with the Operating System."
I think nine times out of ten, you're better off instantiating with new. See AppFilter on Geraint Davis' page for an example.