如何让ffmpeg运行时从当前目录加载库,而不是从/lib64

程序在linux下运行时,一般从 /lib64 目录下加载依赖的库文件,如xxx.so.

有时候,系统里没有这些库,也不想从系统目录下加载,怎么办呢?

看下面的调整过程。

使用的源代码是 ffmpeg-6.1.tar.xz

解压后,进入到ffmpeg-6.1

bash 复制代码
./configure  --enable-libmp3lame  --enable-rpath  --prefix=/usr/local/ffmpeg

注意:这里的--enable-rpath 非常重要,只有加上这个选项,后面才能指定加载库的路径。

这里,也不需要 --libdir='$ORIGIN' 这个参数。

执行完上面的命令,会生成:ffmpeg-6.1/ffbuild/config.mak 文件,

主要就是修改这个文件了。

把 LDEXEFLAGS= -Wl,-rpath,/usr/local/ffmpeg/lib 改成:LDEXEFLAGS= -Wl,-rpath,'$$ORIGIN'

LDSOFLAGS= -Wl,-rpath,/usr/local/ffmpeg/lib 改成:LDSOFLAGS= -Wl,-rpath,'$$ORIGIN'

注意:这里ORIGIN 要加单引号,且前面是2个$符号

  • 使用 $ORIGIN : 当你设置为 $ORIGIN 时,表示你希望库路径相对于可执行文件的位置。这在部署时非常有用,因为它允许可执行文件和库文件在同一目录结构中移动,而无需修改路径。

保存,然后make 即可。

最后,生成的ffmpeg 或者ffprobe 就可以从自己当前所在的目录查找库文件了,

比如libxcb.so.1 等。

相关推荐
炼金术21 小时前
SkyPlayer v1.2.0 : AI 字幕-端侧 Whisper 实时语音识别实践
ffmpeg·openai
硫酸锌011 天前
使用ffmpeg合并文件夹内的所有*.mp4格式视频
ffmpeg·音视频
源文雨1 天前
shell调用ffmpeg递归转换所有wav至flac的脚本
ffmpeg·bash·音视频·音频·unix·shell·音频编码
西部秋虫1 天前
迷你视频会议系统(FlashMeeting)
opencv·ffmpeg·视频会议·回声抑制
浩瀚之水_csdn2 天前
av_packet_alloc详解
ffmpeg
Echo_NGC22373 天前
【FFmpeg 使用指南】Part 3:码率控制策略与质量评估体系
人工智能·ffmpeg·视频·码率
xmRao3 天前
Qt+FFmpeg 实现 PCM 音频转 AAC 编码
qt·ffmpeg·pcm
xmRao3 天前
Qt+FFmpeg 实现录音程序(pcm转wav)
qt·ffmpeg
阿里巴啦4 天前
python+yt-dlp开源项目,支持 YouTube, Bilibili, TikTok/抖音,快手 等多个平台的视频/音频/字幕下载/ai摘要等功能
python·ffmpeg·whisper·音视频·视频处理·ai摘要·音视频转录
来鸟 鸣间5 天前
linux下ffmpeg源码编译
linux·运维·ffmpeg