Das Problem

Das Problem

Ich verwende Ubuntu 14.04.1 LTS. Die Frage sieht so ausUnbekannter Encoder „libmp3lame“, aber ich habe alles dort befolgt und jedes Paket installiert, das sie erwähnt haben, aber ich erhalte immer noch den Fehler.

Ich versuche, FLAC mit ffmpeg mit dem folgenden Befehl in MP3 zu konvertieren:

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

Fehler:

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

Ich habe es versucht:

  • 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

Nachdem ich diese ausgeführt habe, erhalte ich immer noch denselben Fehler libmp3lame. Was übersehe ich hier?

Antwort1

Ubuntu bündelt ffmpeg nicht offiziell, nachdem es zugunsten des Libav-Forks aufgegeben wurde. Es gibtein PPAdas ist ziemlich veraltet und sollte daher nicht verwendet werden, es sei denn, Sie möchten unbedingt eine alte Version von ffmpeg ausführen.

Ich muss ehrlich gestehen, dass ich nicht weiß, warum es in Ihrem speziellen Fall nicht funktioniert – oder wie Sie ffmpeges überhaupt zum Laufen gebracht haben, da Ubuntu es nicht offiziell bündelt.

Hier sind zwei Lösungen, die jedoch immer funktionieren sollten:

Verwenden eines statischen Builds

Eine schnelle Lösung wäre einfachLaden Sie einen aktuellen statischen Build herunter(scrollen Sie nach unten, wo stehtStatische Linux-Builds). In allen ist libmp3lame enthalten. Extrahieren Sie diesen Build an einen beliebigen Ort und kopieren Sie ihn ffmpegin ein Verzeichnis in Ihrem PATH, z. B.:

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

Stellen Sie außerdem sicher, dass es /usr/local/binsich in Ihrer Shell befindet PATH.

Aus dem Quellcode kompilieren

Damit erhalten Sie auch die neueste Version mit allen gewünschten Extras. Folgen Sie denimmer aktueller Leitfaden im FFmpeg-Wiki. Dies dauert zwar etwas länger, bietet Ihnen jedoch mehr Konfigurationsoptionen und Zugriff auf andere Encoder wie libfdk_aac, die aus Lizenzgründen nicht statisch gebündelt werden können.

Antwort2

Das Problem

Es sieht so aus, als hätten Sie kompiliert ffmpeg, dabei jedoch die Konfigurationsoption ausgelassen --enable-libmp3lame, die für die Kodierung von MP3-Audio erforderlich ist (es gibt auch --enable-libshine, aber das ist ein MP3-Encoder mit Festkomma, den die meisten Benutzer nicht benötigen).

Außerdem benötigen Sie das libmp3lame-devPaket als Abhängigkeit vor dem Kompilieren. Derzeit muss LAME ≥ 3.98.3 bereitgestellt werden. Wenn Ihr Paket also zu alt ist, können Sie stattdessen auch LAME kompilieren.

Wie repariert man

Wenn Sie FFmpeg verwenden möchten, haben Sie drei Hauptoptionen:

Kompilieren

Wie oben erwähnt, benötigen Sie die LAME-Abhängigkeiten und verwenden die --enable-libmp3lameKonfigurationsoption. Siehe dieUbuntu FFmpeg-Kompilierungshandbuchfür schrittweise Anleitungen.

Herunterladen

Sie können einfach einestatischer Aufbau vonffmpeg. Die MP3-Kodierung ist aktiviert.

PPA

Ubuntu 14.04-Benutzer können nutzenmc3mans Ubuntu Multimedia für Trusty. Es unterstützt auch die MP3-Kodierung.

verwandte Informationen