【问题标题】:Record USB Webcam to MKV and other formats using DirectShow.Net使用 DirectShow.Net 将 USB 网络摄像头录制为 MKV 和其他格式
【发布时间】:2013-04-13 23:20:44
【问题描述】:

我在GraphEdit 中有一个Graph,它将USB Webcam 转换为不同形式的视频,例如.MKV

输入 -> ffdshow 视频转换器 -> Smart Tee -> AVI Mux -> file.mkv

如何在DirectShow.Net 中创建ffdshow codec 过滤器,以便在C# 中创建此设置?我看了看,我没有列出ffdshow FilterCategory

【问题讨论】:

    标签: c# directshow directshow.net


    【解决方案1】:

    您使用的是 64 位版本的 Windows 吗?如果是,你确定你有 64 位 安装了ffdshow的版本?或者您正在将您的 .net 应用程序明确构建为 X86?此外,您不能使用 AVI 多路复用器来创建 mkv 文件。您应该改用matroska muxer

    【讨论】:

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

    ffdshow 列在

    FilterCategory.LegacyAmFilter
    

    其实里面列出了很多编码器、解码器和过滤器。

    【讨论】:

      猜你喜欢
      • 2021-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      相关资源
      最近更新 更多