使用libfdk_aac编译FFmpeg

时间:2013-09-11 16:18:58

标签: ffmpeg converter ubuntu-12.04 aac

我一直在阅读如何将mp3转换为m4a,并发现如果我将使用AAC编码器libfdk_aac,我必须编译FFmpeg。

但是阅读关于如何使用libfdk_aac编译FFmpeg的FFmpeg指南对于像我这样的初学者来说没有任何意义。

要使用libfdk_aac,编码指南会说:

  

需要使用--enable-libfdk_aac配置ffmpeg   --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

更新

将我的系统升级到Ubuntu 16.04后,我不得不再次安装ffmpeg。 我还需要libfdk-aac。幸运的是,http://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu有关如何编译ffmpeg的详细分步指南。

我想我会分享如何编译,如果只是有兴趣用 libfdk-aac libmp3lame 编译ffmpeg。

如果主目录中还没有bin:

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 

然后安装编码器。不得不安装yasm,否则编译时会出错。

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

1 个答案:

答案 0 :(得分:5)

  

需要使用--enable-libfdk_aac --enable-nonfree配置ffmpeg。

这些说明指的是ffmpeg配置,而不是fdk-aac配置。除FFmpeg and AAC Encoding指南外,我假设您也在遵循Compile FFmpeg on Ubuntu, Debian, or Mint指南。本指南已包含在ffmpeg中获得libfdk_aac支持所需的一切,因为--enable-libfdk_aac--enable-nonfree已存在于ffmpeg的./configure行。

您需要做的就是成功复制并粘贴每个代码框。

相关问题