
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 ffmpeg
es ü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 ffmpeg
in 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/bin
sich 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-dev
Paket 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-libmp3lame
Konfigurationsoption. 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.