文章目录
前言
最近在实验室公用的服务器上配置环境的时候需要 ffmpeg 这个库,但是没有办法使用 sudo,同时也没有办法直接使用 pip 进行下载。为此记录一下从源代码编译的方法。
1. Linux 下安装 yasm
1.1. 检查服务器上是否已经安装了 yasm
安装之前可以执行如下指令判断 ffmpeg 的依赖库 yasm 是否安装好:
yasm --version
如果出现如下输出证明已经有对应的库
否则在安装 ffmpeg 的时候会出现需要更新 yasm 库的提示
1.2. 非 root 情况下安装 yasm
从官网上下载:
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
解压安装包:
tar -zxvf yasm-1.3.0.tar.gz
运行配置文件,这里我将安装的内容换在了自己的路径下(类似 /home/user/***/yasm
),你也可以使用默认的路径安装,但不推荐:
mkdir yasm cd yasm-1.3.0/ ./configure --enable-shared --prefix=/你的安装路径/yasm
你也可以找到 yasm-1.3.0/Makefile 中 860 行,将 prefix 改为自己的地址(如果不做这步操作,在接下来的编译过程中大概率报错)
编译:
make make install
现在,yasm 将被安装到刚刚创建的路径 yasm 中,这个时候进入 yasm 这个路径中会发现包含如下 4 个文件夹:
这个时候复制 bin 的路径(类似 /home/user/***/yasm/bin
),使用 vim 打开 .bashrc:
vim ~/.bashrc
在文件末尾添加:
# yasm export PATH="/home/user/***/yasm/bin:$PATH" # yasm end
之后运行:
source ~/.bashrc
这个时候 yasm 应该已经安装好了,再次运行:
yasm --version
如果出现下图,则说明已经安装好了:
2. Linux 下安装 ffmpeg
从官网上下载:
wget https://johnvansickle.com/ffmpeg/release-source/ffmpeg-4.1.tar.xz
解压安装包:
tar -zxvf ffmpeg-4.1.tar.gz
运行配置文件,这里我将安装的内容换在了自己的路径下(类似 /home/user/***/ffmpeg
),你也可以使用默认的路径安装,但不推荐:
mkdir ffmpeg cd ffmpeg-4.1/ ./configure --enable-shared --prefix=/你的安装路径/ffmpeg
如果不做这步操作,在接下来的编译过程中大概率报错
编译:
make make install
现在,ffmpeg 将被安装到刚刚创建的路径 ffmpeg 中,这个时候进入 ffmpeg 这个路径中会发现包含如下 4 个文件夹:
因为 lib 未加载到系统库,输入如下指令进行链接:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/***/ffmpeg/lib
通过如下指令检查是否成功:
echo $LD_LIBRARY_PATH
接着复制 bin 的路径(类似 /home/user/***/ffmpeg/bin
),使用 vim 打开 .bashrc:
vim ~/.bashrc
在文件末尾添加:
# ffmpeg export PATH="/home/user/***/ffmpeg/bin:$PATH" export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/***/ffmpeg/lib # ffmpeg end
之后运行:
source ~/.bashrc
这个时候 ffmpeg 应该已经安装好了,运行:
ffmpeg --version
提示安装成功!