Включение libmp3lame для FFMPEG на эластичном бобовом стебле

Я пытаюсь включить libmp3lame с FFMPEG в эластичном стебле (машина Amazon Redhat Linux).

Я могу успешно установить FFMPEG в /ffmpeg.config со следующим скриптом:

# .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 флаг и направления здесь. Модифицированный скрипт:

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

Я попытался установить libmp3lame в /ffmpeg-3.2 и получил ту же проблему.

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 в зависимости от вашей системы и пользователя.

Ниже приведены команды, которые вы можете адаптировать. Я не проверял правильность путей к каталогам, содержащим исходные тексты для 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
Другие вопросы по тегам