使用 accord.video.ffmpeg c# 部署应用程序

Deploy application with accord.video.ffmpeg c#

我正在使用 accord.video.ffmpeg 3.4.0,通过 nuget 下载,用录像机 class 保存视频。如果我编译 (x86) 我的解决方案,应用程序 运行 在 visual studio 中顺利运行,而不是如果我在尝试 运行 setup.exe 时发布应用程序(相同架构)它安装程序但突然崩溃。当我执行 new videorecorder() 时,问题出在 class 的构造函数中。这就像如果在部署过程中没有包含所有需要的库。 Anyonw 知道缺少哪些库? 谢谢, 亚历克斯

可能您在分发应用程序时没有将 FFMPEG .dll 文件与应用程序的 .exe 一起包含在内。

如果您已通过 NuGet 安装框架,则该程序包应该已在您的 .csproj 文件中安装了一个 .targets,以便在每次构建时将这些 .dll 复制到项目的输出文件夹中。

这些 .dll 文件当前(自 Accord.NET 3.6.0 起)名为:

  • avcodec-57.dll
  • avdevice-57.dll
  • avfilter-6.dll
  • avformat-57.dll
  • avutil-55.dll
  • 后处理-54.dll
  • swresample-2.dll
  • swscale-4.dll

并且可以在您的输出目录中找到(如果它是自动复制的),或者在您的解决方案文件夹内的目录 packages\Accord.Video.FFMPEG.x.x.x 中。