linux安装 SDL环境

在Ubuntu系统中,由于缺少SDL库,FFmpeg默认不会编译ffplay。通过下载SDL2-2.0.12并执行配置、编译和安装步骤,解决了这个问题。在编译FFmpeg时,可能需要安装额外的库如libxext-dev。当运行ffplay出现渲染错误时,安装libgl1-mesa-dev、libglew-dev和libglm-dev库可解决问题。重新编译后,ffplay能够正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

学习文档:https://blog.youkuaiyun.com/lf426/category_364048_1.html

雷神文档:https://blog.youkuaiyun.com/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源码,发现可以使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值