统信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
相关推荐
凡人叶枫28 分钟前
Effective C++ 条款22:将成员变量声明为 private
linux·开发语言·c++
Qt程序员34 分钟前
掌握 Linux 内核调度:从原理到实现(进程篇)
java·开发语言
code bean39 分钟前
【LangChain】检索器完全指南:从向量检索到生产级 RAG 架构
java·开发语言·微服务
LabVIEW开发1 小时前
LabVIEW + MATLAB 混合编程:爆炸场测试数据精准采集方案
开发语言·matlab·labview
嵌入式协会20240721 小时前
(已解决)MinIO python 获取预签名出现forbidden、errornetwork等错误
java·开发语言·python
宸丶一1 小时前
Day 14:任务追踪 - 让 Agent 拥有项目管理能力
开发语言·python
小短腿的代码世界1 小时前
Qt行情协议解析与二进制编解码优化:从FIX到自定义协议的全链路架构
开发语言·qt·架构
skylar01 小时前
小白1分钟安装flash-attn
开发语言·python
默子昂2 小时前
ollama 自定义ui
开发语言·python·ui
luoyayun3613 小时前
Qt/QML + FFmpeg 实现多音频文件顺序拼接功能
qt·ffmpeg·音频拼接