2.ffmpeg安装(Ubuntu20.04 )

Ubuntu20.04安装ffmpeg

  • 1.下载源码包
  • 2.解压
    • 安装依赖库
  • 3.编译
    • 3.1 安装 yasm
    • 3.2 配置
    • 3.3 编译安装
  • 4.添加环境变量
    • 4.1 修改环境变量
    • 4.2 在文件中添以下内容。
    • 4.3 设置生效
  • 5.验证是否成功
    • 5.1 无法打开共享库文件
    • 5.2 测试是否配置成功
  • 注意

1.下载源码包

进入官网 https://ffmpeg.org/download.html 下载

2.ffmpeg安装(Ubuntu20.04 )_第1张图片
点击Download Source Code下载即可 ,此时得到压缩包ffmpeg-snapshot.tar.bz2

2.ffmpeg安装(Ubuntu20.04 )_第2张图片

也可以查看当前时间官方最新版本 http://www.ffmpeg.org/releases/ ,通过命令行下载,我自己用命令行下载的时候特别慢。

2.ffmpeg安装(Ubuntu20.04 )_第3张图片

wget http://www.ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2

2.解压

进入到指令目录

cd /usr/local/

在压缩包目录下,执行命令

tar -xvjf ffmpeg-snapshot.tar.bz2

此时当前目录下得到了文件夹 “ffmpeg”

2.ffmpeg安装(Ubuntu20.04 )_第4张图片

安装依赖库

官方有个指导文档,Ubuntu怎么使用FFmpeg:

https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

安装依赖库,执行命令:

sudo apt-get update && sudo apt-get -y install \
  autoconf \
  automake \
  build-essential \
  cmake \
  git-core \
  libass-dev \
  libfreetype6-dev \
  libgnutls28-dev \
  libmp3lame-dev \
  libsdl2-dev \
  libtool \
  libva-dev \
  libvdpau-dev \
  libvorbis-dev \
  libxcb1-dev \
  libxcb-shm0-dev \
  libxcb-xfixes0-dev \
  meson \
  ninja-build \
  pkg-config \
  texinfo \
  wget \
  yasm \
  zlib1g-dev \
  libunistring-dev

3.编译

3.1 安装 yasm

yasm是汇编编译器,ffmpeg为了提高效率使用了汇编指令,如MMX和SSE等。所以系统中未安装yasm时,就会报错误。

apt install yasm pkg-config libopencore-amrnb-dev libopencore-amrwb-dev

3.2 配置

进入文件夹ffmpeg

#进入源码文件夹
cd ffmpeg

#配置项
./configure  --enable-libmp3lame --enable-gpl --enable-shared --enable-version3 --enable-nonfree --enable-pthreads --enable-postproc --enable-ffplay --enable-libx264 --enable-libxvid --disable-x86asm

我配置时出错的 libx264 出错。我又安装了 libx264-dev

sh-5.0$ sudo apt-get install libx264-dev
[sudo] lyq 的密码: 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列【新】软件包将被安装:
  libx264-dev
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 89 个软件包未被升级。
需要下载 569 kB 的归档。
解压缩后会消耗 2,764 kB 的额外空间。
获取:1 http://mirrors.ustc.edu.cn/ubuntu focal/universe amd64 libx264-dev amd64 2:0.155.2917+git0a84d98-2 [569 kB]
已下载 569 kB,耗时 0(1,262 kB/s)
正在选中未选择的软件包 libx264-dev:amd64。
(正在读取数据库 ... 系统当前共安装有 359109 个文件和目录。)
准备解压 .../libx264-dev_2%3a0.155.2917+git0a84d98-2_amd64.deb  ...
正在解压 libx264-dev:amd64 (2:0.155.2917+git0a84d98-2) ...
正在设置 libx264-dev:amd64 (2:0.155.2917+git0a84d98-2) ...
sh-5.0$ sudo apt-get install ffmpeg
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  libavdevice58 libavresample4
建议安装:
  ffmpeg-doc
下列【新】软件包将被安装:
  ffmpeg libavdevice58 libavresample4
升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 89 个软件包未被升级。
需要下载 1,581 kB 的归档。
解压缩后会消耗 2,562 kB 的额外空间。

3.3 编译安装

//时间久 耐心等待
make  

make install

安装完成后,就可以看到,在/usr/local/bin中,ffmpeg/ffplay/ffprob已经生成了;
则说明ffmpeg安装成功。

2.ffmpeg安装(Ubuntu20.04 )_第5张图片

4.添加环境变量

4.1 修改环境变量

将ffmpeg的绝对路径添加到PATH环境变量中,以让系统能找到ffmpeg的安装路径。

vim ~/.bashrc  # 打开系统环境变量配置文件

4.2 在文件中添以下内容。

export PATH="/usr/local/bin:${PATH}" # 因为编译后的可执行文件都在/usr/local/bin中
export LD_LIBRARY_PATH="/usr/local/lib:{LD_LIBRARY_PATH}" #共享库路径

4.3 设置生效

source ~/.bashrc  

5.验证是否成功

5.1 无法打开共享库文件

使用命令行“ ffmpeg -h” ,检测ffmpeg安装情况时,出现异常。

  • 使用的命令:
ffmpeg -h
ffmpeg -version

出现以下报错内容:

error while loading shared libraries: libavdevice.so.59: can not open shared object file or directory

error while loading shared libraries: libpostproc.so.56: cannot open shared object file: No such file or directory

这是由于系统找不到ffmpeg的共享库所致。

很多开源的共享库都会安装到/usr/local/lib目录下,打开这个目录确实找到FFmpeg这些共享库。2.ffmpeg安装(Ubuntu20.04 )_第6张图片

  • 解决的办法:

在动态库配置文件 /etc/ld.so.conf.d 内所列的目录下创建文件 ffmpeg.conf 文件,
在该文件中写入共享库路径:“/usr/local/lib”
执行 ldconfig 命令

# 编辑文件,添加内容“/usr/local/lib”后保存退出
vim /etc/ld.so.conf.d/ffmpeg.conf   

 # 查看ffmpeg.conf中的内容
cat /etc/ld.so.conf.d/ffmpeg.conf  

 # 执行ldconfig命令,使/etc/ld.so.conf.d/目录下新加入的配置信息生效
ldconfig       

在这里插入图片描述

提示找不到共享库的错误解决方法 :https://blog.csdn.net/my_angle2016/article/details/113524560

5.2 测试是否配置成功

命令行输入“which ffmpeg” 或 “ffmpeg -h”,出现以下内容,说明ffmpeg已经完全安装配置成功。

root@a512-3090:/usr/local# which ffmpeg
/usr/local/bin/ffmpeg  

2.ffmpeg安装(Ubuntu20.04 )_第7张图片

注意

若完成以上配置后,代码里面仍报错,考虑以下解决方式

  • 在系统里,指出ffmpeg的绝对安装路径。/usr/local/bin/ffmpeg

  • 找到“xxxx.py”所在的位置,打开并编辑该文件,对ffmeg行的内容做修改。

  • 将 command = "fmpeg -i %s ,改为有绝对路径的 command = "/usr/local/ffmpeg/bin/ffmpeg

2.ffmpeg安装(Ubuntu20.04 )_第8张图片到此我就可以顺利的使用,程序跑起来了。
2.ffmpeg安装(Ubuntu20.04 )_第9张图片

你可能感兴趣的:(FFmpeg,ffmpeg)