如何在我的 maven 项目中导入 FFMPEG 库?

How to import FFMPEG Library in my maven project?

我有一个 Spring-boot 项目,我在其中使用 ffmpeg 库,我通过 ProcessBuilder(在 terminal/cmd 中)执行 ffmpeg 命令,一切正常,因为我已经在我的 macOS 上安装了 ffmpeg。当我尝试在另一台未安装 ffmpeg 的机器上生成一个 jar 并 运行 它时,它被执行,一切正常,除了 ffmpeg comamnds。将库导入我的 Maven 项目或以某种方式使用它是否有任何更改? 添加库的外部 jar 是个好主意吗?

提前致谢!

我不确定 Maven 是否有插件,但我会添加一个 shell 脚本来安装 ffmpeg,我们先在脚本中称它为 resources/scripts/myscript.sh验证它尚未安装,然后使用 wget 下载您需要的内容,安装它,然后继续使用您的应用程序。 您可以从您的应用程序调用此脚本作为第一件事

您要部署的服务器是 Mac(与您的桌面相同)还是 Windows/Linux?我问的原因是因为ffmpeg是二进制应用程序,必须编译到特定平台。

您可以在 maven 中包含 ffmpeg,但在它运行之前需要对其进行编译。我在这里找到了一个 Maven 存储库,尽管我不知道它的工作效果如何:https://mvnrepository.com/artifact/com.tagtraum/ffmpeg/4.0.0. You could also try compiling from source(特别是如果您尝试做一些非标准的 encoding/decoding),这是一个更复杂的问题安装。

我会做的是通过单独的安装包安装 ffmpeg,最好是通过 OS 的包管理系统;对于 linux 这将是这样的:

(Ubuntu)

sudo apt-get install ffmpeg

(分OS)

sudo yum install epel-release
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
sudo yum install ffmpeg ffmpeg-devel

有关安装的更多信息,请点击此处: https://www.ostechnix.com/install-ffmpeg-linux/

有时这些包可能不是最新的或缺少您正在尝试做的事情,在这种情况下您可能需要从源代码编译。

编辑:您说您正在使用 Windows。我不太熟悉部署到 Windows,但此站点上有可用的 ffmpeg Windows 包(链接自 ffmpeg 主页面):https://ffmpeg.zeranoe.com/builds/ . I recommend installing separately rather than trying to package with your Java app. This page can help: https://windowsloop.com/install-ffmpeg-windows-10/