Это не дубликат. Я Debian 6 Squeeze и установил ffmpeg, используя apt-get. Я не скомпилировал его из источника. Позже я установил lame с http://www.rarewares.org/. Но когда я пытаюсь использовать ffmpeg -i some.flv -acodec lame -ab 128k my.mp3
я вижу ошибку Unknown encoder 'lame'
. Если я попытаюсь использовать libmp3lame вместо lame, ошибка выдаст сообщение Unknown encoder 'libmp3lame'
. Но хромой установлен. Любая подсказка?
6 ответов
Debian "поддерживает [s] ... и предоставляет [s] инфраструктуру для несвободных пакетов". lame
является таким пакетом и доступен в "несвободном" репозитории. Объяснение того, как получить доступ и настроить этот репозиторий, доступно здесь.
Социальный договор Debian предоставляет информацию о том, где находится «несвободное» программное обеспечение в программной экосистеме Debian.
Возможно, ваш ffmpeg не был установлен с поддержкой LAME. Я бы сказал, что вы загружаете его из исходного кода и компилируете с помощью --enable-libmp3lame
, или, если быть точным:
$ ./configure --enable-gpl --enable-liba52 --enable-libgsm --enable-libxvid \
--enable-libamr_nb --enable-libamr_wb --enable-libmp3lame --enable-libogg \
--enable-libvorbis --enable-libfaac --enable-libfaad --enable-shared
Затем он должен использовать вашу lame
установку. Если не может: получите LAME отсюда.
Не нужно устанавливать из источника ... Пакет ffmpeg
, который поставляется с deb-multimedia.org
(5:0.7.13-dmo2
ATM), имеет поддержку libmp3lame
.
Я сделал следующее на Squeeze (как root):
apt-get install deb-multimedia-keyring
Добавьте в /etc/apt/sources.list
:
deb http://www.deb-multimedia.org squeeze main non-free
затем
apt-get update
затем, если вы проверите это с помощью sudo apt-cache policy ffmpeg
, то это должно показать, что ffmpeg
придет с deb-multimedia.org
, а не из репозитория по умолчанию. Так:
apt-get install ffmpeg
и он должен включать поддержку LAME. (У меня также был установлен lame
... Я не уверен, если это требуется, хотя.)
С июля 2011 года пакет lame
доступен в основном Debian, подробности смотрите на этой странице:http://packages.qa.debian.org/l/lame.html.
Обратите внимание, что репозиторий пакетов deb-multimedia, упомянутый в других ответах, здесь не поддерживается и не рекомендуется Debian. На самом деле, он вообще не связан с Debian. Дополнительную информацию можно найти на этой вики-странице: http://wiki.debian.org/MultimediaCodecs
Нашел в этом быстром уроке.
# cd /my/path/where/i/keep/compiled/stuff
# git clone git://source.ffmpeg.org/ffmpeg.git
# cd ffmpeg
# ./configure --enable-gpl --enable-libx264 --enable-libmp3lame --enable-nonfree --enable-libaacplus
# make
# make install
убедитесь, что у вас установлены все зависимости, если нет. проверьте этот учебник о том, как их установить
Когда вы используете ffmpeg, он будет иметь такой заголовок:
FFmpeg version 0.6.6-4:0.6.6-0ubuntu0.11.04.1, Copyright (c) 2000-2010 the Libav
developers
built on Jun 12 2012 16:35:16 with gcc 4.5.2
configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable
-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm -
-enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis
--enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-run
time-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --
enable-x11grab --enable-libdc1394 --enable-shared --disable-static
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
Если при использовании ffmpeg конфигурация не включает --enable-libmp3lame
, она не была скомпилирована с поддержкой LAME, и нет способа заставить ее использовать LAME. По умолчанию Debian и его производные не предоставляют пакет ffmpeg с поддержкой LAME. Если вы не можете найти пакет где-либо, кроме официальных репозиториев, вам придется скомпилировать его из исходного кода.