统信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
相关推荐
qq_589666057 小时前
TypeScript 完整入门教程
前端·javascript·typescript
星栈独行9 小时前
翻完 Pi 源码:它和 Codex、Claude Code 有何不同
开发语言·javascript·人工智能·程序人生
qq_448011169 小时前
C语言中的变量和函数的定义与声明
android·c语言·开发语言
落落Plus10 小时前
浏览器缓存机制详解
javascript·缓存·浏览器缓存
孫治AllenSun10 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
c2385611 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
浅水壁虎12 小时前
vue基础(第二章 )
前端·javascript·vue.js
界面开发小八哥12 小时前
界面控件DevExtreme v26.1新版亮点——支持Angular 22
前端·javascript·angular.js·devexpress·ui开发·devextreme
moonsims12 小时前
星闪在跨域无人化系统作用
开发语言·php
Iruoyaoxh13 小时前
栈和队列~
java·开发语言