我有一个 Spring-boot 项目,我在其中使用 ffmpeg 库,我通过 ProcessBuilder(在终端/cmd 中)执行 ffmpeg 命令,一切正常,因为我已经在 macOS 上安装了 ffmpeg 。当我尝试生成一个 jar 并在另一台未安装 ffmpeg 的计算机上运行它时,它会被执行,除了 ffmpeg comamnds 之外,一切正常。是否有任何更改可以将库导入到我的 Maven 项目或以某种方式使用它? 添加库的外部 jar 是个好主意吗?
提前谢谢您!
最佳答案
您要部署到 Mac(与桌面相同)的服务器还是 Windows/Linux?我问的原因是因为 ffmpeg 是一个二进制应用程序,必须编译到特定平台。
您可以将 ffmpeg 包含在 maven 中,但在运行之前需要对其进行编译。我在这里找到了一个 Maven 存储库,尽管我不知道它的效果如何:https://mvnrepository.com/artifact/com.tagtraum/ffmpeg/4.0.0 。您也可以尝试compiling from source (特别是如果您尝试进行一些非标准编码/解码),这是一个更复杂的安装。
我要做的是通过单独的安装包安装 ffmpeg,最好是通过操作系统的包管理系统;对于 Linux 来说,这将是这样的:
(Ubuntu)
sudo apt-get install ffmpeg
(CentOS)
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/ 。我建议单独安装,而不是尝试与 Java 应用程序打包。此页面可以提供帮助:https://windowsloop.com/install-ffmpeg-windows-10/
关于java - 如何在我的maven项目中导入FFMPEG库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54223324/