2013-09-11 4 views
5

Я читал о том, как конвертировать mp3 в m4a, и обнаружил, что я должен скомпилировать FFmpeg, если я буду использовать кодер AAC, libfdk_aac.Компиляция FFmpeg с libfdk_aac

Но чтение руководства FFmpeg о том, как скомпилировать FFmpeg с libfdk_aac, не имеет смысла для новичка, подобного мне.

Чтобы использовать libfdk_aac руководство кодирования говорит:

Требуется FFmpeg быть сконфигурирован с --enable-libfdk_aac --enable-несвободны.

Где я могу поместить эти флаги?

ли я поставить его где-то здесь ?:

cd ~/ffmpeg_sources 
git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git 
cd fdk-aac 
autoreconf -fiv 
./configure --prefix="$HOME/ffmpeg_build" --disable-shared 
make 
make install 
make distclean 

Или, может быть где-то здесь?

cd ~/ffmpeg_sources 
git clone --depth 1 git://source.ffmpeg.org/ffmpeg 
cd ffmpeg 
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" 
export PKG_CONFIG_PATH 
./configure --prefix="$HOME/ffmpeg_build" \ 
    --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ 
    --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac \ 
    --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx \ 
    --enable-libx264 --enable-nonfree --enable-x11grab 
make 
make install 
make distclean 
hash -r 

Если я читаю руководство компиляции прав, я предполагаю, что эти два фрагмента кода является то, что мне нужно собрать FFmpeg.

Я использую сервер Ubuntu на 12,4

UPDATE

После обновления моей системы в Ubuntu 16.04 я должен был установить FFmpeg снова. Мне все еще нужен libfdk-aac. К счастью, есть хорошее пошаговое руководство по http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu о том, как скомпилировать ffmpeg.

Я думал, что я хотел бы поделиться, как компилировать, если просто заинтересованы в составлении FFmpeg с libfdk-ААС и libmp3lame.

Если вы еще не мусорное ведро в домашнем каталоге:

mkdir ~/bin 

Установка зависимостей. Не нужны несерверные пакеты:

sudo apt-get update 
sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtheora-dev libtool libvorbis-dev pkg-config texinfo zlib1g-dev 

Затем установите кодировщики. Придется также установить ясность, иначе я получаю ошибки при компиляции.

sudo apt-get install libfdk-aac-dev 
sudo apt-get install libmp3lame-dev 
sudo apt-get install yasm 

Затем компилировать FFmpeg с необходимыми флагами

cd ~/ffmpeg_sources 
wget http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 
tar xjvf ffmpeg-snapshot.tar.bz2 
cd ffmpeg 
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \ 
--prefix="$HOME/ffmpeg_build" \ 
--pkg-config-flags="--static" \ 
--extra-cflags="-I$HOME/ffmpeg_build/include" \ 
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \ 
--bindir="$HOME/bin" \ 
--enable-libass \ 
--enable-libfdk-aac \ 
--enable-libfreetype \ 
--enable-libtheora \ 
--enable-libvorbis \ 
--enable-libmp3lame \ 
--enable-nonfree \ 
--enable-gpl 
PATH="$HOME/bin:$PATH" make 
make install 
make distclean 
hash -r 

ответ

4

Требуется FFmpeg быть сконфигурирован с --enable-libfdk_aac --enable-nonfree.

Эти инструкции относятся к конфигурации ffmpeg, а не к fdk-aac configure. В дополнение к руководству FFmpeg and AAC Encoding, я полагаю, вы также следуете руководству Compile FFmpeg on Ubuntu, Debian, or Mint. В этом руководстве уже содержится все необходимое для получения поддержки libfdk_aac в ffmpeg, потому что --enable-libfdk_aac и --enable-nonfree уже присутствуют в строке ./configure для ffmpeg.

Все, что вам нужно сделать, это скопировать и вставить каждый код.

+0

Я пытаюсь настроить ffmpeg с --enable-nonfree и -enable-libfdk_aac следующим образом: ./configure --enable-nonfree --enable-libfdk_aac, но он дает мне предупреждение, говорящее, что они непризнанные опции? – Ryan

+0

вот ссылка - http://pastebin.com/CqWfvRQb – Ryan

+0

Я следил за этим руководством по установке FFMPEG на OS X http://jungels.net/articles/ffmpeg-howto.html Я только понял, что захватил конфигурацию. войдите в папку LAME, чтобы я действительно не знал, где найти файл из FFMPEG? – Ryan

Смежные вопросы