如何在 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
我让你知道它是如何工作的。
小智 12
这是我如何做到的。但是我必须警告您,这需要一点勇气,因为您必须自己构建 libav(这将为您提供其他工具中的 avconv 可执行文件)。但是不要害怕,我已经做过很多次了,我将向您展示如何构建和安装所有东西而不会弄乱您的系统。如果您不再需要自定义的 libav 构建,您所要做的就是删除一个目录。
首先,我删除了安装的 avconv 购买默认值:
apt-get remove --purge libav-tools
Run Code Online (Sandbox Code Playgroud)
然后确保您拥有构建软件所需的一般工具:
apt-get install build-essential
Run Code Online (Sandbox Code Playgroud)
为了获得最快的 avconv,您需要一个汇编编译器。这很容易:
apt-get install yasm
Run Code Online (Sandbox Code Playgroud)
现在进入要构建的废料目录,我将执行以下操作:
mkdir ~/src
cd ~/src
Run Code Online (Sandbox Code Playgroud)
现在克隆 libav git repo(您需要为此安装 git):
git clone git://git.libav.org/libav.git
Run Code Online (Sandbox Code Playgroud)
这将为您提供最新最好的 libav 源代码,我发现最前沿的代码足以满足我的需求,并且在构建过程中没有遇到任何与代码相关的错误。
让 repo 克隆,然后通过包管理器安装 libfdk-aac:
apt-get install libfdk-aac-dev
Run Code Online (Sandbox Code Playgroud)
为了让事情变得简单,让我们安装 libx264 库供 avconv 使用:
apt-get install libx264-dev
Run Code Online (Sandbox Code Playgroud)
为稍后将要构建的二进制文件和其他文件创建一个 home(这也将使卸载变得容易):
mkdir ~/apps
Run Code Online (Sandbox Code Playgroud)
安装后,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
Run Code Online (Sandbox Code Playgroud)
此命令将为您提供所有 libav 默认编码和解码库以及 libx264 和 libfdk_aac 注意:如果您想要更多编码功能,请尝试 ./configure --help 以查看您可以启用的所有外部库。
现在剩下要做的就是构建这个东西!在一台像样的机器上,这应该只需要几分钟。
make && make install
Run Code Online (Sandbox Code Playgroud)
如果您将 ~/apps/bin 添加到 $PATH 中,您现在应该可以运行 'avconv'。
要更新您的自定义 libav 构建,只需运行:
git pull origin
Run Code Online (Sandbox Code Playgroud)
在 ~/src/libav/ 中拉取最新的代码。然后使用上面的命令重新配置,make 和 make install。
如果您想摆脱自定义构建并重新安装 ubuntu 的默认 libav-tools 软件包,请运行:
rm -rf ~/apps/
apt-get install libav-tools
Run Code Online (Sandbox Code Playgroud)
并从 $PATH 中删除 ~/apps/bin
抱歉,如果您想要完成的任务看起来令人生畏,但使用定制的、前沿版本的 avconv 使我感到自豪:) 我认为额外的工作是值得的。希望这可以帮助 :)
验证它是否正确安装:
avconv -codecs | grep aac
Run Code Online (Sandbox Code Playgroud)
你想看:
AAC (Advanced Audio Coding) (decoders: aac libfdk_aac ) (encoders: aac libfdk_aac )
Run Code Online (Sandbox Code Playgroud)
avconv -f alsa -i default -c:a libfdk_aac -b:a 256k filename.aac
Run Code Online (Sandbox Code Playgroud)
请注意,现在不再需要也不推荐使用臭名昭著的实验标志。
你想看:
Metadata:
encoder : Lavc58.12.1 libfdk_aac
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38468 次 |
最近记录: |