基于FFmpeg+SDL的视频播放器的制作——雷霄骅

1.SDL2安装和测试

视频教程:基于FFmpeg+SDL的视频播放器的制作——雷霄骅

SDL2安装

sudo apt-get install libsdl2-dev # 基本开发包
sudo apt-get install libsdl2-image-dev # 图像开发包
sudo apt-get install libsdl2-mixer-dev # 音频开发包
sudo apt-get install libsdl2-ttf-dev # 文字开发包

vscode远程链接服务器,开发SDL应用

test_sdl2.cpp:测试sdl2是否安装成功。

extern "C"
{
#include "SDL2/SDL.h"
}
int main(int argc, char* argv[]){
    if(SDL_Init(SDL_INIT_VIDEO)) { 
        printf( "Could not initialize SDL - %s\n", SDL_GetError()); 
    } else{
        printf("Success init SDL");
    }
    return 0;
}

2.SDL简介

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:一个简单的矩形结构,指定yuv现在的windows的位置,比如左上角、右下角等

SDL中事件和多线程

  • SDL多线程
    • SDL_CreateThread():创建一个线程
    • SDL_Thread:线程的句柄
  • SDL事件
    • SDL_WaitEvent()等待一个事件
    • SDL_PushEvent()发送一个事件
    • SDL_Event:代表一个事件
posted @   好人~  阅读(193)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示