在弹性豆茎上为 FFMPEG 启用 libmp3lame

Enabling libmp3lame for FFMPEG on elastic beanstalk

我正在尝试在 elastic 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. 你使用了--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 可能需要配置。

以下是您可以修改的命令。我没有验证包含 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