
在 Linux(Ubuntu ) 上安装 ffmpeg,以及一些小问题的解决
在 Linux(Ubuntu ) 上安装 ffmpeg,以及一些小问题的解决
补充声明:
本文的记录主要参考了 如下两篇进行安装视频处理软件 ffmpeg 在 Linux 成功安装 | 小白安装教程_墨理学AI的博客-CSDN博客
Linux下ffmpeg安装教程(亲测有效)_C君莫笑的博客-CSDN博客_linux ffmpeg
参考如下两篇解决了无MP3编译器不能生成MP3文件问题
系统
cat /etc/issue
Ubuntu 18.04.5 LTS \n \l
一、下载前需安装的其他软件
1.安装 yasm
官网下载:Download - The Yasm Modular Assembler Project
上传至Linux,解压、安装、编译
tar -xvzf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure
make
make install
2.安装lame
我在使用ffmpeg视频中分离出MP3文件报错
Automatic encoder selection failed for output stream #0:0. Default encoder for format mp3 (codec mp3) is probably disabled. Please choose an encoder manually.
Error selecting an encoder for stream 0:0
添加libmp3lame库方式
下载压缩包:LAME (Lame Aint an MP3 Encoder) - Browse /lame at SourceForge.net
解压 ,进入lame-3.100目录下,在终端打开
依次执行
tar -xvzf lame-3.100.tar.gz
cd lame-3.100
./configure --enable-shared
make
make install
Ubuntu下执行make install报错时,改为执行sudo make install
安装完毕之后
vim /etc/ld.so.conf
新建一行追加:
/usr/local/lib
保存退出后 执行
ldconfig (更新ld.so.cache,使修改生效)
如果 /etc/ld.so.conf是readOnly,没有修改权限,使用命令sudo chmod 777 修改文件权限
安装ffmpeg时,./configure 时 添加配置 --enable-libmp3lame 引入 libmp3lame,即可解决
再次使用 ffmpeg -codecs 查看可用编解码的变化,可以看到多出了libmp3lame编码器,带E的:
二、下载方式如下
打开软件主页:
它会跳转到下面这个链接:
在网页下方有多个版本,我选择了这个
再跳转到下一个链接之后,就可以下载了:
三、编译安装操作如下
1.上传至Linux
将下载的文件 ffmpeg_5.1.1.orig.tar.xz 拷贝到系统中
我选择放在 /usr/local 目录下
2.解压、安装、编译
#进入文件目录
cd /usr/local
#解压缩
tar -xvf ffmpeg_5.1.1.orig.tar.xz
#进入解压后的文件
cd ffmpeg-5.1.1/
#配置
./configure --enable-shared --enable-libmp3lame --prefix=/usr/local/ffmpeg
#编译(编译过程会有点长)
make
等待10分钟左右...
#会把ffmpeg相关执行程序、头文件、lib库安装在/usr/local/ffmpeg/下
make install
现在还不能执行ffmpeg的命令,例如:使用./ffmpeg -version查看版本就会报错
创建一个文件并写入lib路径,即可执行命令,
vim /etc/ld.so.conf.d/ffmpeg.conf
然后添加一行内容:
/usr/local/ffmpeg/lib
之后保存并退出 esc :wq
然后执行 ldconfig 使配置生效
现在再次执行./ffmpeg -version 显示就正常了
3.配置软链接
配置软链接 (ln -s 源文件 目标文件)
ln -s /usr/local/ffmpeg/bin/ffmpeg /usr/local/bin/ffmpeg
执行ffmpeg 就可以查看版本,调用 ffmpeg的功能了
四、一些bug
-
ffmpeg查看版本报错
问题:./ffmpeg: error while loading shared libraries: libavdevice.so.59: cannot open shared object file: No such file or directory
其中不知是不是多次安装删除的原因,按照此贴解决了
ffmpeg查看版本报错error while loading shared libraries: libavdevice.so.59_husishuai的博客-CSDN博客_fmpeg 版本 59
1.在 /etc/ld.so.conf 中
2.加入配置 /usr/local/ffmpeg/lib
,具体看自己的安装目录
3.刷新配置 ldconfig
(我的好像是之前安装改过,里面目录路径不对,改过来就解决了)
-
获取音频或视频信息时调用 ffprobe 报错
使用上方配置软链接方法配置 ffprobe 的软连接
ln -s /usr/local/ffmpeg/bin/ffprobe /usr/local/bin/ffprobe
总结:
使用各种功能都可用,完美。感谢我翻阅的帖子的博主。
更多推荐
所有评论(0)