
Я использую Ubuntu 14.04.1 LTS. Вопрос выглядит такНеизвестный кодировщик 'libmp3lame', но я следовал всем инструкциям и установил все пакеты, которые они упомянули, но ошибка все равно появляется.
Я пытаюсь конвертировать FLAC в MP3 с помощью ffmpeg, используя следующую команду:
ffmpeg -i hang_drum.flac -acodec libmp3lame destination_path.mp3
Ошибка:
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
Я пытался:
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
После запуска этих команд я все еще получаю ту же ошибку libmp3lame
. Что я здесь упускаю?
решение1
Ubuntu официально не включает ffmpeg в комплект поставки после отказа от него в пользу форка Libav.PPAон довольно устарел, поэтому его не следует использовать, если только вы не хотите использовать старую версию ffmpeg.
Честно говоря, я не знаю, почему это не сработает в вашем конкретном случае, или как вы ffmpeg
вообще смогли это сделать, поскольку Ubuntu официально не включает это в комплект.
Вот два решения, которые всегда должны работать:
Использовать статическую сборку
Быстрое решение — простозагрузить последнюю статическую сборку(прокрутите вниз, где написаноСтатические сборки Linux). Все они имеют встроенный libmp3lame. Извлеките эту сборку в какое-нибудь место и скопируйте ffmpeg
в каталог в вашем PATH, например:
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
Также убедитесь, что он /usr/local/bin
есть в вашей оболочке PATH
.
Компиляция из исходного кода
Это также даст вам последнюю версию со всеми дополнительными возможностями, которые вы хотите. Следуйтевсегда актуальное руководство на вики FFmpeg. Это займет немного больше времени, но предоставит вам больше возможностей конфигурации и доступ к другим кодировщикам, таким как libfdk_aac, которые не могут быть статически объединены из-за лицензионных требований.
решение2
Проблема
Похоже, вы скомпилировали ffmpeg
, но пропустили опцию конфигурации --enable-libmp3lame
, которая необходима для кодирования звука в формате MP3 (есть также --enable-libshine
, но это кодировщик MP3 с фиксированной точкой, который большинству пользователей не понадобится).
Кроме того, вам понадобится libmp3lame-dev
пакет как зависимость перед компиляцией. В настоящее время это требует предоставления LAME ≥ 3.98.3, поэтому если ваш пакет слишком старый, вы также можете скомпилировать LAME.
Как исправить
Если вы хотите использовать FFmpeg, у вас есть 3 основных варианта:
Компилировать
Как упоминалось выше, вам понадобятся зависимости LAME и используйте --enable-libmp3lame
опцию конфигурации. СмотритеРуководство по компиляции Ubuntu FFmpegдля пошаговых инструкций.
Скачать
Вы можете просто скачать, извлечь и запуститьстатическая сборкаffmpeg
. Включено кодирование MP3.
ППА
Пользователи Ubuntu 14.04 могут использоватьUbuntu Multimedia от mc3man для Trusty. Он также поддерживает кодирование MP3.