在C#中开发DirectShow源推送过滤器有没有运气?
我们在共享内存中有原始位图和pcm音频,并希望用它来提供Expression Encoder。出于各种(好的)原因,我们不想使用DirectShow.Net。
另外,我们要避免使用C ++。
答案 0 :(得分:3)
过滤器最终可能是用C ++制作的。如果您试图尽可能地避免这种情况,您希望尽可能地使C ++变薄,并实际将调用转发到托管域以进行实际操作。这就是DirectShowLib的GSSF Filter
所做的事情,这是你可能不得不实现的。
答案 1 :(得分:2)
以下是如何在C#中创建虚拟视频捕获源的示例 http://www.codeproject.com/Articles/437617/DirectShow-Virtual-Video-Capture-Source-Filter-in
这是BaseClasses.NET并在C#中过滤示例 http://www.codeproject.com/Articles/421167/Pure-NET-DirectShow-Filters-in-Csharp
答案 2 :(得分:0)
我刚刚开始狂热地工作(对不起!我确定这对你来说有点晚了,但希望其他人会觉得这很有用)......
幸运的是 - 有一些好的开始: This pushsource在graphedt.exe中工作,(但不在捕获图中) Sourceforge将大部分directshow转换为c#here不幸的是 - 由于编组,这两个项目是不相容的 - 我现在将它们合并,但是当涉及到directshow时我很大程度上是绿色的,所以在我发布任何好东西之前都会有点。 上面第一个链接中的作者想要获得他的第一个版本,并且正在努力。我不确定他的时间是多么专注于那个特定的任务,但他是一个大师 - 这将极大地帮助时间表......
如果我得到它,我会给他发一个版本,所以请留意那里。这是我在c#中创建推送源时唯一能找到的希望。如果您之后遇到过任何问题,请将此问题添加到此主题中,因为MS正在讨论这个问题