C# 使用DirectShow.Net将USB网络摄像头录制为MKV和其他格式

C# 使用DirectShow.Net将USB网络摄像头录制为MKV和其他格式,c#,directshow,directshow.net,C#,Directshow,Directshow.net,我在GraphEdit中有一个Graph,它可以将USB网络摄像头转换成不同形式的视频,如.MKV 输入->ffdshow视频转换器-> 智能T恤->AVI Mux->file.mkv 如何在DirectShow.Net中创建ffdshow编解码器过滤器,以便在c35;中创建此设置?我查看了,但没有列出ffdshow过滤器类别您使用的是64位版本的Windows吗?如果是,您是否确保有64位 是否安装了ffdshow的版本?或者您正在显式地将.net应用程序构建为X86?此外,不能使用AVI m

我在
GraphEdit
中有一个
Graph
,它可以将
USB网络摄像头
转换成不同形式的视频,如
.MKV

输入->ffdshow视频转换器-> 智能T恤->AVI Mux->file.mkv


如何在
DirectShow.Net
中创建
ffdshow编解码器
过滤器,以便在
c35;
中创建此设置?我查看了,但没有列出
ffdshow
过滤器类别

您使用的是64位版本的Windows吗?如果是,您是否确保有64位
是否安装了ffdshow的版本?或者您正在显式地将.net应用程序构建为X86?此外,不能使用AVI muxer创建mkv文件。您应该改为使用。

ffdshow列在下面

FilterCategory.LegacyAmFilter

实际上,其中列出了许多编码器、解码器和过滤器。

我下载了matroka muxer,但不知道如何将其放入GraphiEdit中。我没有看到任何明确允许我这样做的东西。我有他们网站上的matroskamuxer.ax。我正在运行32位win 7。您是否注册了*.ax文件?如果尚未注册,请从命令行使用regsvr32 filename.ax。现在我有了input->ffdshow Video Codec->Smart Tee->Matroska Muxer->file writer,这将创建一个视频。这似乎是对的?你知道我怎么用C语言复制这个吗;您需要创建一个图,枚举所有过滤器,选择您需要的过滤器,然后将它们逐个添加到图中。每次添加一个过滤器时,应将其输入引脚与前一个过滤器的输出引脚连接。你可以在许多DirectShow教程中找到(类似的)示例代码。我找到了C++实例,但是我在C++中找到了。我使用的是VideoCompressorCategory,没有找到它,但我切换到了LegacyAmFilterCategory,找到了matroska muxer供C#使用。现在我只需要找到一个文件编写器,因为SetOutputFileName仅为avi asf