Ubuntu/Debian编译FFmpeg

Ubuntu 14.04默认仓库中并不包含FFmpeg,它默认带了Libav库。Ubuntu 16.04默认仓库中包含FFmpeg。为了自定义功能,下面我们从源码编译FFmpeg。测试系统:Ubuntu/Debian/Linux Mint。

安装依赖包

升级软件包列表:

安装依赖:

如果你使用服务器系统,可以忽略如下包(图形相关的包):

创建一个目录存放FFmpeg源代码:

创建一个目录存放编译后的文件和库:

创建一个目录存放编译后的可执行文件:

编译

你可以根据实际需要编译ffmpeg。如果你不需要某种解码器,你可以跳过相关库的编译,并移除对应的FFmpeg编译时./configure指定的选项。例如,如果你不需要libopus库,跳过libopus的安装,在编译配置时移除–enable-libopus。

Yasm

用来编译x86架构,x264和FFmpeg的汇编代码,安装它可以使用高效的汇编代码。建议安装它,以提高FFmpeg的执行效率。

使用apt-get安装Yasm(版本要求>=1.2.0):

如果默认仓库中版本太低,可以自己从源码编译Yasm:

libx264

H.264视频编码器。如果要使用它,需要在ffmpeg配置时指定 --enable-gpl--enable-libx264

使用apt-get安装libx264-dev(版本要求>=0.118):

如果默认仓库中版本太低,可以自己从源码编译libx264:

libx265

H.265/HEVC视频编码器。

libfdk-aac

aac声音编码器,配置ffmpeg时加入–enable-libfdk-aac(如果你启用了–enable-gpl,加入–enable-nonfree)。

libmp3lame

MP3编码器。ffmpeg配置–enable-libmp3lame。

使用apt-get命令安装(需要版本>=3.98.3):

如果默认仓库中版本太低,可以自己从源码编译libmp3lame:

libopus

Opus声音编解码器。ffmpeg配置–enable-libopus。

使用apt-get命令安装(需要版本>= 1.1):

如果默认仓库中版本太低,可以自己从源码编译libopus:

libvpx

VP8/VP9视频编解码器。ffmpeg配置–enable-libvpx。

最后就可以编译ffmpeg了。

ffmpeg

FFmpeg的库文件安装在了~/ffmpeg_build,可执行文件安装在了~/bin。

为了使man ffmpeg工作,执行如下命令:

FFmpeg在线文档地址:https://ffmpeg.org/documentation.html

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注