linux编译ffmpeg后没有生成ffplay的问题解决

编译ffmpeg:
在这里插入图片描述
1、使用ffmpeg-3.3.9源码包。打开ffplay编译,其他使用默认配置

./configure --enable-ffplay

2、编译、安装

sudo make 
sudo make install

3、使用ffplayj进行视频文件播放,发现报错:

./ffplay xxx.mp4
fatal error: sdl.h: No such file or directory

(1)问题:缺少SDL依赖库。
下载了SDL1.2.15,编译安装后,问题仍然没有解决
在这里插入图片描述
之后查了一下,ffmpeg-3.3.9源码包依赖SDL2.0,于是乎删除了SDL1.2.15:

cd ./SDL-1.2.15
sudo make uninstall
sudo make distclean

(2)之后网上下载SDL2-2.0.12.tar.gz
linux编译ffmpeg后没有生成ffplay的问题解决_第1张图片
编译安装,可获得动态链接库。再运行ffplay,已经不会报找不到SDL.h的问题了。
在这里插入图片描述
4、继续使用ffplayj进行视频文件播放,发现仍然有问题:播放器打开后闪退,报错信息:

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

问题:SDL库有问题,查了一下,原来编译后的SDL2.0库也缺乏依赖。
解决:

apt-get install libasound2-dev
apt-get install libpulse-dev

另外使用ffplay可能会出现这个错误:

Could not initialize SDL - No available video device
(Did you set the DISPLAY variable?)

所以,再安装两个依赖包,

apt-get install libx11-dev
apt-get install xorg-dev

安装完上面四个包之后,重新编译SDL2.0的库:

cd ./SDL2-2.0.16
sudo make uninstall
sudo make distclean
./configure
sudo make 
sudo make install

5、再运行ffplay,可正常播放视频,音视频都没有问题

你可能感兴趣的:(音视频开发,ffmpeg,linux)