FFMPEG не может конвертировать MP4 в MP3 | Нет MP3-кодировщик

Я столкнулся с проблемой, что я не могу конвертировать MP4 видео в MP3 с FFMPEG. Каждый раз, когда я пытаюсь это сделать, я получаю эту ошибку:

Unknown encoder 'libmp3lame'

Но я установил FFMPEG и LAME с флагами: --enable-libmp3lame

Поэтому, когда я бегу: ffmpeg -codecs help | grep 'mp3' в консоли я вижу, что флаги установлены, но в списке все еще нет libmp3lame, как должно быть:

ffmpeg version 3.3.4 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10)
configuration: --enable-libmp3lame --extra-ldflags=-L/var/www/html/Plugins/apps/lib/ --extra-cflags=-I/var/www/html/Plugins/apps/include/
WARNING: library configuration mismatch
avutil      configuration: --prefix=/var/www/html/Plugins/apps/ --enable-shared
avcodec     configuration: --prefix=/var/www/html/Plugins/apps/ --enable-shared
avformat    configuration: --prefix=/var/www/html/Plugins/apps/ --enable-shared
avdevice    configuration: --prefix=/var/www/html/Plugins/apps/ --enable-shared
avfilter    configuration: --prefix=/var/www/html/Plugins/apps/ --enable-shared
swscale     configuration: --prefix=/var/www/html/Plugins/apps/ --enable-shared
swresample  configuration: --prefix=/var/www/html/Plugins/apps/ --enable-shared
libavutil      55. 58.100 / 55. 58.100
libavcodec     57. 89.100 / 57. 89.100
libavformat    57. 71.100 / 57. 71.100
libavdevice    57.  6.100 / 57.  6.100
libavfilter     6. 82.100 /  6. 82.100
libswscale      4.  6.100 /  4.  6.100
libswresample   2.  7.100 /  2.  7.100
//HERE SHOULD BE LIBMP3LAME
D.A.L. mp3                  MP3 (MPEG audio layer 3) (decoders: mp3 mp3float )
D.A.L. mp3adu               ADU (Application Data Unit) MP3 (MPEG audio layer 3) (decoders: mp3adu mp3adufloat )
D.A.L. mp3on4 

Как кто-то упомянул в этой теме Ubuntu

Хромые пакеты не добавят mp3 кодировку в FFmpeg

Итак, как я могу установить libmp3lame на Debian, чтобы FFMPEG мог его использовать?

Также я уже пытался установить libmp3lame0 из пакетов Debian, но это также ничего не изменило.

1 ответ

Возможно, ваша сборка сломана. Попробуйте удалить, а затем установить его, используя следующий метод

Сначала установите зависимости

 sudo apt-get update
 sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev \
  libsdl2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev \
  libxcb-xfixes0-dev pkg-config texinfo wget zlib1g-dev

Теперь создайте каталог для исходных файлов, которые будут загружены позже

mkdir ~/ffmpeg_sources

Теперь установите этот ассемблер для оптимизаций x86, используемых x264 и FFmpeg

cd ~/ffmpeg_sources
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install

Затем установите libmp3lame

cd ~/ffmpeg_sources
wget 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" --enable-nasm --disable-shared
make
make install

Затем установите ffmpeg

cd ~/ffmpeg_sources
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
tar xjvf ffmpeg-snapshot.tar.bz2
cd ffmpeg
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
  --prefix="$HOME/ffmpeg_build" \
  --pkg-config-flags="--static" \
  --extra-cflags="-I$HOME/ffmpeg_build/include" \
  --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
  --bindir="$HOME/bin" \
  --enable-gpl \
  --enable-libass \
  --enable-libfreetype \
  --enable-libmp3lame \
  --enable-libtheora \
  --enable-libvorbis \
  --enable-nonfree
PATH="$HOME/bin:$PATH" make
make install
hash -r

Возможно, вам придется перезагрузить устройство, так как оно иногда не работает. После установки перейдите в каталог ~/bin

cd ~/bin

затем в этом каталоге попробуйте выполнить команду, например, для.

./ffmpeg -i ~/input.mp4 ~/videos/output.mkv

PS: в вашем вопросе, где вы упомянули

//HERE SHOULD BE LIBMP3LAME

libmp3lame там не будет, скорее это будет упомянуто в конфигурации как

configuration: --enable-libmp3lame

Дайте мне знать, если это работает или нет.:)

Другие вопросы по тегам