Ubuntu下FFmpeg应用问题
2026-06-03
1.ubuntu彻底卸载ffmpeg
1.查看ffmpeg:
sudo dpkg -l | grep ffmpeg
2.卸载
sudo find / | grep -w ffmpeg | sudo xargs rm -r -f
sudo apt-get --purge remove ffmpeg
sudo apt-get --purge autoremove
3.检查是否卸载成功
ffmpeg -version
2.Ubuntu22.04编译安装FFmpeg
1.下载
官网:https://ffmpeg.org/download.html#repositories
github仓库:https://git.ffmpeg.org/ffmpeg.git ffmpeg
2.编译安装
1.按需安装需要的依赖文件
sudo apt-get update && sudo apt-get -y install \
autoconf \
automake \
build-essential \
cmake \
git-core \
libass-dev \
libfreetype6-dev \
libgnutls28-dev \
libmp3lame-dev \
libsdl2-dev \
libtool \
libva-dev \
libvdpau-dev \
libvorbis-dev \
libxcb1-dev \
libxcb-shm0-dev \
libxcb-xfixes0-dev \
meson \
ninja-build \
pkg-config \
texinfo \
wget \
yasm \
zlib1g-dev \
libunistring-dev
2.编译配置
#仅配置路径
./configure --enable-shared --prefix=/usr/local/ffmpeg
#配置某些选项
./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-doc --enable-gpl --enable-libx264
#配置项查看
./configure --help
3.安装
sudo make
sudo make install
3.建立软链接
FFmpeg编译完成后,生成了ffmpeg、ffplay、ffprobe3个可执行程序。
ffmpeg 是用于处理视频和音频文件的命令行工具。它可以合并多个音频/视频流、剪辑、转换格式、调整大小等功能。
ffplay 是一个基于 FFmpeg 库的简单媒体播放器。它支持大多数音频和视频格式,并且可以根据需要进行实时解码和播放。
ffprobe 用于分析媒体文件及其详细信息的多媒体分析工具,旨在提供有关媒体文件内容的详细信息,包括编解码器的详细信息、容器信息等。它是通过 FFmpeg 库调用实现的。
sudo ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/bin/ffmpeg
sudo ln -s /usr/local/ffmpeg/bin/ffprobe /usr/bin/ffprobe
sudo ln -s /usr/local/ffmpeg/bin/ffplay /usr/bin/ffplay
4.工具路径添加到环境变量
方便使用工具。直接在任意路径下,都可以输入工具名称并执行指令。
#打开.bashrc文件
sudo gedit ~/.bashrc
#sudo vim ~/.bashrc
#在文件中添加
export PATH="/usr/local/ffmpeg/bin:$PATH"
#使修改生效
source ~/.bashrc
5.动态库配置到环境变量
sudo vi /etc/ld.so.conf
在其中添加路径:/usr/local/ffmpeg/lib
sudo ldconfig#更新环境变量
6.查看版本
ffmpeg -version
3.各种报错解决
1.ffmpeg: error while loading shared libraries: libavdevice.so.58
输入ffmpeg -version,报错:
ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory
1.原因:
ubuntu通过源码安装软件未进行环境变量配置,找不到启动路径
2.解决
sudo gedit /etc/ld.so.conf
#sudo vim /etc/ld.so.conf
# 加入以下路径(即自己安装FFmpeg的相关路径)
/usr/local/ffmpeg/lib/
sudo ldconfig
# 最后输入指令检查
ffmpeg
2.ffmpeg 无法找到libpostproc的问题
在编译的时候,加上的参数必须有enable-gpl否则的话,很多后期处理的函数参数就没法使用了,如ffmpeg 滤波,去除不想要的干扰,噪声,颜色等等,如下:
./configure --enable-shared --enable-postproc --enable-gpl