在编译FFmpeg时发现没有编译出ffplay,发现系统如果有SDL-1.2及以上版本,就会编译出ffplay,安装SDL开始

SDL官网http://www.libsdl.org/download-2.0.php

下载版本:SDL2-2.0.12.tar.gz

学习文档:https://blog.csdn.net/lf426/category_364048_1.html

雷神文档:https://blog.csdn.net/liujiayu2/article/details/80691504

 

    ./configure
    make
    make install

执行configure时可能会报缺少 libxext-dev库文件,必须安装这些库文件,否则没有Makefile文件可用。安装需要的库:

sudo apt-get install libX11-dev libxext-dev libxrender-dev libxtst-dev libxt-dev

继续执行make ;make install

补充:

SDL安装好后,重编ffmpeg,注意,如果之前编译过ffmpeg,需要make clean

ffmpeg编译命令

    ./configure
    make
    make install

编译后生成ffplay,执行ffplay报如下错误:

wxb@ubuntu:~/media/FFmpeg$ ./ffplay ~/Videos/ren.mp4 
ffplay version n4.3.1-25-g1936413 Copyright (c) 2003-2020 the FFmpeg developers
  built with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  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
Failed to initialize a hardware accelerated renderer: Couldn't find matching render driver
Failed to create window or renderer: Couldn't find matching render driver

原因是SDL 使用 OpenGL 进行渲染,所以需要安装库,尝试安装以下安装包。

sudo apt-get install libgl1-mesa-dev
sudo apt-get install libglew-dev
sudo apt-get install libglm-dev

重新编译SDL源码,发现可以使用

Logo

更多推荐