FFmpeg再学习 — SDL 环境搭建和视频显示

继续看雷霄骅的 课程资料 – 基于FFmpeg+SDL的视频播放器的制作

一、SDL 简介

参看:WIKI — Simple DirectMedia Layer

参看:最简单的视音频播放示例9:SDL2播放PCM

参看:SDL介绍

SDL (Simple DirectMedia Layer)是一套开源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS等)的应用软件。目前 SDL 多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。用下面这张图可以很明确地说明 SDL 的用途。

拷贝 SDL 开发文件

头文件( *.h)拷贝至项目文件夹的include子文件夹下
导入库文件( *.lib)拷贝至项目文件夹的lib子文件夹下
动态库文件( *.dll) 拷贝至项目文件夹下

点击右键,选择在资源管理器中打开文件夹,进入项目目录。 (注意,如果手动进入注意文件夹位置,我就是没找好位置,试了半天最后才发现,将上面的这些文件拷贝到错误的文件夹下了)

配置开发文件

打开属性面板

导入库配置

动态库不用配置

测试

三、SDL视频显示的函数

SDL视频显示函数简介

SDL_Init():初始化SDL系统
SDL_CreateWindow():创建窗口SDL_Window
SDL_CreateRenderer():创建渲染器SDL_Renderer
SDL_CreateTexture():创建纹理SDL_Texture
SDL_UpdateTexture():设置纹理的数据
SDL_RenderCopy():将纹理的数据拷贝给渲染器
SDL_RenderPresent():显示
SDL_Delay():工具函数,用于延时。
SDL_Quit():退出SDL系统

SDL视频显示的流程图如下所示

SDL数据结构简介

SDL_Window   代表了一个“窗口”
SDL_Renderer  代表了一个“渲染器”
SDL_Texture     代表了一个“纹理”
SDL_Rect          一个简单的矩形结构

五、示例解析

使用 SDL 播放 yuv 文件

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年6月23日
下一篇 2017年6月23日

相关推荐