如何在 Ubuntu 14.04 上安装带有 libfdk_aac 的 avconv?

如何在 Ubuntu 14.04 上安装带有 libfdk_aac 的 avconv?

如何在 Ubuntu 14.04 上安装或编译带有 libfdk_aac 的 avconv ?我也可以接受类似的 aac 编解码器,例如http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC

目前我正在尝试这个但是使用 avconv:https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

我让你知道它是如何运作的。

答案1

以下是我的做法。但我必须警告你,这需要一点勇气,因为你必须自己构建 libav(这将为你提供 avconv 可执行文件和其他工具)。但不要害怕,我已经做过很多次了,我会向你展示如何构建和安装所有内容而不会弄乱你的系统。如果你不再需要自定义 libav 构建,你所要做的就是删除一个目录。

先决条件

首先我删除默认安装的 avconv:

apt-get remove --purge libav-tools

然后确保您拥有构建软件所需的工具:

apt-get install build-essential

为了获得最快的 avconv,您需要一个汇编编译器。这很简单:

apt-get install yasm

现在进入要构建的废料目录,我会这样做:

mkdir ~/src
cd ~/src

现在克隆 libav git repo(您需要安装 git):

git clone git://git.libav.org/libav.git

这将为您提供最新和最好的 libav 源代码,我发现前沿代码足够稳定,可以满足我的需求,并且在构建过程中没有遇到任何与代码相关的错误。

让 repo 克隆,然后通过包管理器安装 libfdk-aac:

apt-get install libfdk-aac-dev

为了简单起见,我们只需安装 libx264 库供 avconv 使用:

apt-get install libx264-dev

为稍后将构建的二进制文件和其他文件创建一个主目录(这也将使卸载变得容易):

mkdir ~/apps    

安装后,avconv 可执行文件将位于 ~/apps/bin/。要从命令行运行 avconv,只需将 ~/apps/bin 添加到 $PATH

安装

现在,您需要配置 libav 源以使用新安装的 fdk-aac 库。只需在命令行中输入以下内容:

./configure \
--prefix=~/apps \
--enable-nonfree \
--enable-gpl \
--disable-shared \
--enable-static \
--enable-libx264 \
--enable-libfdk-aac

此命令将为您提供所有 libav 默认编码和解码库以及 libx264 和 libfdk_aac。注意:如果您想要更多编码功能,请尝试 ./configure --help 来查看您可以启用的所有外部库。

现在剩下要做的就是建造它!在一台不错的机器上,这只需要几分钟。

make && make install

如果您将 ~/apps/bin 添加到 $PATH,您现在应该能够运行“avconv”。

要更新您的自定义 libav 构建,只需运行:

git pull origin

在 ~/src/libav/ 中拉取最新代码。然后使用上面的命令重新配置,make 和 make install。

如果您想要摆脱自定义构建并重新安装 ubuntu 的默认 libav-tools 包,请运行:

rm -rf ~/apps/
apt-get install libav-tools

并从 $PATH 中删除 ~/apps/bin

抱歉,如果你想完成的任务看起来令人望而生畏,但使用定制的、最前沿的 avconv 版本让我感到自豪 :) 我认为额外的工作是有回报的。希望这能有所帮助 :)

确认

使用以下命令验证其是否安装正确:

avconv -codecs | grep aac

你想看:

AAC (Advanced Audio Coding) (decoders: aac libfdk_aac ) (encoders: aac libfdk_aac )

用法

avconv -f alsa -i default -c:a libfdk_aac -b:a 256k filename.aac

请注意,臭名昭著的实验标志现在不再是必要的,也不推荐了。

你想看:

  Metadata:
  encoder         : Lavc58.12.1 libfdk_aac

答案2

或者如果你想使用较差的 aac:

sudo apt-get install libav-tools

然后不要使用 Fraunhofer,而是使用以下开关:

-acodec aac -strict experimental or -acodec libvo_aacenc

音频质量可能有所不同。

相关内容