[编程开发技术] [音频视频直播技术] 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)



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,请勿用于任何商业目的与商业用途,如需商用请支持正版!如亲下载后改变其用途与使用方式,与本站无任何关系,本站已经进行告知义务!我们只做安全认证测试如果资源侵犯了您的版权利益,请联系站长邮箱:dsymbcom@gmail.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

吾爱分享综合资源网 https://www.rajzyw.com/

联系作者 收藏关注