在弹性beanstalk上为FFMPEG启用libmp3lame

时间:2017-10-12 21:06:09

标签: linux amazon-web-services ffmpeg elastic-beanstalk lamemp3

我正在尝试在弹性beanstalk(Amazon Redhat Linux机器)中使用FFMPEG启用libmp3lame。

我可以使用以下脚本在/ffmpeg.config中成功安装FFMPEG:

# .ebextensions/ffmpeg.config

packages:
  yum:
    autoconf: []
    automake: []
    cmake: []
    freetype-devel: []
    gcc: []
    gcc-c++: []
    git: []
    libtool: []
    make: []
    nasm: []
    pkgconfig: []
    zlib-devel: []
sources:
  /usr/local/src: http://ffmpeg.org/releases/ffmpeg-3.2.tar.bz2
commands:
  ffmpeg_install:
      cwd: /usr/local/src/ffmpeg-3.2
      command: sudo ./configure --prefix=/usr && make && make install

但我需要安装libmp3lame。我尝试使用--enable-libmp3lame标记和路线here来执行此操作。修改后的脚本:

packages:
yum:
    autoconf: []
    automake: []
    cmake: []
    freetype-devel: []
    gcc: []
    gcc-c++: []
    git: []
    libtool: []
    make: []
    nasm: []
    pkgconfig: []
    zlib-devel: []
sources:
  /usr/local/src: http://ffmpeg.org/releases/ffmpeg-3.2.tar.bz2
commands:
  01-install_libmp3lame:
      cwd: /usr/local/src/
      command: curl -L -O http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz && tar xzvf lame-3.99.5.tar.gz && cd lame-3.99.5 && ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm && make && make install
  02-ffmpeg_install:
      cwd: /usr/local/src/ffmpeg-3.2
      command: sudo ./configure --enable-libmp3lame && --prefix=/usr && make && make install

这不起作用。命令01-install_libmp3lame完成。命令02-ffmpeg_install失败,因为:

[2017-10-12T20:55:19.324Z] INFO  [24606] - [Application update app-8fe3-123456_7895@111/AppDeployStage0/EbExtensionPreBuild/Infra-EmbeddedPreBuild/prebuild_3_clover_platform/Command 02-ffmpeg_install] : Activity execution failed, because: ERROR: libmp3lame >= 3.98.3 not found

我尝试在/ffmpeg-3.2中安装libmp3lame并遇到同样的问题。

1 个答案:

答案 0 :(得分:1)

  1. 您使用了--prefix="$HOME/ffmpeg_build",但是您没有告诉ffmpeg在那里寻找它。您可以省略它,默认情况下可能会使用/usr/local/

  2. 您正在尝试将--prefix=/usr作为独立命令而不是ffmpeg ./configure的一部分运行。你可以省略这一点。

  3. 如果您要使用ffmpeg的发布分支而不是git快照,则应使用当前为3.3而不是3.2的最新版本。但是,3.4很快就会到期(我猜不到几天或一周)。

  4. 无需sudo进行配置,但您可能需要make install,具体取决于您的系统和用户。

  5. 以下是您可以适应的命令。我没有验证包含lame和ffmpeg源的目录的路径是否正确。

    cd lame-3.99.5
    make uninstall
    make distclean
    ./configure --disable-shared --enable-nasm
    make
    make install
    cd ../ffmpeg
    make uninstall
    cd ../
    rm -f ffmpeg
    curl -O http://ffmpeg.org/releases/ffmpeg-3.3.4.tar.bz2
    cd ffmpeg
    ./configure --enable-libmp3lame
    make
    make install