最初我用的是软件包直接安装,因为比较简单,可以满足视频编码的需求。但是后来在对音频进行编码的时候,需要使用libfdk_aac这个音频编码库,发现直接安装有诸多不便,这种方法就行不通了。为了满足需求,最终采用了源码安装,而遍寻网上的答案发现很零散杂乱不全面,也就诞生了这篇使用Linux命令安装FFmpeg全过程!
当前网络中常见的视频编码格式要数H264最为火热,支持h264的封装格式有很多,如FLV,MP4,HLS(M3U8),MKV,ts等格式,FFmpeg本身并不支持H264的编码器,而是由FFmpeg的第三方模块对其进行支持,例如x264 和OpenH264,二者各有优势,由于OpenH264开源比较晚,所以x264还是当前最常见的编码器。
目前FFmpeg已经能够支持H265编码,我们可以通过configure添加 –enable-gpl –enable-libx265来配置。这就需要我们的系统环境中已经安装了libx265,且其版本≥68。
常见的音频编码格式要数mp3最为广泛,为防格式不支持连libmp3lame也安装好最为稳妥,而mp4格式视频下音频编码格式却要数aac最为普遍,所以最好连libfdk-aac 也一同安装,那就可以确保万无一失。
一、安装依赖
1.安装yasm 依赖
#ffmpeg编译中为了提高编译速度,使用了汇编指令,于是需要使用这个工具。
$ yum -y install yasm
2.安装nasm 依赖
$ wget https://www.nasm.us/pub/nasm/releasebuilds/2.14/nasm-2.14.tar.gz
#解压tar.gz命令:
$ tar –zxvf nasm-2.14.tar.gz
#进入目录
$ cd nasm-2.14
$ ./configure
#第一次安装执行如下命令:
$ make & sudo make install
#如果安装过执行如下命令:
$ sudo make clean & make & sudo make install
二、安装FFmpeg依赖库
1. 安装libx264
#下载libx264 源码
$ wget http://download.videolan.org/x264/snapshots/x264-snapshot-20191217-2245-stable.tar.bz2
#解压tar.bz2命令:
$ tar –xjf x264-snapshot-20191217-2245-stable.tar.bz2
#进入目录
$ cd x264-snapshot-20191217-2245-stable
#./configure –help可以查看帮助信息,一般关注shared和static关键词就可以
$ ./configure --enable-shared --enable-static
#第一次安装执行如下命令:
$ make & sudo make install
#如果安装过执行如下命令:
$ sudo make clean & make & sudo make install
2. 安装libx265
#下载libx265 源码
$ wget http://download.videolan.org/videolan/x265/x265_3.2.1.tar.gz
#解压tar.gz命令:
$ tar -zxvf x265_3.2.1.tar.gz
#libx265 是用cmake 编译的,故先安装cmake
$ yum install cmake –y
#进入目录
$ cd x265_3.2.1/build/linux
#设置编译配置
$ cmake -G "Unix Makefiles" ../../source
#第一次安装执行如下命令:
$ sudo make & sudo make install
#如果安装过执行如下命令:
$ sudo make clean & make & sudo make install
3. 安装libmp3lame
#下载libmp3lame 源码
$ wget https://jaist.dl.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
#解压tar.gz命令:
$ tar –zxvf lame-3.100.tar.gz
#进入目录
$ cd lame-3.100
#./configure --help看看哪些功能是我们需要打开关闭的 ,可以使用默认配置,直接执行:
$ ./configure --enable-shared
#第一次安装执行如下命令:
$ make & sudo make install
#如果安装过执行如下命令:
$ sudo make clean & make & sudo make install
4.安装libfdk-aac
ffmpeg编译的时候报错:Unknown option “–enable-libfaac”
官方给了说明:3.2之后的版本不再支持libfaac了,换成fdk-aac了
$ wget https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.2.tar.gz
$ tar zxvf fdk-aac-2.0.2.tar.gz
$ cd fdk-aac-2.0.2
$ ./configure --disable-static
#第一次安装执行如下命令:
$ make & sudo make install
#如果安装过执行如下命令:
$ sudo make clean & make & sudo make install
5. 安装FFmpeg 主应用
$ wget http://ffmpeg.org/releases/ffmpeg-4.4.1.tar.bz2
$ tar -xjf ffmpeg-4.4.1.tar.bz2
$ cd ffmpeg-4.4.1
#提示:--enable-(依赖扩展名)自己需要哪些依赖则加哪些依赖 以下是个例子
$ ./configure --prefix=/usr/ffmpeg --enable-openssl --disable-static --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-pic --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libmp3lame --enable-postproc --enable-ffplay --enable-asm --enable-yasm --enable-libfreetype
#第一次安装执行如下命令:
$ make & sudo make install
#如果安装过执行如下命令:
$ sudo make clean & make & sudo make install
#如果执行ffmpeg -version ,可能会看到类似于“libxxx.so找不到”的错误提示,解决办法如下:
$ sudo vi /etc/ld.so.conf
#在尾部新增一行/usr/local/lib 执行如下命令:
$ ldconfig
#再次执行ffmpeg -version,就会看到正确的结果
总结的很全面,膜拜大神!