统信UOS操作系统离线安装ffmpeg

一、踩坑

先查看操作系统的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离线包

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
相关推荐
盐真卿6 分钟前
python第八部分:高级特性(二)
java·开发语言
茉莉玫瑰花茶8 分钟前
C++ 17 详细特性解析(5)
开发语言·c++·算法
Mr Xu_13 分钟前
Vue 3 中计算属性的最佳实践:提升可读性、可维护性与性能
前端·javascript
lly20240615 分钟前
《堆的 shift down》
开发语言
子兮曰29 分钟前
深入理解滑块验证码:那些你不知道的防破解机制
前端·javascript·canvas
Highcharts.js31 分钟前
【Highcharts】如何用命令行渲染导出图片?
javascript·导出·开发文档·highcharts·命令行渲染·命令行功能
黎雁·泠崖35 分钟前
【魔法森林冒险】2/14 抽象层设计:Figure/Person类(所有角色的基石)
java·开发语言
季明洵1 小时前
C语言实现单链表
c语言·开发语言·数据结构·算法·链表
墨雪不会编程1 小时前
C++之【深入理解Vector】三部曲最终章
开发语言·c++
浅念-1 小时前
C语言编译与链接全流程:从源码到可执行程序的幕后之旅
c语言·开发语言·数据结构·经验分享·笔记·学习·算法