在 Linux(Ubuntu ) 上安装 ffmpeg,以及一些小问题的解决

补充声明:
本文的记录主要参考了 如下两篇进行安装

视频处理软件 ffmpeg 在 Linux 成功安装 | 小白安装教程_墨理学AI的博客-CSDN博客

Linux下ffmpeg安装教程(亲测有效)_C君莫笑的博客-CSDN博客_linux ffmpeg

参考如下两篇解决了无MP3编译器不能生成MP3文件问题

Default encoder for format mp3 (codec mp3) is probably disabled. Please choose an encoder manually._不吃葱和香菜的博客-CSDN博客_default encoder for format mp3 (codec mp3) is prob

ffmpeg 将音频转为mp3问题解决_SoLucky2017的博客-CSDN博客_ff转码配置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的:

二、下载方式如下

打开软件主页:

Download FFmpeg

0

它会跳转到下面这个链接:

ffmpeg package : Ubuntu

在网页下方有多个版本,我选择了这个

再跳转到下一个链接之后,就可以下载了:

三、编译安装操作如下

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


总结:

使用各种功能都可用,完美。感谢我翻阅的帖子的博主。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值