【问题标题】:How to import FFMPEG Library in my maven project?如何在我的 Maven 项目中导入 FFMPEG 库?
【发布时间】:2019-06-10 21:49:20
【问题描述】:

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

提前谢谢你!

【问题讨论】:

    标签: java maven spring-boot ffmpeg executable-jar


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      您可以在 maven 中包含 ffmpeg,但在它运行之前需要对其进行编译。我在这里找到了一个 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/

      【讨论】:

      • 感谢您非常全面的解释。现在我将它部署到 mac,但我也必须将它部署到 Windows。当我在 Windows 上部署它时,有什么技巧吗?我不会在 Linux 上部署它。我会试一试的。
      • 没问题!我为 Windows 部署添加了一些信息。
      猜你喜欢
      • 2017-12-10
      • 1970-01-01
      • 1970-01-01
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-28
      相关资源
      最近更新 更多