Linux下编译和安装ffmpeg

本文演示Centos下面如何编译和安装ffmpeg的过程,

一、ffmpeg的编译和安装

1、下载解压

shell 复制代码
wget http://www.ffmpeg.org/releases/ffmpeg-5.1.tar.gz
tar -zxvf ffmpeg-5.1.tar.gz

2、进入压缩目录,编译编译和安装

shell 复制代码
cd ffmpeg-5.1

./configure --prefix=/usr/local/ffmpeg --enable-debug=3 --enable-shared --disable-static

make && make install

3、配置环境变量

shell 复制代码
vi /etc/profile
# 在最后PATH添加环境变量:
export PATH=$PATH:/usr/local/ffmpeg/bin
# 保存退出
# 查看是否生效
source /ect/profile  设置生效

4、查看版本

shell 复制代码
ffmpeg -version

二、错误处理

1、若安装过程中出现以下错误:

复制代码
yasm/nasm not found or too old. Use --disable-yasm for a crippled build.

If you think configure made a mistake, make sure you are using the latest
version from Git. If the latest version fails, report the problem to the
ffmpeg-user@ffmpeg.org mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solve the problem.

需要安装yasm

shell 复制代码
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar -zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix=/usr/local/yasm  
make && make install
#要降目录加到PATH中,否则还是会报错
export PATH="$PATH:/usr/local/yasm/bin"

2、如果出现如下错误

复制代码
 error while loading shared libraries: libavdevice.so.59: cannot open shared object file: No such file or directory

解决办法:将安装的lib加入到/ect/ld.so.conf中,

  • 1、vim vi /etc/ld.so.conf
  • 2、加入配置/usr/local/ffmpeg/lib,具体看自己的安装目录
  • 3、刷新配置ldconfig

3、若出现以下错误:

复制代码
ffmpeg: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory

原因是没有 libiconv.so.2,需要安装

shell 复制代码
#下载libiconv
wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz
tar -zxvf libiconv-1.16.tar.gz
cd libiconv-1.16
 
#编译安装
./configure --prefix=/usr/local
make
make_install
ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
ldconfig

三、最终结果

相关推荐
赖small强15 分钟前
【Linux C/C++开发】 GCC -g 调试参数深度解析与最佳实践
linux·c语言·c++·gdb·-g
white-persist26 分钟前
VSCode 快捷键大全:从设计理念到场景化高效运用(详细解析)(文章末尾有vim快捷键大全)
linux·ide·vscode·python·编辑器·系统安全·vim
杭州泽沃电子科技有限公司42 分钟前
煤化工精炼与加工环节的监测:智能平台如何保障最终产品价值与环保合规?
运维·科技
可可苏饼干1 小时前
Ruo-Yi 前后端分离
运维·学习
SUPER52661 小时前
运维hbase服务重启,导致应用查询异常 hbase:meta
运维·数据库·hbase
_w_z_j_1 小时前
Linux----信号(产生、保存、处理)
linux·运维·服务器
专家大圣1 小时前
远程调式不复杂!内网服务器调试用对工具很简单
运维·服务器·网络·内网穿透·cpolar
集大周杰伦1 小时前
RV1126开发板烧录与SSH登录实践
linux·ssh·嵌入式·rv1126·瑞芯微开发工具·ssh 远程登录
gs801402 小时前
Ascend 服务器是什么?(Ascend Server / 昇腾服务器)
运维·服务器·人工智能
Xの哲學2 小时前
Linux RTC深度剖析:从硬件原理到驱动实践
linux·服务器·算法·架构·边缘计算