我想学FFmpeg (一) Ubuntu 编译安装

我想学FFmpeg (一) Ubuntu 编译安装

在这里插入图片描述

环境

环境
ubuntu 18.04
ffmpeg 4.3.2

1,下载

我准备的版本是4.3.2 ,最新版本是4.4,下载地址 或者 这里查看所有发布版本

2,解压缩

sudo tar -xjf ffmpeg-4.3.2.tar.bz2 -C /opt

3,安装依赖库

3.1,yasm

安装原因:使用汇编提高效率用的,没有太懂,弄懂了回来补充

方式1:通过apt安装

sudo apt-get install yasm

方式2:下载源码安装。下载地址

方式1安装后,发现是最新版本,所以我没有用方式2了。

3.2, SDL

安装原因:ffplay播放器依赖SDL,不安装的话,编译安装结束后,不会产生ffplay,也可以不安装的。

方式1:通过apt安装

sudo apt-get install libsdl2-2.0
sudo apt-get install libsdl2-dev

方式2:下载源码编译安装。下载地址

sudo tar -zxvf SDL2-2.0.14.tar.gz -C /opt
sudo ./configure
sudo make
sudo make install

两种方式我都进行了尝试,可用。

4,运行配置文件

./configure

5,编译

根据机器配置不同,编译时间可能较长

make -j8

6,安装

记得加sudo

sudo make install

7,检查版本

ffmpeg -version

ffmpeg version 4.3.2 Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: 
libavutil      56. 51.100 / 56. 51.100
libavcodec     58. 91.100 / 58. 91.100
libavformat    58. 45.100 / 58. 45.100
libavdevice    58. 10.100 / 58. 10.100
libavfilter     7. 85.100 /  7. 85.100
libswscale      5.  7.100 /  5.  7.100
libswresample   3.  7.100 /  3.  7.100

问题1

执行ffplay,报错


ffplay version 4.3.2 Copyright (c) 2003-2021 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
  configuration: 
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  151 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  84
  Current serial number in output stream:  85

查了半天也没有头绪,最终在stackoverflow找到了。

链接

btw, this specific error (GLX:24 X_GLXCreateNewContext) error will happens when your video driver is updated for a running X server, restart X to resolve it – ThorSummoner Sep 21 '20 at 20:05

解决方法:重启,惊不惊喜!!!

这个问题是我早上安装了navida的驱动更新,至今还没有重启。

问题2:

ffplay test.wav 报错:

SDL_OpenAudio (2 channels, 44100 Hz): No such audio device
SDL_OpenAudio (1 channels, 44100 Hz): No such audio device
No more combinations to try, audio open failed
Failed to open file 'test.wav' or configure filtergraph

解决方法:这个真是绕了山路十八弯,都没能找到解决方法,最后不断尝试,解决步骤如下:

1,安装libasound2-dev

这个是在这篇博客看到的,是不是因为这个,不确定,看到的朋友,可以先跳过直接从2开始尝试一下

sudo apt-get install libasound2-dev

2,卸载SDL2,重新编译安装。

3,重新编译ffmpeg。

参考:

[Ubuntu]编译 安装 FFmpeg

Ubuntu 16.04 FFPLay播放有画面没有声音

猜你喜欢

转载自blog.csdn.net/lucky_tom/article/details/116298527