随笔分类 -  C/C++

1 2 3 4 5 ··· 10 下一页
拓展Android应用!
ffmpeg将视频流录制下来并保存到本地
摘要:一、概述 保存网络流为mp4存储到本地是一个通用的并且常用的需求,例如在视频监控、网络直播领域会根据不同级别以及重要程度保存媒体流到本地一定的时间,有些要求一周,有些要求半年、一年乃至几年的都有。 如何保存这些流就成为了关键。当然有些需求还涉及到了转码,但是本节只讲如何将流原封不动的保存下来,不考虑 阅读全文
posted @ 2025-05-28 11:54 飘杨...... 阅读(230) 评论(0) 推荐(0)
ffmpeg解封装mp4并解码渲染(SDL2)
摘要:一、概述 在前几篇的文章中介绍了从H264文件中读取数据封装成AVPacket并通过解码器解码,然后用SDL进行渲染的案例。本节继上面的内容,通过加载一个mp4文件,通过ffmpeg的解封装功能 ,把AVPacket拿出来,然后放到之前封装好的解码器中进行解码,然后使用SDL进行渲染操作。 ps:本 阅读全文
posted @ 2025-05-27 16:37 飘杨...... 阅读(51) 评论(0) 推荐(0)
Qt+ffmpeg+SDL硬件解码并渲染
摘要:一、概述 在上一篇博客中使用Qt+ffmpeg+SDL实现H264/H265软解码并渲染。本节则在上一篇的基础上加上硬解码并渲染出画面。 使用AV_HWDEVICE_TYPE_DXVA2做硬解码测试。其解码出来的数据格式为NV12格式。 格式说明: NV12 格式的视频数据由Y 平面和UV 平面组成 阅读全文
posted @ 2025-05-26 13:39 飘杨...... 阅读(152) 评论(0) 推荐(0)
ffmpeg+sdl播放H264/H265文件
摘要:一、概述 上一篇写了使用windows录屏+ffmpeg生成H264/H265数据,并存储成文件。本节就写下如何使用ffmpeg+sdl播放H264/H265裸数据文件。 界面如下: 1.播放前界面 2.播放后界面 二、代码示例 void H264OrH265FilePlayWindow::Draw 阅读全文
posted @ 2025-05-22 16:59 飘杨...... 阅读(69) 评论(0) 推荐(0)
FFmpeg实战:录制Windows屏幕并用FFmpeg压缩成H.264/H.265并保存
摘要:一、概述 前面讲过【Qt+Windows录制屏幕并将屏幕录制的BGRA数据保存到本地】。本节就在这一篇的基础上加上【利用ffmpeg的SwsContext将BGRA数据转YUV420P】,并将转换好的YUV420P数据 通过H264/H265编码压缩,然后再存储到本地。 工具截图: 功能介绍: 1. 阅读全文
posted @ 2025-05-21 16:35 飘杨...... 阅读(158) 评论(0) 推荐(0)
ffmpeg SwsContext像素格式转换BGRA转YUV420P
摘要:一、概述 ffmpeg提供了一个很有用的工具进行像素格式的转换。在实际的应用场景中可以根据需求来定制转换过程。 本例通过BGRA转YUV420P来展现这个过程 注意事项: 输入输出不能搞错,特别是输入的像素格式是什么,要求的输出像素格式是什么 如果输入和输出的宽高不一致像素格式一致,则是在进行裁剪操 阅读全文
posted @ 2025-05-21 16:00 飘杨...... 阅读(57) 评论(0) 推荐(0)
Qt+FFmpeg+SDL 实现多路多格式原始视频播放工具:从像素处理到实时渲染
摘要:一、概述 本文基于 Qt、FFmpeg AVFrame 和 SDL 库构建的高性能多路多格式原始视频播放工具。系统支持同时播放 RGBA、ARGB、RGB24、YUV420P 等多种像素格式的原始视频流,核心技术包括: 多格式播放:直接播放的是原始视频文件,例如:RGBA、ARGB、YUV420P、 阅读全文
posted @ 2025-05-19 17:51 飘杨...... 阅读(93) 评论(0) 推荐(0)
Qt+SDL 实战:多格式视频播放工具开发 —— 支持 RGBA/ARGB/RGB24/YUV420P 的完整实现
摘要:一、概述 本文将使用 Qt 和 SDL 开发一个支持多格式视频播放的工具,覆盖 RGBA、ARGB、RGB24、YUV420P 等常见像素格式。工具将实现窗口关闭事件响应、动态尺寸适配、播放参数(fps / 分辨率)自定义等核心功能。通过 Qt 处理界面交互与窗口生命周期管理(如closeEvent 阅读全文
posted @ 2025-05-14 14:18 飘杨...... 阅读(71) 评论(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文件
摘要:一、概述 在音视频处理领域,SDL(Simple DirectMedia Layer)是一个功能强大且跨平台的多媒体开发库,能轻松实现视频播放、渲染等功能。本文聚焦于使用 SDL 播放 RGB24 文件,详细阐述从文件准备、SDL 初始化、窗口与渲染器创建,到 RGB24 数据读取、纹理生成与渲染的 阅读全文
posted @ 2025-05-12 17:51 飘杨...... 阅读(59) 评论(0) 推荐(0)
使用memcpy进行分段copy
摘要:一、概述 使用场景:在音视频开发中,用YUV数据+OpenGL进行画面渲染。经常会将Y分量、U分量、V分量分开。分别上传到GPU,由GPU转换为RGB进行最终展示。 使用这种方式的原因是基于GPU计算效率高为前提的。 在这个过程中经常会用到一个c函数memcpy。将yuv数据分别copy到不同的内存 阅读全文
posted @ 2024-09-19 17:40 飘杨...... 阅读(64) 评论(0) 推荐(0)
QT+OpenGL简单纹理贴图
摘要:QT+OpenGL基础: QT+OpenGL创建一个三角形并动态改变三角形颜色 OpenGL中的VAO、VBO、EBO QT+OpenGL 使用VAO、VBO、EBO结合绘制一个正方形 QT+OpenGL使用一组顶点绘制两个三角形 QT+OpenGL通过两个VAO来管理两个三角形 QT+Opengl 阅读全文
posted @ 2024-08-22 16:46 飘杨...... 阅读(362) 评论(0) 推荐(0)
QT+OpenGL从顶点着色器传递颜色数据给片元着色器
摘要:QT+OpenGL基础: QT+OpenGL创建一个三角形并动态改变三角形颜色 OpenGL中的VAO、VBO、EBO QT+OpenGL 使用VAO、VBO、EBO结合绘制一个正方形 QT+OpenGL使用一组顶点绘制两个三角形 QT+OpenGL通过两个VAO来管理两个三角形 QT+Opengl 阅读全文
posted @ 2024-08-22 16:15 飘杨...... 阅读(228) 评论(0) 推荐(0)
QT+Opengl使用两个Shader绘制两个不同颜色的三角形
摘要:QT+OpenGL基础: QT+OpenGL创建一个三角形并动态改变三角形颜色 OpenGL中的VAO、VBO、EBO QT+OpenGL 使用VAO、VBO、EBO结合绘制一个正方形 QT+OpenGL使用一组顶点绘制两个三角形 QT+OpenGL通过两个VAO来管理两个三角形 QT+Opengl 阅读全文
posted @ 2024-08-22 15:51 飘杨...... 阅读(134) 评论(0) 推荐(0)
QT+OpenGL通过两个VAO来管理两个三角形
摘要:QT+OpenGL基础: QT+OpenGL创建一个三角形并动态改变三角形颜色 OpenGL中的VAO、VBO、EBO QT+OpenGL 使用VAO、VBO、EBO结合绘制一个正方形 QT+OpenGL使用一组顶点绘制两个三角形 QT+OpenGL通过两个VAO来管理两个三角形 QT+Opengl 阅读全文
posted @ 2024-08-22 15:42 飘杨...... 阅读(99) 评论(0) 推荐(0)
QT+OpenGL使用一组顶点绘制两个三角形
摘要:QT+OpenGL基础: QT+OpenGL创建一个三角形并动态改变三角形颜色 OpenGL中的VAO、VBO、EBO QT+OpenGL 使用VAO、VBO、EBO结合绘制一个正方形 QT+OpenGL使用一组顶点绘制两个三角形 QT+OpenGL通过两个VAO来管理两个三角形 QT+Opengl 阅读全文
posted @ 2024-08-22 15:33 飘杨...... 阅读(107) 评论(0) 推荐(0)
QT+OpenGL创建一个三角形并动态改变三角形颜色
摘要:QT+OpenGL基础: QT+OpenGL创建一个三角形并动态改变三角形颜色 OpenGL中的VAO、VBO、EBO QT+OpenGL 使用VAO、VBO、EBO结合绘制一个正方形 QT+OpenGL使用一组顶点绘制两个三角形 QT+OpenGL通过两个VAO来管理两个三角形 QT+Opengl 阅读全文
posted @ 2024-08-21 11:04 飘杨...... 阅读(298) 评论(0) 推荐(0)
C/C++指针无关联,因为它指向已销毁的实例
摘要:一、概述 在使用Qt+OpenCV做项目的过程中,发现一个问题。 指针无关联,因为它指向已销毁的实例 产生这个问题的代码如下: const char* GLSquareWindow::readFileToString(QString resPath) { QFile vertexShaderFile 阅读全文
posted @ 2024-08-13 17:38 飘杨...... 阅读(81) 评论(0) 推荐(0)
OpenCV实现图搜图简单案例
摘要:一、概述 使用OpenCV实现一个简单的图搜索的小功能 特点:暴力匹配 实现原理: 1.将图片集合生成特征描述,并存入文件 2.加载目标图像,并生成图像特征描述 3.加载图像特征描述文件列表 4.图像特征描述和集合中的特征描述列表进行匹配 5.如果匹配成功就说明搜索有值,如果没有匹配成功说明没有搜索 阅读全文
posted @ 2024-07-30 16:05 飘杨...... 阅读(359) 评论(0) 推荐(0)
c 使用cJSON生成及解析json类型数据
摘要:一、概述 cJSON官网 作用:可以在c程序中方便的进行json字符串的解析及生成 二、代码示例 //组装一个json串 void CJsonTest::valueToJsonObject() { cJSON* root, * fmt; char* out; root = cJSON_CreateO 阅读全文
posted @ 2024-07-23 15:57 飘杨...... 阅读(266) 评论(0) 推荐(0)

1 2 3 4 5 ··· 10 下一页