SDL2 基础(一)SDL2入门

3,925 阅读2分钟

SDL2入门

SDL是什么

“SDL库的作用说白了就是封装了复杂的视音频底层操作,简化了视音频处理的难度。 ” --- 引自雷神

SDL 全称 “Simple DirectMedia Layer” 。 SDL是一个开放源代码的跨平台多媒体开发库。对多媒体处理,如视频渲染,音频播放,鼠标/键盘控制等操作。

SDL对不同平台提供了一套统一的接口, 根据不同平台调用不同的底层 API库。如在 Linux 系统下,它会使用 opengl 做渲染,而在 Window 下它会调用 Direct3D API进行渲染。

如何安装

SDL2 使用非常简单,直接去官网下载就可以www.libsdl.org/download-2.…

    编译并安装,这里只简单介绍下
    configure --prefix=/usr/local
    sudo make && make install

个人使用VS直接配置Cmake文件就可以,网上很多配置,这里不多介绍了。

为什么学SDL(重点)

为什么学SDL 这是个问题,不研究可以吗,感觉没什么问题,那么为什么我还要弄这个呢?

主要是因为我要使用FFmpeg开发一个跨平台的视频播放器。而播放器就需要使用一些多媒体的东西

FFmpeg 可以使用OpenGL渲染! OpenCV撒 也没什么问题
FFmpeg + OpenGLES + OpenSLES 是一个不错的组合 不过相对OpenGL主要的工作还是图像处理,他们的目的不太相同 SDL 非常简单轻量。 如果只是想做一个跨平台播放器,使用SDL 是一个不错的选择。

如何使用SDL

之后的文章会详细介绍如何使用。这里抛砖引玉 目前大部分视频文件几乎都是使用H264编码的,解码后视频部分一般都是YUV数据 假设我们有一YUV数据 我们如何存显示到屏幕呢? 绘制一帧数据到屏幕的基本流程

  • 创建一个窗口
  • 创建渲染器
  • 创建纹理
  • 读取帧数据到纹理
  • 刷新渲染器显示内容 重点 创建的所有东西都需要销毁