FFMPEG não pode converter MP4 para MP3 | Nenhum codificador MP3

0

Estou enfrentando o problema de não conseguir converter vídeos MP4 para MP3 com FFMPEG. Toda vez que eu tento, recebo este erro:

Unknown encoder 'libmp3lame'

Mas eu instalei o FFMPEG e o LAME com os sinalizadores: - enable-libmp3lame

Então, quando estou executando: ffmpeg -codecs help | grep 'mp3' no console eu vejo que os Flags estão definidos, mas na lista ainda não há libmp3lame como deveria ser:

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 

Como alguém mencionou em este tópico do Ubuntu

lame packages won't add mp3 encoding to FFmpeg

Então, como eu posso instalar o libmp3lame no Debian para que o FFMPEG possa usá-lo?

Eu também já tentei instalar o libmp3lame0 de Pacotes Debian , mas isso também não mudou nada.

    
por Lukas Reiner 27.09.2017 / 14:14

1 resposta

0

Talvez sua construção esteja quebrada. Tente desinstalar e, em seguida, instalá-lo usando o seguinte método

Primeiro, instale dpendencies

 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

Agora crie um diretório para os arquivos de origem que serão baixados posteriormente

mkdir ~/ffmpeg_sources

Agora instale este assembler para otimizações x86 usadas por x264 e 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

Em seguida, instale o 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

Em seguida, instale o 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

Você pode ter que reiniciar o dispositivo, pois às vezes não funciona. Após a instalação, vá para o diretório ~ / bin

cd ~/bin

então, nesse diretório, tente executar o comando por exemplo.

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

PS: Na sua pergunta em que você mencionou

//HERE SHOULD BE LIBMP3LAME

libmp3lame não estará lá, mas será mencionado na configuração como

configuration: --enable-libmp3lame

Deixe-me saber se funciona ou não. :)

    
por Sankalp Gupta 02.10.2017 / 08:01