2017-02-09 88 views
1

我想设置一个简单的C#应用​​程序,我想要记录多个USB摄像头并将它们的提要保存到某些文件。我使用AForge.NET,因为这似乎是这种应用程序最流行的选择。我可以使用AForge.Video.VFW AVIWriter录制视频,但由于许多原因,我需要使用AForge.Video.FFMPEG VideoFileWriter。然而,每当我尝试使用这个类时,我都会得到一个System.Windows.Markup.XamlParseException,除了一些额外的信息外,没有额外的信息或内部异常,这些信息是毫无用处的。AForge.Video.FFMPEG XamlParseException

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

using AForge.Video.FFMPEG; 

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

      VideoFileWriter videoFileWriter = new VideoFileWriter(); 
     } 
    } 
} 

我也用Google搜索了一下四周,试图在别处提到的一些建议:

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

如果任何人有任何想法我可能做错了或如何获得有关异常的更多信息,我会非常感谢任何帮助。让我知道是否需要发布任何其他信息。谢谢!

编辑: 虽然它并没有真正回答这个问题,我也开到了替代AForge.NET建议,只要它让我记录,并从多个USB摄像头保存录像。

回答

0

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

+1

谢谢,这工作。我想知道我做了什么不同,我试图将.dll复制到输出,并且输出文件夹对于我的AForge.NET项目和我的Accord.NET项目都是相同的。我知道这不完全是我的问题的答案,但由于它解决了我的问题,我仍然会接受它。 – tobloef

相关问题