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

标签 java maven spring-boot ffmpeg executable-jar

我有一个 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/

相关文章:

java - MySQL 上的@GeneratedValue 多态抽象父类(super class)

java - 将嵌套对象从 fxml 映射到对象

java - 如何从 Eclipse Build Workspace 跳过 Maven 插件执行

Spring Boot 线程池指标

java - Auth0 API + Spring : How to verify user identity from successful Auth0 API response

java - 选择 Distinct * 作为查询方法?

java - 从 recyclerView 中选择项目中的一个复选框并取消选择先前选择的复选框

java - 无法在 mac os 上使用 maven3 使用 intellij IDEA 2019.2 下载源代码

maven - 如果指定了 "-DskipTests"或 "-Dmaven.test.skip=true",如何跳过 Maven 插件执行?

java - 如何从 thymeleaf 中的属性文件中读取值