随笔分类 -  SDL

跨平台多媒体辅助库
SDL播放音频工具类封装
摘要:一、概述 SDL2既可以播放视频也可以播放音频,前面介绍了视频的播放,本节对播放音频做一下总结。 步骤: 1.初始化 SDL_Init(SDL_INIT_AUDIO); 2.根据传入的参数打开音频设备 SDL_AudioSpec sdl_spec; sdl_spec.freq = audioSpec 阅读全文
posted @ 2025-06-20 11:24 飘杨...... 阅读(39) 评论(0) 推荐(0)
Qt+FFmpeg+SDL 实现多路多格式原始视频播放工具:从像素处理到实时渲染
摘要:一、概述 本文基于 Qt、FFmpeg AVFrame 和 SDL 库构建的高性能多路多格式原始视频播放工具。系统支持同时播放 RGBA、ARGB、RGB24、YUV420P 等多种像素格式的原始视频流,核心技术包括: 多格式播放:直接播放的是原始视频文件,例如:RGBA、ARGB、YUV420P、 阅读全文
posted @ 2025-05-19 17:51 飘杨...... 阅读(92) 评论(0) 推荐(0)
Qt+SDL 实战:多格式视频播放工具开发 —— 支持 RGBA/ARGB/RGB24/YUV420P 的完整实现
摘要:一、概述 本文将使用 Qt 和 SDL 开发一个支持多格式视频播放的工具,覆盖 RGBA、ARGB、RGB24、YUV420P 等常见像素格式。工具将实现窗口关闭事件响应、动态尺寸适配、播放参数(fps / 分辨率)自定义等核心功能。通过 Qt 处理界面交互与窗口生命周期管理(如closeEvent 阅读全文
posted @ 2025-05-14 14:18 飘杨...... 阅读(70) 评论(0) 推荐(0)
SDL将YUV视频渲染到Qt窗口播放
摘要:一、概述 在多媒体开发中,使用 SDL 将 YUV 视频渲染到 Qt 窗口实现播放是常见需求。SDL 提供强大的底层音视频处理能力,Qt 则擅长构建用户界面。 通过初始化 SDL 视频子系统,解析 YUV 数据格式,结合 Qt 的窗口机制,将 YUV 帧转换为 SDL 纹理,再利用 SDL_Rend 阅读全文
posted @ 2025-05-13 15:33 飘杨...... 阅读(95) 评论(0) 推荐(0)
使用SDL渲染RGB24数据到QT窗口播放
摘要:一、概述 结合上一篇的源码。只需要稍作修改即可。去上一篇 二、代码演示 改动地方主要有两个: 1.修改SDLRenderUtil.h工具类 a.定义一个QT的winId void* winId; b.修改生成SDL的窗口 if (winId) {//如果winId不为空就使用Qt的winId句柄创建 阅读全文
posted @ 2025-05-13 11:13 飘杨...... 阅读(15) 评论(0) 推荐(0)
使用SDL播放RGB24文件
摘要:一、概述 在音视频处理领域,SDL(Simple DirectMedia Layer)是一个功能强大且跨平台的多媒体开发库,能轻松实现视频播放、渲染等功能。本文聚焦于使用 SDL 播放 RGB24 文件,详细阐述从文件准备、SDL 初始化、窗口与渲染器创建,到 RGB24 数据读取、纹理生成与渲染的 阅读全文
posted @ 2025-05-12 17:51 飘杨...... 阅读(59) 评论(0) 推荐(0)
SDL2+FFmpeg5.0播放视频文件
摘要:一、概述 上一节使用SDL2播放了YUV视频文件,本节使用SDL2+FFmpeg5.0播放一个视频文件(只播放视频,不播放声音) 播放效果图: 二、代码示例 #include "sdl_ffmpeg_play.h" //sdl刷新事件 #define SFM_REFRESH_EVENT (SDL_U 阅读全文
posted @ 2023-11-16 11:47 飘杨...... 阅读(117) 评论(0) 推荐(0)
SDL2+SDL_Thread+SDL_Event实现yuv文件的播放
摘要:一、概述 上一节使用单线程播放了YUV文件。在一个线程中播放yuv文件逻辑看起来简单,但是会产生一些问题。如:视频卡顿、无响应等问题。 本节在上一节的基础上对播放YUV文件的代码进行改造,加入SDL_Event和SDL_Thread。使SDL_Thread现成发出命令时刷新YUV视频帧。等收到结束命 阅读全文
posted @ 2023-11-14 17:12 飘杨...... 阅读(141) 评论(0) 推荐(0)
SDL播放YUV数据
摘要:一、概述 上一节使用SDL2在窗口上显示了一张图片,本节使用SDL2播放YUV420P数据。 YUV420P一帧数据的长度=width*height*3/2 参考:雷霄骅大神的博客 二、代码示例 下面这段示例代码读取YUV数据和现实YUV数据都是在同一个线程中的。播放是能播放,但是会很卡,不一会儿就 阅读全文
posted @ 2023-11-14 16:39 飘杨...... 阅读(89) 评论(0) 推荐(0)
SDL事件之简单退出事件SDL_QUIT
摘要:一、概述 上一篇使用SDL加载了一张图片,图片展示后3秒窗口会自动关闭,如果不想让窗口自动关闭,而是用户自己指定啥时候关闭就啥时候关闭,该怎么弄? 那就有必要加上SDL的事件了。 加入一个简单的SDL事件非常简单。以点击X号关闭窗口为例: 1.初始化SDL事件 //初始化SDL事件 SDL_Even 阅读全文
posted @ 2023-11-14 14:45 飘杨...... 阅读(534) 评论(0) 推荐(0)
SDL2加载一个图片
摘要:一、概述 使用SDL2+SDL2_Image显示一张图片 操作步骤: SDL2的操作流程: 1.初始化SDL SDL_Init 2.创建SDL_Window SDL_CreateWindow 3.创建渲染器SDL_Renderer SDL_CreateRenderer 4.生成一个SDL_Surfa 阅读全文
posted @ 2023-11-14 14:23 飘杨...... 阅读(265) 评论(0) 推荐(0)
SDL2 无法解析的外部符号 main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)
摘要:一、概述 在使用VisualStudio+CMake集成SDL2的过程中。运行一个Demo示例出现了以下错误提示 无法解析的外部符号 main,函数 "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 二、解决办法 上面问题的主要原因是程序找不 阅读全文
posted @ 2023-11-14 13:17 飘杨...... 阅读(1058) 评论(0) 推荐(0)