参考:【ffmpeg】安装【root&无root】 - 佰大于 - 博客园 (cnblogs.com)
https://zhuanlan.zhihu.com/p/416620143
【成功应用】超全步骤—Ubuntu下非root用户安装ffmpeg_ubuntu ffmpeg 无需root_wsxzhbzl的博客-CSDN博客
首先从官网上下载安装包Download FFmpeg
或者用 wget https://johnvansickle.com/ffmpeg/release-source/ffmpeg-4.1.tar.xz
然后解压安装包
xz -d ffmpeg-4.1.tar.xz
tar -xf ffmpeg-4.1.tar
并进入文件夹 cd ffmpeg-4.1
运行以下命令
./configure --enable-shared --prefix=/home/xxx/ffmpeg --disable-yasm
make
make install
--prefix= 这个后面的路径就是软件最终安装的目录,ffmpeg文件夹的路径自己设置
--disable-yasm 不适用汇编编译,默认需要,加了这个选项就是编译速度变慢,但是不需要安装 yasm 软件(不然没有root权限也不好装)
--enable-shared 这个为了生成动态链接库
上面几条命令运行完后(应该是要等一段时间的),查看ffmpeg下是否有bin,include,lib,share四个文件夹,其中bin是ffmpeg主程序二进制目录,include是 C/C++头文件目录,lib是编译好的库文件目录,share是文档目录
cd 进入ffmpeg下的bin目录,输入 ./ffmpeg -version 命令查看ffmpeg的版本信息,但是会报错libavdevice.so.58: cannot open shared object file: No such file or directory
./ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open shared object file: No such file or directory
这是因为lib目录未添加到系统共享动态链接库,使用如下命令添加即可
vim ~/.bashrc //打开文件
键盘输入 'i' 进入编辑模式
文件尾增加:
export LD_LIBRARY_PATH=/home/xxx/ffmpeg/lib:$LD_LIBRARY_PATH
export PATH=/home/xxx/ffmpeg/bin:$PATH
键盘输入 ':wq' 保存文件并退出vim
终端输入: source ~/.bashrc
终端输入 ffmpeg -version 如果有输出信息即为成功
(base) zy@ICML:~/downloads/ffmpeg/bin$ ffmpeg -version
ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 9 (Ubuntu 9.5.0-1ubuntu1~22.04)
configuration: --enable-shared --prefix=/home/zy/ffdownloads/mpeg --disable-yasm
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100