0
点赞
收藏
分享

微信扫一扫

【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版本,正常安装
【FFMPEG】静态编译安装FFMPEG,同时支持X264与X265_依赖库后来经过验证这个警告没有影响,至于安装好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安装好之后的安装目录内容如下
【FFMPEG】静态编译安装FFMPEG,同时支持X264与X265_环境变量_02

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​​​ 解压好之后进入解压目录,解压过程中可能遇到的问题及解决方法
【FFMPEG】静态编译安装FFMPEG,同时支持X264与X265_FFMPEG_03
然后​​./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安装目录如下
【FFMPEG】静态编译安装FFMPEG,同时支持X264与X265_音视频_04

3安装FFMPEG

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

(2)安装步骤


tar -jxvf ffmpeg-x.x.tar.bz2


cd ffmpeg-x.x
libx264libx265

./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

此步设置软连接,可以更改为设置环境变量,方法如下

可以在ffmpeg的安装bin目录下,输入​​ldd ffmpeg​​​看ffmpeg需要哪些动态库,在没有设置环境变量之前,部分lib库显示为not found
【FFMPEG】静态编译安装FFMPEG,同时支持X264与X265_依赖库_05
设置环境变量步骤如下
(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

【FFMPEG】静态编译安装FFMPEG,同时支持X264与X265_FFMPEG_06
(2)更新环境变量:​​​sudo ldconfig​​​ (3)加入全局环境变量路径:​​sudo vi /etc/profile​​ (4)在文件中加入以下内容:
路径根据自己的安装路径调整

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

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

大功告成

【FFMPEG】静态编译安装FFMPEG,同时支持X264与X265_依赖库_07




举报

相关推荐

0 条评论