最近在实验室公用的服务器上配置环境的时候需要 ffmpeg 这个库,但是没有办法使用 sudo,同时也没有办法直接使用 pip 进行下载。为此记录一下从源代码编译的方法。
安装之前可以执行如下指令判断 ffmpeg 的依赖库 yasm 是否安装好:
yasm --version 如果出现如下输出证明已经有对应的库

否则在安装 ffmpeg 的时候会出现需要更新 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 如果出现下图,则说明已经安装好了:

从官网上下载:
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 提示安装成功!