【FFMPEG】静态编译安装FFMPEG,同时支持X264与X265

1 安装X264

本文使用Linux发行版为CentOS release 7.x,其安装步骤如下。

(1)下载X264最新版
https://www.videolan.org/developers/x264.html

(2)在安装X264之前,需要先安装x264依赖库
nasm ,配置nasm主要是利用汇编指令进行加速
nasm下载地址
http://www.nasm.us/pub/nasm/releasebuilds/2.14.02/

我这里将下载目录定义在/home目录下,先将下载的nasm压缩包进行解压,解压命令为tar jxvf FileName.tar.bz2 或者解压命令tar xvJf ***.tar.xz 解压好后切换到cd /home/nasm-2.14.02
然后输入以下命令安装

./configure --prefix=/usr/local/nasm
make
sudo make install     #本身是root用户不加sudo

nasm安装方法2,利用yum安装 yum install build-essential nasm ,可能导致安装版本为nasm2.10 不是最新版,x264要求至少2.13版本
PS:GCC版本为4.8.5版本,因为支持C99标准会导致汇编失败,而GCC版本为4.8.2版本,正常安装
在这里插入图片描述后来经过验证这个警告没有影响,至于安装好nasm,在安装x264提示nasm没有安装是没有建立软链接,因为在安装nasm没有指定目录,所以nasm入口和解压目录一致,如果指定了目录,如./configure --prefix=/usr/local/nasm,则用该路径建立软链接

ln -s /home/download/nasm-2.14.03rc2/nasm /usr/bin/nasm
#如果用了./configure --prefix,以下路径也行
ln -s /usr/local/nasm /usr/bin/nasm

(3)安装好x264的依赖库之后,现在开始安装x264

tar -jxvf last_x264.tar.bz2       #解压

cd x264-snapshot-20161101-2245     #切换到解压目录里,安装目录和解压目录在一个地方

./configure --enable-shared 

make 

make install

默认生成的x264 lib库在就在解压(安装)目录下。因为没用–prefix
./configure --prefix=/usr/local/lib
用了之后默认生成的库在/usr/local/lib目录下

x264安装好之后的安装目录内容如下
在这里插入图片描述

2安装X265

(1)先安装X265的依赖库cmake
cmake这里是用yum install cmake直接安装的

(2)另一个依赖库是yasm(是FFMPEG的依赖库),可以直接下载压缩包编译安装,下载地址
http://www.linuxfromscratch.org/blfs/view/svn/general/yasm.html
下载的压缩包为yasm-1.3.0,解压命令tar -zxf XXX.tar.gz
解压好之后进入解压目录,解压过程中可能遇到的问题及解决方法
在这里插入图片描述
然后./configure make make install(此为3个命令)
(3)x265下载链接,选择最新版本下载

http://ftp.videolan.org/pub/videolan/x265/

(4)安装x265命令

$ cd x265/build/linux  #切换到解压好的目录里面    
$ ./make-Makefiles.bash
$ make && make install

安装好的x265安装目录如下
在这里插入图片描述

3安装FFMPEG

(1)从官网下载ffmpeg下载压缩包,一定要下最新版,低版本会导致FFMPEG命令正确,但无法解码xx.h265的视频序列,下载链接如下
http://ffmpeg.org/download.html

(2)安装步骤

解压安装包
tar -jxvf ffmpeg-x.x.tar.bz2

进入目录
cd ffmpeg-x.x
编译(注意加上libx264与libx265)

./configure --prefix=/usr/local/ffmpeg/ --enable-shared --enable-yasm --enable-libx264 --enable-libx265 --enable-gpl --enable-pthreads --extra-cflags=-I/usr/local/x264/include --extra-ldflags=-L/usr/local/x264/lib --extra-cflags=-I/usr/local/include/ --extra-ldflags=-L/usr/local/lib
#参考链接https://blog.csdn.net/season_hangzhou/article/details/24399371

编译执行报出
ERROR: x265 not found using pkg-config

  • 原因是pkg-config找不到
[root@localhost ffmpeg-3.1.1]# pkg-config --modversion x265
Package x265 was not found in the pkg-config search path.
Perhaps you should add the directory containing `x265.pc'
to the PKG_CONFIG_PATH environment variable
No package 'x265' found
  • 解决办法是改变PKG_CONFIG_PATH:
export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  • 这时再看,就ok了,再执行上面的配置语句,就不报错啦
[root@localhost ffmpeg-3.1.1]# pkg-config --modversion x265 
1.9

解决好之后,利用make && make install,FFMPEG安装完成

(3)最后解决环境变量和软连接的问题,先建立软连接
,即FFMPEG的安装目录下的bin中有类似windows下exe的可执行文件,需要到特定目录建立快捷方法,这样随便在哪个目录输入ffmpeg都能执行命令,ffmpeg的安装目录是在/usr/local/bin中,所以建立软链接命令
ln -s /usr/local/ffmpeg_3/bin/ffmpeg /usr/bin
这里的路径可能有差异,需要自己查看

然后此时在任意目录,输入ffmpeg,会报如下错误,原因是ffmpeg的共享lib库没有识别到

ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open

此步设置软连接,可以更改为设置环境变量,方法如下
https://blog.csdn.net/sinat_36458870/article/details/99719071

可以在ffmpeg的安装bin目录下,输入ldd ffmpeg看ffmpeg需要哪些动态库,在没有设置环境变量之前,部分lib库显示为not found
在这里插入图片描述
设置环境变量步骤如下
(1)

vi /etc/ld.so.conf
在文件末尾添加路径
/usr/local/ffmpeg_3/lib
#usr/local/ffmpeg 目录是ffmpeg的安装目录,根据个人不同安装目录修改。
/home/x264-snapshot-20191021-2245   #h264安装目录中的lib
/home/x265_3.2/build/linux     #h265安装目录中的lib

在这里插入图片描述
(2)更新环境变量:sudo ldconfig
(3)加入全局环境变量路径:sudo vi /etc/profile
(4)在文件中加入以下内容:
路径根据自己的安装路径调整

export PATH="/usr/local/ffmpeg_3/bin:$PATH"

(5)然后保存并运行source /etc/profile
(6)其他软件安装环境配置也是类似如此!

大功告成在这里插入图片描述

参考链接

(推荐)
https://blog.csdn.net/season_hangzhou/article/details/24399371

https://www.jianshu.com/p/4fe12077ebe9
https://blog.csdn.net/u011809767/article/details/79709606
https://blog.csdn.net/weixin_43166958/article/details/89335679
https://www.cnblogs.com/CoderTian/p/6655568.html
https://blog.csdn.net/season_hangzhou/article/details/52138537
https://my.oschina.net/u/2326611/blog/757474

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug 挖掘机

支持洋子

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值