Uma solução alternativa é baixar um binário estático de ffmpeg
. Tem suporte para libmp3lame. Basta baixar, extrair e executar. Não há necessidade de root ou superusuário.
Eu preciso converter arquivos FLAC para mp3, mas o ffmpeg falha com
Encoder (codec mp3) not found for output stream #0:0
ou com
Unknown encoder 'libmp3lame'
Descobri que preciso instalar o pacote libavcodec-extra
. Eu não tenho acesso root nesta máquina, então baixei o arquivo .deb, extraí seu conteúdo com ar x
e extraí o conteúdo de data.tar.xz
. Isso criou um diretório usr/lib
local com uma biblioteca compartilhada.
Eu adicionei o caminho para a variável de ambiente LD_LIBRARY_PATH
,
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$HOME/build/usr/lib/x86_64-linux-gnu
Parece que agora a biblioteca foi encontrada:
$ ldconfig -v | grep libavcodec
/sbin/ldconfig.real: Can't stat /lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/lib/i686-linux-gnu: No such file or directory
/sbin/ldconfig.real: Can't stat /lib32: No such file or directory
/sbin/ldconfig.real: Can't stat /usr/lib32: No such file or directory
/sbin/ldconfig.real: Path '/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path '/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: /lib/i386-linux-gnu/ld-2.19.so is the dynamic linker, ignoring
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.19.so is the dynamic linker, ignoring
libavcodec.so.54 -> libavcodec.so.54.35.1
/sbin/ldconfig.real: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
Mas o ffmpeg ainda falha. O que estou perdendo?
Uma solução alternativa é baixar um binário estático de ffmpeg
. Tem suporte para libmp3lame. Basta baixar, extrair e executar. Não há necessidade de root ou superusuário.