Linux下安装ffmpeg[亲自踩坑经验]

Linux下安装ffmpeg[亲自踩坑经验]

安装环境

下面展示一些 `内联代码片`。
$ sudo yum -y update && yum -y upgrade
$ sudo yum -y install gcc g++ make xorg-dev pkg-config libglew2.0 libglew-dev libglfw3-dev nasm yasm libx264-dev libx265-dev libvpx-dev libglu1-mesa-dev libmp3lame-dev libopus-dev libfdk-aac-dev

安装 ffmpeg

wgethttps://www.ffmpeg.org/releases/ffmpeg4.2.2.tar.gz
tar -zxvf ffmpeg-4.2.2.tar.gz

此时先不要直接执行configure配置,否则会报错。
错误的意思是 yasm/nasm 包不存在或者很旧,可以使用--disable-yasm禁用这个选项编译,yasm是一款汇编器,并且是完全重写了nasm的汇编环境,接收nasm和gas语法,支持x86和amd64指令集,所以这里安装一下yasm即可
http://yasm.tortall.net/Download.html 进入后先去下载1.3.0的源码包,上传到linux中解压安装。

tar -xvzf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure
make
make install

安装成功后继续回到ffmpeg目录进行configure配置

./configure --enable-shared --prefix=/monchickey/ffmpeg
make
make install

编译过程有点长,耐心等待完成之后执行 cd /monchickey/ffmpeg/ 进入安装目录,查看一下发现有bin,include,lib,share这4个目录,其中bin是ffmpeg主程序二进制目录,include是C/C++头文件目录,lib是编译好的库文件目录,share是文档目录,然后进入bin目录,执行 ./ffmpeg -version 查看当前版本的详细信息,默认情况下一般会报libavdevice.so.57: cannot open shared object file: No such file or directory,原因是lib目录未加载到链接到系统库中,系统ld目录列表在/etc/ld.so.conf中,打开文件会发现,里面引用了/etc/ld.so.conf.d/下面所有的.conf文件,比如mariadb-x86_64.conf我们只需要创建一个文件并写入lib路径即可,执行命令: vim /etc/ld.so.conf.d/ffmpeg.conf 然后添加一行内容: /monchickey/ffmpeg/lib 之后保存并退出,然后执行 ldconfig 使配置生效,现在再次执行 ./ffmpeg -version 显示就正常了

./ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory

如果还是同一个错误,可以看一下需要的依赖

ldd ffmpeg

我的显示如下图(其中可以看到缺失的依赖):
在这里插入图片描述
继续向下执行,找到这个缺失的依赖的位置,然后加入到环境变量中:

find /monchickey/ -name 'libavdevice.so.58'

结果如下:
在这里插入图片描述
现在就需要把这个路径加入配置文件

export LD_LIBRARY_PATH=/monchickey/ffmpeg/lib/

查看结果成功安装
在这里插入图片描述

安装ffmpeg-gl-transition

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值