一、踩坑
先查看操作系统的Glibc的版本,如果低于2.29,那么只能安装ffmpeg5.12-1.5.8的版本。
如果你是springBoot的项目,包括javacv,javacpp,opencv,如果用到这几个依赖,全部都要统一版本,否则会报一些稀奇古怪的问题
这是我得pom文件参考
XML
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacv</artifactId>
<version>1.5.8</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>javacpp</artifactId>
<version>1.5.8</version>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>ffmpeg</artifactId>
<version>5.1.2-1.5.8</version>
<classifier>linux-x86_64</classifier>
</dependency>
<dependency>
<groupId>org.bytedeco</groupId>
<artifactId>opencv</artifactId>
<version>4.6.0-1.5.8</version>
<classifier>linux-x86_64</classifier>
</dependency>
二、下载ffmpeg离线包
1、进入之后点击More releases选择自己的版本,如图:

2、不同的版本的库文件不一样,根据自己的需求选择

三、下载tar.xz包
安装ffmpeg
1、将下载好的包放到一个目录下解压,然后进去到相应目录
bash
tar -xf ffmpeg-*.tar.xz
cd ffmpeg-*
2、执行可执行文件
bash
./configure \
--prefix=/usr/local/ffmpeg \
--enable-shared \
--disable-static
3、编译和安装
bash
make -j$(nproc)
sudo make install
4、配置环境变量
bash
echo '/usr/local/ffmpeg/lib' | sudo tee /etc/ld.so.conf.d/ffmpeg.conf
sudo ldconfig
5、验证版本
bash
/usr/local/ffmpeg/bin/ffmpeg -version
四、注意
注意:统信UOS默认安装的ffmpeg版本是4.x的,根据自己的需求选择是否需要。如果安装不同的版本可能会出现版本冲突的情况,如果不想卸载尽量改个名字,把环境变量清理了
1、避免冲突,可以先刷新动态库缓存
bash
ldconfig
bash
ldconfig -p | grep avutil
2、应该只能看到
bash
libavutil.so.56 => /lib64/libavutil.so.56
3、确保没有环境变量干扰
bash
echo $LD_LIBRARY_PATH
4、清空javacpp缓存
bash
rm -rf /root/.javacpp