admin 发表于 2026-5-16 13:19:21

[音频视频直播技术] Ffmpeg&C++全面实战影音播放技术 XPlay2 Qt音频及OpenGLShader-播放器项目实战

章节 1:课程入门介绍
文件总数:6 个(全视频课程)

[*]课程介绍
[*]音视频基础知识:MPEG4 封装格式、音视频编码格式讲解
[*]音视频解封装和解码原理分析
[*]图形像素格式:RGB 与 YUV 格式分析
[*]PCM 音频:采样率、通道、planar 等格式参数分析
[*]MP4 标准与 H.264 格式:NAL、GOP 分析


章节 2:Qt 开发环境搭建
文件总数:9 个(视频 + 文档 + 源码)
核心视频课程

[*]Qt 开发环境下载与安装
[*]Qt SDK 路径与目录文件说明
[*]创建首个 Qt Creator 项目,讲解文件与目录作用
[*]Linux(Ubuntu)安装 Qt 及依赖,编写测试项目
[*]Windows 下 Qt Creator 调试环境安装、配置与使用
[*]VS 创建 Qt 项目,详解 VS 项目设置
[*]VS 设置 Qt 库版本,导出为 Qt Creator 项目


配套学习资料


[*]Ubuntu 虚拟机及常用工具安装、Samba 共享目录配置(PDF)
[*]Qt 测试项目源码(ZIP)


章节 3:FFmpeg 编译与开发环境配置
文件总数:9 个(视频 + 源码库)
核心视频课程

[*]Windows 下 FFmpeg 库下载、安装与库文件说明
[*]VS2015 配置 FFmpeg 开发环境,测试显示配置信息
[*]VS2015 配置 32/64 位通用 FFmpeg 测试程序
[*]Qt Creator 配置 Windows 32/64 位通用 FFmpeg 测试程序
[*]项目移植 Ubuntu,配置跨平台 pro 文件


配套学习资料

[*]FFmpeg 3.4.2 Windows VS2015 32/64 位库 + 示例程序(ZIP)
[*]VS2015 32/64 位通用 FFmpeg 测试程序(ZIP)
[*]Qt Creator 32/64 位通用 FFmpeg 测试程序(ZIP)
[*]Ubuntu 跨平台 pro 文件配置项目源码(ZIP)


章节 4:FFmpeg 音视频解封装
文件总数:19 个(视频 + 源码)
核心视频课程

[*]FFmpeg SDK 软硬解码流程说明
[*]FFmpeg 音视频解封装函数与结构体详解
[*]avformat_open_input 函数详解
[*]初始化解封装,用 avformat_open_input 打开 MP4 并设置延时属性
[*]AVFormatContext 结构分析
[*]avformat_close_input 封装上下文清理
[*]avformat_find_stream_info 探测格式信息并打印
[*]AVStream 与 AVCodecParameters 分析
[*]遍历获取 AVStream 音频流信息并打印参数
[*]遍历 /av_find_best_stream 获取视频流信息并打印参数
[*]av_read_frame 读取帧数据函数与内存问题分析
[*]AVPacket 结构解析:内存申请、初始化、复制、引用计数函数
[*]av_seek_frame 播放进度调整函数详解
[*]av_read_frame 与 av_seek_frame 代码示例,内存占用与清理分析


配套学习资料

[*]视频流信息获取代码(ZIP)
[*]帧读取与进度调整内存分析代码(ZIP)
[*]解封装打开 MP4 代码(ZIP)
[*]封装上下文清理代码(ZIP)
[*]格式信息探测代码(ZIP)


章节 5:FFmpeg 解码、像素格式与音频采样转换
文件总数:13 个(视频 + 源码)
核心视频课程

[*]AVCodecContext 解码上下文初始化
[*]音视频解码上下文创建、配置与 avcodec_open2 打开
[*]AVFrame 格式解析与内存处理函数
[*]avcodec_send_packet 与 avcodec_receive_frame 函数讲解
[*]音视频解码代码演示
[*]sws_getContext、sws_scale 像素格式 / 尺寸转换函数
[*]像素格式上下文初始化代码演示
[*]sws_scale 像素格式转换代码演示
[*]音频重采样 SwrContext 格式与 swr_convert 函数详解
[*]swr_init 重采样上下文初始化、swr_convert 重采样代码示例


配套学习资料

[*]解码上下文配置代码(ZIP)
[*]像素格式转换代码(ZIP)
[*]音频重采样代码(ZIP)


章节 6:XPlay2 Qt 音频播放与 OpenGL Shader 渲染 YUV
文件总数:16 个(视频 + 源码)
核心视频课程

