Linux系统安装ffmpeg & 升级ffmpeg

一、介绍

多媒体视频处理工具FFmpeg有非常强大的功能,包括视频采集功能、视频格式转换、视频抓图、给视频加水印等。由于最近要处理音视频格式转换问题,因此需要安装、升级ffmpeg,下面来记录一下踩坑过程。

二、安装 ffmpeg

1、下载并解压ffmpeg

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

2、指定安装路径(/usr/local/ffmpeg)

复制代码
cd ffmpeg-3.1
./configure --prefix=/usr/local/ffmpeg

指定安装路径报yasm/nasm not found or too old. Use --disable-yasm for a crippledbuild错误

复制代码
安装ffmpeg过程中,执行./configure时,报yasm/nasm not found or too old. Use --disable-yasm for a crippledbuild错误,分析、解决如下:

分析:yasm是汇编编译器,ffmpeg为了提高效率使用了汇编指令,如MMX和SSE等。所以系统中未安装yasm时,就会报上面错误。

解决:安装yasm编译器。安装方法如下:

在http://www.tortall.net/projects/yasm/releases下面找到适合自己平台的yasm版本。然后进行安装。举例如下:

1)下载:wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz

2)解压:tar zxvf yasm-1.3.0.tar.gz

3)切换路径: cd yasm-1.3.0

4)执行配置: ./configure

5)编译:make

6)安装:make install

3、安装

复制代码
make
make install

4、配置变量

首先打开配置文件:

复制代码
vi /etc/profile

在文件最后添加环境变量PATH:

复制代码
export PATH=$PATH:/usr/local/ffmpeg/bin

保存并退出vim

5、设置生效

复制代码
source /etc/profile 设置生效

6、检查版本

复制代码
ffmpeg -version 

三、升级ffmpeg

当安装的ffmpeg版本过低时,需要对其进行升级,步骤如下:

1、下载并解压高版本的ffmpeg

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

2、指定安装路径(/usr/local/ffmpeg)

复制代码
cd ffmpeg-3.4.9
./configure --enable-shared --prefix=/usr/local/ffmpeg

3、安装

复制代码
make
make install

4、动态链接库

使用vi打开配置文件

复制代码
vi /etc/ld.so.conf

添加以下内容:

复制代码
/usr/local/ffmpeg/lib

保存并退出vim,然后执行:

复制代码
ldconfig

5、为 ffmpeg 加入环境变量

首先打开配置文件:

复制代码
vi /etc/profile

在文件最后添加环境变量PATH:

复制代码
export PATH=$PATH:/usr/local/ffmpeg/bin

保存并退出vim

注;如果已经有了export PATH=$PATH:/usr/local/ffmpeg/bin,就不需要重复添加了。

6、使修改立即生效

复制代码
source /etc/profile

7、检查版本

复制代码
ffmpeg -version
相关推荐
Tipriest_几秒前
Linux 桌面(Desktop)图标的生成原理/执行流程/自己编写桌面图标的方法
linux·运维·服务器
G_H_S_3_几秒前
【网络运维】KVM基础使用
linux·运维·网络·kvm
Lynnxiaowen7 分钟前
今天我们利用Jenkins插件调用ansible
linux·运维·ansible·jenkins
_OP_CHEN9 分钟前
【Linux系统编程】(十七)揭秘 Linux 进程创建与终止:从 fork 到 exit 的底层逻辑全解析
linux·运维·服务器·操作系统·shell·进程·进程创建与终止
草莓熊Lotso12 分钟前
Makefile 完全指南:从入门到工程化,自动化构建不再难
linux·运维·服务器·人工智能·经验分享·后端·自动化
代码游侠12 分钟前
学习笔记——网络基础
linux·c语言·网络·笔记·学习·算法
ElfBoard1 小时前
ElfBoard技术贴|如何在【RK3588】ELF 2开发板实现GPIO功能复用
linux·人工智能·单片机·嵌入式硬件·物联网·机器人
wanhengidc9 小时前
云手机的适配性怎么样?
运维·服务器·安全·智能手机·云计算
jimy19 小时前
安卓里运行Linux
linux·运维·服务器
哟哟耶耶10 小时前
js-fetch流式实现中断重连
运维·服务器