1.安装相关依赖
首可选一:
sudo apt-get update
sudo apt-get install build-essential autoconf automake libtool pkg-config \
libavcodec-dev libavformat-dev libavutil-dev \
libswscale-dev libresample-dev libavdevice-dev \
libopus-dev libvpx-dev libx264-dev libx265-dev \
yasm wget vim
可选二:
sudo apt-get update
sudo apt-get install -y \
autoconf \
automake \
build-essential \
cmake \
git-core \
libass-dev \
libfreetype6-dev \
libsdl2-dev \
libtool \
libva-dev \
libvdpau-dev \
libvorbis-dev \
libxcb1-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
pkg-config \
texinfo \
wget \
zlib1g-dev
2. 编译安装FFmpeg
创建 ffmpeg 安装包文件路径 :
cd ~
mkdir ffmpeg
cd ffmpeg
下载安装包:
wget https://ffmpeg.org/releases/ffmpeg-5.0.2.tar.bz2
解压并打开:
tar xjvf ffmpeg-5.0.2.tar.bz2
cd ffmpeg-5.0.2
配置并安装:
./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static \
--enable-gpl --enable-libx264 --enable-libx265 --enable-libopus --enable-libvpx
.configure 成功则显示:
make -j2 && sudo make install
make 则显示:注make -j 后面根据自己系统选择 -j (number) ,l来提高编译速度!
如果 ffmpeg 命令后可能出现 下面情况,说明需要配置环境变量!
3. 配置环境变量
1、修改环境变量
将ffmpeg的绝对路径添加到PATH环境变量中,以让系统能找到ffmpeg的安装路径
vim ~/.bashrc # 打开系统环境变量配置文件
在文件中添以下内容:
export PATH="/usr/local/ffmpeg/bin:${PATH}"
export LD_LIBRARY_PATH="/usr/local/ffmpeg/lib:{LD_LIBRARY_PATH}"
接着需要让配置的环境应用
source ~/.bashrc
然后终端命令输入命令 ffmpeg:可以看见安装的FFmpeg 版本信息,则显示成功!
在/usr/local/ffmpeg路径下可以看见成功安装后FFmpeg的 库
4.额外补充问题点
注意:如果有如下情况,对应查找进行配置!(额外补充的解决方法!)
安装之后在/usr/local/ffmpeg/bin 下执行ffmpeg时可能会报错,这是因为找不到共享文件路径
./ffmpeg: error while loading shared libraries: libavdevice.so.59: cannot open shared object file: No such file or directory
命令行使用"ffmpeg -h"命令检测ffmpeg安装情况时,可能会出现以下内容:
error while loading shared libraries: libavdevice.so.58: can not open shared object file or directory
这是由于系统找不到ffmpeg的共享库所致。因此,可在"/etc/ld.so.conf.d/"路径下创建文件"ffmpeg.conf"文件,在该文件中写入"/usr/local/ffmpeg/lib"
这个时候修改/etc/ld.so.conf文件,添加/usr/local/ffmpeg/lib, 路径编译时prefix的路径下的lib,然后执行
vim /etc/ld.so.conf.d/ffmpeg.conf # 编辑文件,添加内容"/usr/local/ffmpeg/lib"后保存退出
cat /etc/ld.so.conf.d/ffmpeg.conf # 查看ffmpeg.conf中的内容
sudo ldconfig # 执行ldconfig命令,使/etc/ld.so.conf.d/目录下新加入的配置信息生效