[*]Qt 音频播放接口 QAudioOutput 详解
[*]Qt 音频播放代码演示
[*]Qt OpenGL 编程与 QOpenGLWidget 使用
[*]顶点 / 片元着色器原理、YUV 转 RGB GLSL 代码讲解
[*]材质创建与 glTexImage2D 使用
[*]创建 Qt OpenGL 窗口控件,重载 QOpenGLWidget 函数
[*]YUV 转 RGB Shader 编写与 QGLShaderProgram 加载
[*]顶点 / 材质坐标写入 glVertexAttribPointer
[*]材质初始化、显存 / 内存分配 glTexImage2D
[*]YUV 文件 OpenGL Shader 播放实现


配套学习资料

[*]Qt 音频播放代码(ZIP)
[*]Qt OpenGL 窗口控件代码(ZIP)
[*]YUV 转 RGB Shader 代码(ZIP)
[*]顶点 / 材质坐标写入代码(ZIP)
[*]材质初始化代码(ZIP)
[*]YUV OpenGL 播放代码(ZIP)


章节 7:XPlay2.0 播放器项目实战(一)
文件总数:19 个(视频 + 源码)
核心视频课程

[*]面向对象五大原则
[*]XPlay2.0 项目类图分析
[*]XDemu 类 Open 接口开发,测试本地文件 / 香港卫视直播流
[*]XDemu 类 Read 接口开发、测试与内存泄漏分析
[*]AVCodecParameters 音视频参数获取与复制
[*]XDemu 类 Seek / 清理 / 关闭接口实现(av_seek_frame)
[*]XDecode 音视频解码器打开、关闭与清理(avcodec_open2)
[*]XDecode 解码 Send/Recv 接口开发与测试
[*]XVideoWidget 初始化接口实现与测试
[*]XVideoWidget 显示完成,测试线程实现视频播放


配套学习资料

[*]XPlay2.0 项目类图(ZIP)
[*]XDemu Open 接口源码(ZIP)
[*]XDemu Read 接口源码(ZIP)
[*]音视频参数获取源码(ZIP)
[*]XDemu Seek / 清理接口源码(ZIP)
[*]XDecode 解码器源码(ZIP)
[*]XDecode 解码接口源码(ZIP)
[*]XVideoWidget 初始化源码(ZIP)
[*]视频图像播放源码(ZIP)


章节 8:XPlay2.0 播放器项目实战(二)
文件总数:16 个(视频 + 源码)
核心视频课程

[*]XResample 音频重采样 Open/Close 接口实现
[*]XResample 接口完成与测试代码
[*]XAudioPlay 音频播放 Open/Close 接口实现与测试
[*]XAudioPlay 音频接口完成与播放测试
[*]XAudioThread 实现音频解码、重采样、播放
[*]XAudioThread 缓冲队列 Push 功能实现
[*]XAudioThread 功能完成与测试代码
[*]XVideoThread 视频解码线程与显示接口实现
[*]XDemuxThread Open 接口实现
[*]XDemuxThread 音视频播放测试完成


配套学习资料

[*]XResample 重采样接口源码(ZIP)
[*]XAudioPlay 播放接口源码(ZIP)
[*]XVideoThread 解码显示源码(ZIP)
[*]XDemuxThread 音视频播放源码(ZIP)


章节 9:XPlay2.0 播放器项目实战(三)
文件总数:25 个(视频 + 源码)
核心视频课程

[*]音视频同步策略分析,计算音频播放 PTS
[*]测试 RTMP 香港卫视直播,修复视频显示行对齐问题
[*]Qt 界面选择打开视频文件
[*]抽象 XDecodeThread 类,实现 Push/Pop 函数
[*]XDecodeThread 添加 Clear 接口,清理音视频缓冲队列
[*]全模块添加关闭线程 / 资源清理接口,修复退出崩溃问题
[*]VS 诊断工具排查内存泄漏,修复音频线程泄漏
[*]QSlider 进度条显示播放进度
[*]窗口尺寸适配、双击全屏播放
[*]全模块添加 SetPause 暂停功能
[*]Seek 跳转至视频关键帧位置
[*]音视频 Seek 封装功能实现
[*]重构 XDemuxThread/XDecode,实现 FFmpeg 解耦
[*]重载 XSlider,修复拖动 Bug,支持点击跳转进度
[*]项目移植 Ubuntu Linux64 位编译运行


配套学习资料

[*]RTMP 直播播放修复源码(ZIP)
[*]视频文件选择界面源码(ZIP)
[*]缓冲队列清理源码(ZIP)
[*]线程 / 资源清理源码(ZIP)
[*]内存泄漏修复源码(ZIP)
[*]全屏 / 尺寸适配源码(ZIP)
[*]音视频暂停功能源码(ZIP)
[*]关键帧 Seek 源码(ZIP)
[*]进度条点击跳转源码(ZIP)
[*]Linux/Windows 跨平台版本(含 FFmpeg 库)(ZIP)



页: [1]
查看完整版本: [音频视频直播技术] Ffmpeg&C++全面实战影音播放技术 XPlay2 Qt音频及OpenGLShader-播放器项目实战