O problema

O problema

Estou executando o Ubuntu 14.04.1 LTS. A questão é assimCodificador desconhecido 'libmp3lame', mas segui tudo lá e instalei todos os pacotes que eles mencionaram, mas ainda estou recebendo o erro.

Estou tentando converter FLAC para MP3 usando ffmpeg, com o comando abaixo:

ffmpeg -i hang_drum.flac -acodec libmp3lame destination_path.mp3

Erro:

ffmpeg version 2.3.3 Copyright (c) 2000-2014 the FFmpeg developers
 built on Sep  5 2014 17:58:33 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: 
  libavutil      52. 92.100 / 52. 92.100
  libavcodec     55. 69.100 / 55. 69.100
  libavformat    55. 48.100 / 55. 48.100
  libavdevice    55. 13.102 / 55. 13.102
  libavfilter     4. 11.100 /  4. 11.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
Input #0, flac, from 'hang_drum.flac':
  Metadata:
    TSS             : Logic 10.0.6
    ENCODER         : Lavf55.44.100
  Duration: 00:02:36.06, start: 0.000000, bitrate: 627 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16

Tentei:

  • sudo apt-get install ffmpeg libavcodec-extra-53
  • sudo apt-get install ffmpeg libavcodec-extra-54
  • sudo apt-get install libmp3lame0
  • sudo apt-get install libav-tools:i386
  • sudo apt-get install ffmpeg libav-tools

Depois de executá-los, ainda estou recebendo o mesmo erro libmp3lame. O que estou perdendo aqui?

Responder1

O Ubuntu não empacota oficialmente o ffmpeg depois de abandoná-lo em favor do fork Libav. Háum PPAisso está bastante desatualizado, portanto não deve ser usado, a menos que você queira executar uma versão antiga do ffmpeg.

Sinceramente, tenho que confessar que não sei por que isso não funcionará no seu caso específico - ou como você começou a ffmpegfuncionar, já que o Ubuntu não o empacota oficialmente.

Aqui estão duas soluções que sempre devem funcionar:

Use uma construção estática

Uma solução rápida seria simplesmentebaixe uma compilação estática recente(role para baixo onde dizConstruções estáticas do Linux). Todos eles têm libmp3lame incluído. Extraia essa compilação para algum local e copie ffmpegpara um diretório em seu PATH, por exemplo:

cd ~/Downloads
tar xvf ffmpeg-*.tar.xz
cd !$
sudo mkdir -p /usr/local/bin
sudo cp ./ffmpeg ./ffprobe /usr/local/bin/
sudo chmod ugo+x /usr/local/bin/ffmpeg /usr/local/bin/ffprobe

Verifique também se isso /usr/local/binestá no seu shell PATH.

Compilar da fonte

Isso também lhe dará a versão mais recente com todos os extras que você deseja. Segue oguia sempre atualizado no wiki do FFmpeg. Demorará um pouco mais, mas oferece mais opções de configuração e acesso a outros codificadores, como libfdk_aac, que não podem ser agrupados estaticamente devido a motivos de licenciamento.

Responder2

O problema

Parece que você compilou o ffmpeg, mas omitiu a opção de configuração --enable-libmp3lamenecessária para codificar o áudio MP3 (também existe o --enable-libshine, mas é um codificador de MP3 de ponto fixo que a maioria dos usuários não precisará).

Além disso, você precisará do libmp3lame-devpacote como dependência antes de compilar. Atualmente isso precisa fornecer LAME ≥ 3.98.3, então se o seu pacote for muito antigo então você também pode compilar o LAME.

Como consertar

Você tem 3 opções principais se quiser usar o FFmpeg:

Compilar

Conforme mencionado acima, você precisará das dependências LAME e usará a --enable-libmp3lameopção configure. Veja oGuia de compilação do Ubuntu FFmpegpara obter instruções passo a passo.

Download

Você pode simplesmente baixar, extrair e executar umconstrução estática deffmpeg. Possui codificação MP3 habilitada.

PPA

Os usuários do Ubuntu 14.04 podem utilizarUbuntu Multimedia do mc3man para Trusty. Ele também suporta codificação MP3.

informação relacionada