SDL2 基础(一)SDL2入门SDL是什么 “SDL库的作用说白了就是封装了复杂的视音频底层操作,简化了视音频处理的难

  • Home
  • 德国世界杯名单
  • SDL2 基础(一)SDL2入门SDL是什么 “SDL库的作用说白了就是封装了复杂的视音频底层操作,简化了视音频处理的难

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数据 我们如何存显示到屏幕呢?

绘制一帧数据到屏幕的基本流程

创建一个窗口

创建渲染器

创建纹理

读取帧数据到纹理

刷新渲染器显示内容

重点

创建的所有东西都需要销毁