统信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
相关推荐
2301_763472587 小时前
实时系统下的C++编程
开发语言·c++·算法
阿猿收手吧!7 小时前
【C++】深入理解C++ Atomic内存序:解决什么问题?怎么用?
开发语言·c++
小白学大数据7 小时前
Python爬虫实现无限滚动页面的自动点击与内容抓取
开发语言·爬虫·python·pandas
Andy Dennis7 小时前
一文漫谈设计模式之创建型模式(一)
java·开发语言·设计模式
兩尛7 小时前
c++遍历容器(vector、list、set、map
开发语言·c++
£漫步 云端彡7 小时前
Golang学习历程【第十三篇 并发入门:goroutine + channel 基础】
开发语言·学习·golang
2301_790300967 小时前
C++与Docker集成开发
开发语言·c++·算法
huangyiyi666667 小时前
Vue + TS 项目文件结构
前端·javascript·vue.js
Demon_Hao7 小时前
JAVA缓存的使用RedisCache、LocalCache、复合缓存
java·开发语言·缓存
踏雪羽翼7 小时前
android 解决混淆导致AGPBI: {“kind“:“error“,“text“:“Type a.a is defined multiple times
android·java·开发语言·混淆·混淆打包出现a.a