使用libfdk_aac编译FFmpeg

问题描述 投票:0回答:2

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

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

要使用 libfdk_aac 编码指南说:

需要使用 --enable-libfdk_aac 配置 ffmpeg --启用非自由。

我应该把这些标志放在哪里?

我要把它放在这里吗?:

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-aaclibmp3lame 编译 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
ffmpeg converters ubuntu-12.04 aac
2个回答
7
投票

需要使用

--enable-libfdk_aac --enable-nonfree
配置 ffmpeg。

这些说明是指 ffmpeg 配置,而不是 fdk-aac 配置。除了FFmpeg 和 AAC Encoding 指南之外,我假设您还遵循在 Ubuntu、Debian 或 Mint 上编译 FFmpeg 指南。本指南已包含在 ffmpeg 中获得 libfdk_aac 支持所需的所有内容,因为

--enable-libfdk_aac
--enable-nonfree
已存在于 ffmpeg 的
./configure
行中。

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


0
投票

我写了一篇关于从源代码安装 FFmpeg 的整个过程的指南。它还包括 FDKAAC 和其他主要编解码器。这是脚本的具体部分:

git clone --depth 1 https://github.com/mstorsjo/fdk-aac &&
    pushd fdk-aac &&
    autoreconf -fiv &&
    ./configure --prefix="$USR_LOCAL_PREFIX" &&
    make -j $CPUS &&
    make install
popd

整个指南以及过程 https://mirzabilal.com/how-to-install-ffmpeg-on-linux-from-source

免责声明:我是本指南的作者。

© www.soinside.com 2019 - 2024. All rights reserved.