linux上的C#:linux上的FFmpeg(FFMediaToolkit)System.IO.DirectoryNo



我在rider中有C#项目,并且通过NuGet安装了FFMediaToolkit。我举了MediaBuilder的例子。当我点击run时,我会收到以下错误消息:

/home/john/Projects/Slimulator/bin/Debug/net5.0/Slimulator /home/john/Projects/Slimulator/test_mazes/small-maze-food2.png
Loading file /home/john/Projects/Slimulator/test_mazes/small-maze-food2.png
Unhandled exception. System.IO.DirectoryNotFoundException: Cannot found the default FFmpeg directory.
On Windows you have to set "FFmpegLoader.FFmpegPath" with full path to the directory containing FFmpeg shared build ".dll" files
For more informations please see https://github.com/radek-k/FFMediaToolkit#setup
at FFMediaToolkit.FFmpegLoader.LoadFFmpeg()
at FFMediaToolkit.Encoding.Internal.OutputContainer.Create(String extension)
at FFMediaToolkit.Encoding.MediaBuilder..ctor(String path, Nullable`1 format)
at FFMediaToolkit.Encoding.MediaBuilder.CreateContainer(String path)
at Slimulator.AnimationBuffer..ctor(String videoPath, Int32 height, Int32 width, Int32 frameRate) in /home/john/Projects/Slimulator/AnimationBuffer.cs:line 11
at Slimulator.Simulation..ctor(Space space, String seed, String outputVideoPath) in /home/john/Projects/Slimulator/Simulation.cs:line 12
at Slimulator.Launcher.Main(String[] args) in /home/john/Projects/Slimulator/Launcher.cs:line 8
Process finished with exit code 134.

当我去https://github.com/radek-k/FFMediaToolkit#setup我发现这个:

Linux-使用软件包管理器下载FFmpeg。

您需要将FFmpegLoader.FFmpegPath设置为FFmpeg库的完整路径。

如果你想使用64位FFmpeg,你必须禁用Build->首选中的32位选项Visual Studio项目属性。

我已经通过pacman安装了FFmpeg软件包,但我仍然会收到这些错误。

如何修复此问题,以便在linux上使用FFMediaToolkit而不会出现问题
感谢的帮助

EDIT1:我使用Arch-linux。EDIT2:github上存在相关问题:https://github.com/radek-k/FFMediaToolkit/issues/80

要设置的解决方案:

FFmpegLoader.FFmpegPath = "/usr/lib/";

因为archlinux的安装位置与其他发行版不同。

最新更新