C#中的DirectShow推送源filter?

有没有人有幸在C#中开发DirectShow源推送filter?

我们在共享内存中有原始位图和pcm音频,并希望用它来提供Expression Encoder。 出于各种(好的)原因,我们不想使用DirectShow.Net。

另外,我们想避免使用C ++。

filter最终可能是用C ++制作的。 如果您试图尽可能地避免这种情况,那么您希望C ++尽可能地薄,并实际将调用转发到托管域以进行实际操作。 这就是DirectShowLib的GSSF Filter所做的GSSF Filter ,这是您可能必须实现的。

我假设您已经阅读了PushSource示例的C#版本 。

以下是如何在C#中创建虚拟video捕获源的示例http://www.codeproject.com/Articles/437617/DirectShow-Virtual-Video-Capture-Source-Filter-in

这是BaseClasses.NET和C#中的filter示例http://www.codeproject.com/Articles/421167/Pure-NET-DirectShow-Filters-in-Csharp

我最近狂热地开始研究它(对不起!我确定这对你来说有点晚了,但希望其他人会觉得这很有用)……

幸运的是 – 有几个好的开始: 这个 pushsource在graphedt.exe中工作,(但不在捕获图中)Sourceforge有大部分directshow转换为c# here

不幸的是 – 由于编组,这两个项目是不相容的 – 我现在已将它们合并,但是当涉及到directshow时我很大程度上是绿色的,所以在我发布任何好东西之前都会有一些。 上面第一个链接中的作者希望得到他的第一个版本,并且还在努力。 我不确定他的时间是多么专注于那个特定的任务,但他是一个大师 – 这将极大地帮助时间表……

如果我得到它,我会给他发一个版本,所以请留意那里。 这是我在c#中创建推送源所能找到的唯一希望。 如果你曾经遇到任何事情,请把它贴在这个post上,因为MS正坐在这个线索上