Centos7 安装ffmpeg环境

  • Post author:
  • Post category:其他


本文Linux环境为CentOS 7.6.1810,参考以下文档进行配置,感谢大佬们的分享:


centos 在CentOS下编译FFmpeg_weixin_30371875的博客-CSDN博客


FFmpeg4入门01:编译 – 食铁兽


1.安装nasm 2.13.03 版本:

下载链接:

https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/

在上述链接下载nasm-2.13.03.tar.gz 安装包,放到Linux 对应目录下并进行解压,解压完成后进入目录:cd nasm-2.13.03/

在目录下执行命令:mkdir /usr/local/codec 和 ./configure –prefix=/usr/local/codec

执行完成后再执行编译命令:make && make install

编译完成后Linux下无法找到nasm命令,需要添加环境变量,在/etc/profile 文件中添加如下两行:

PATH=$PATH:/usr/local/codec/bin
export PATH

添加完成后执行命令:source /etc/profile,然后通过nasm -version 可以查看到当前环境安装的nasm版本:

2.安装fdk-aac:

原始仓库地址:

http://github.com/mstorsjo/fdk-aac/

加速镜像地址:

https://gitee.com/mirrors/fdk-aac

通过git clone 命令下载源码到对应目录下,下载完成后进入目录:cd fdk-aac/

在目录下执行命令:./autogen.sh 会生成configure 脚本

(

注意

① 因为我无法从sourceforge下载包含configure 脚本的tar包所以才从git下载源码进行编译,sourceforge下载地址如下:


http://www.linuxfromscratch.org/blfs/view/svn/multimedia/fdk-aac.htmle

② 从git下载的源码生成configure 脚本需要Linux上安装

autoreconf

命令,可使用命令:yum install autoconfig automake libtool 进行安装)

在当前目录下执行命令:./configure –prefix=/usr/local/codec 和 make && make install,安装完成

3.安装x264

原始仓库地址:

https://github.com/mirror/x264

加速镜像地址:

https://gitee.com/catface7/tanersener-x264?_from=gitee_search

(不能保证同步时间)

通过git clone 命令下载源码到对应目录下,下载完成后进入目录:cd x264/,执行命令:./configure -h 可以查看配置项及对应的配置方式,External library support 下的配置项表示是否要链接外部库

在当前目录下执行命令:./configure –prefix=/usr/local/codec –enable-static –enable-shared,表示同时编译静态库和动态库(其它的配置项我暂时没仔细研究),没有对应的运行环境会展示为no,配置项自动设置,不影响编译

执行完成后再执行编译命令:make && make install,安装完成

4.编译安装ffmpeg

原始仓库地址:​​​​​​​

https://github.com/FFmpeg/FFmpeg

加速镜像地址:

https://gitee.com/mirrors/ffmpeg

通过git clone 命令下载源码到对应目录下,下载完成后进入目录:cd FFmpeg/,执行命令:./configure -h 可以查看配置项及对应的配置方式,可以根据自己实际需要进行配置

我根据需要执行的如下命令(测试环境暂无GPU),其中extra-cflags、extra-ldflags 需要指定为前面几个步骤所安装的include和lib目录,所以

前几个包指定的安装目录请一致

./configure \
--prefix=/usr/local/codec/ \
--extra-cflags=-I/usr/local/codec/include \
--extra-ldflags=-L/usr/local/codec/lib \
--bindir=/usr/local/codec/bin \
--extra-libs="-ldl" \
--enable-nonfree \
--enable-gpl \
--enable-libfdk_aac \
--enable-libx264 \
--enable-shared \
--disable-static \
--disable-stripping

执行完成后再执行编译命令:make && make install

编译安装完成后,如果查看版本号出现如下错误,是由于没有配置环境变量:

[root@localhost ffmpeg]# ffmpeg -version
ffmpeg: error while loading shared libraries: libavdevice.so.59: cannot open shared object file: No such file or directory
[root@localhost ffmpeg]# find / -name libavdevice.so.59
find: ‘/proc/10916’: No such file or directory
find: ‘/run/user/1000/gvfs’: Permission denied
/usr/local/codec/lib/libavdevice.so.59

在/etc/profile 文件中添加如下两行:

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/codec/lib
export LD_LIBRARY_PATH

添加完成后执行命令:source /etc/profile,然后通过ffmpeg -version 可以查看到当前环境安装的ffmpeg 版本:

至此,就可以在Centos7 下用ffmpeg的命令行对音视频进行一些基本操作了。



版权声明:本文为xiaosier_D原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。