AForge.Video.FFMPEG XamlParseException

时间:2017-02-09 22:51:54

标签: c# video ffmpeg aforge

我正在尝试设置一个简单的C#应用​​程序,我想记录多个USB网络摄像头并将其源代码保存到某些文件中。我使用AForge.NET,因为这似乎是这种应用程序最受欢迎的选项。我可以使用AForge.Video.VFW AVIWriter录制视频,但由于多种原因我需要使用AForge.Video.FFMPEG VideoFileWriter。每当我尝试使用这个类时,我得到一个System.Windows.Markup.XamlParseException,除了一些非常无用的附加信息之外没有其他信息或内部异常。

我有一个简单的代码示例来触发异常:

using AForge.Video.FFMPEG;

namespace CameraPrototype {
    public partial class MainWindow {
        public MainWindow() {
            InitializeComponent();

            VideoFileWriter videoFileWriter = new VideoFileWriter();
        }
    }
}

我还搜索了一下,尝试了其他地方提到的一些建议:

  • 选中“例外设置”中的所有框,启用所有类型的例外中断。我曾希望当异常被抛出时,这会给我一些更多的信息,不幸的是它没有改变任何东西。
  • 将FFMPEG DLL(swscale-2.dll,postproc-52.dll等)复制到与应用程序构建的可执行文件(../bin/Debug/)相同的文件夹中。我很确定该异常与ffmpeg有关,但这个特殊的解决方案并不起作用。也许我在这里做错了什么,或者我错过了让ffmpeg工作的东西?

如果有人知道我可能做错了什么或如何获得有关异常的更多信息,我真的很感激任何帮助。如果我需要发布任何其他信息,请告诉我。谢谢!

修改 虽然它并没有真正回答这个问题,但我也愿意接受AForge.NET替代方案的建议,只要它能让我录制并保存来自多个USB网络摄像头的视频。

1 个答案:

答案 0 :(得分:0)

您可以试试Accord.NET,它与Accord.Video.FFMPEG捆绑了ffmpeg,无需额外设置。它提供了与AForge.NET相同的特性和功能以及一些额外功能,但除非你需要扩展的机器学习功能,否则没有什么区别。