找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

182

积分

0

好友

22

主题
发表于 3 天前 | 查看: 7| 回复: 0

课程简介

本课程是一门系统、深入的音视频开发实战课程,专注于使用Qt和FFmpeg进行跨平台播放器开发。课程从音视频基础理论、FFmpeg编译与环境配置讲起,逐步深入到解封装、解码、像素格式转换、音频重采样等核心模块。核心技术环节涵盖Qt音频播放、OpenGL Shader渲染YUV图像,并最终通过一个完整的“XPlay2.0”播放器项目,将理论付诸实践。您将亲手实现播放器的音视频同步、Seek跳转、进度控制、内存管理及跨平台(Windows/Linux)移植等关键功能。通过本课程的学习,您不仅能掌握FFmpeg与Qt结合的开发流程,更能获得一个可商用级别的播放器项目经验,深入理解音视频处理的底层原理与高性能编程思想,为从事流媒体、音视频编辑等相关领域开发打下坚实基础。


下载地址

游客,如果您要查看本帖隐藏内容请回复

课程目录

01 介绍

第1–6节:课程介绍、音视频基础、封装格式、编解码原理、像素与音频格式分析。

02 Qt开发环境准备

第1–7节:QT开发环境下载安装、路径说明、项目创建、Windows与Linux环境配置。

03 FFmpeg编译和开发环境准备

第1–5节:Windows与Ubuntu下FFmpeg库配置、VS与QtCreator跨平台项目设置。

04 FFmpeg解封装

第1–14节:解封装流程、函数与结构体详解、打开文件、流信息探测、帧读取与定位。

05 FFmepg解码和像素格式、音频采样转换

第1–10节:音视频解码上下文、帧处理、像素格式转换与音频重采样函数详解与演示。

06 XPlay2 Qt音频及OpenGLShader显示YUV

第1–10节:Qt音频播放接口、OpenGL编程、Shader编写与YUV文件播放实现。

07 XPlay2.0 播放器项目实战开发一

第1–10节:面向对象设计、项目类图、解封装与解码模块、视频显示组件开发。

08 XPlay2.0 播放器项目实战开发二

第1–16节:音频重采样与播放、视频解码线程、音视频播放测试等核心功能实现。

09 XPlay2.0 播放器项目实战开发三

第1–15节:界面交互、内存泄漏修复、暂停与Seek功能、跨平台移植等进阶开发。

--- 点击展开详细目录 ---

1. 介绍

  • 🎬 1. 课程介绍~1-.mp4
  • 🎬 2. 音视频基础知识mpeg4封装格式音视频编码格式讲解~1-.mp4
  • 🎬 3. 音视频解封装和解码原理分析~1-.mp4
  • 🎬 4. 图形像素格式RGB和YUV格式分析~1-.mp4
  • 🎬 5. PCM音频采样率_通道_planar等格式参数分析~1-.mp4
  • 🎬 6. MP4标准和h264格式的NAL的GOP分析~1-.mp4

2. Qt开发环境准备

  • 🎬 1. QT开发环境下载和安装~1.mp4
  • 🎬 2. QtSDK路径目录文件说明~1.mp4
  • 🎬 3. 创建第一个qtcreator项目_并确定文件和目录的作用~1.mp4
  • 🎬 4. 在linux中安装qt及其依赖并编写测试项目~1.mp4
  • 🎬 5. windows下qtcreator调试环境安装配置使用~1.mp4
  • 🎬 6. vs创建QT项目并详细介绍vs项目设置~1.mp4
  • 🎬 7. VS设置qt库版本导出为qtcreator项目~1.mp4

3. FFmpeg编译和开发环境准备

  • 🎬 1. windows下ffmpeg库下载安装方法和库文件说明~1.mp4
  • 📦 1.1 13_ffmpeg3.4.2_windows_vs2015_32位_64库和示例程序.zip.zip
  • 🎬 2. VS2015配置开发显示ffmpeg配置信息测试项目~1.mp4
  • 🎬 3. VS2015配置32位和64位通用的ffmpeg测试程序~1.mp4
  • 📦 3.1 15_VS2015配置32位和64位通用的ffmpeg测试程序_ViewFFmpeg.zip.zip
  • 🎬 4. QtCreator配置32位和64位windows通用的ffmpeg测试程序~1.mp4
  • 📦 4.1 16QtCreator配置32位和64位windows通用的ffmpeg测试程序.zip.zip
  • 🎬 5. 项目移植到ubuntu中并配置跨平台的pro文件~1.mp4
  • 📦 5.1 17项目移植到ubuntu中并配置跨平台的pro文件.zip.zip

4. FFmpeg解封装

  • 🎬 1. ffmpeg SDK软硬解码流程说明~1-.mp4
  • 🎬 2. ffmpeg音视频解封装用到的函数和结构体详解~1-.mp4
  • 🎬 3. avformat_open_input函数详解~1-.mp4
  • 🎬 4. 初始化解封装使用avformat_open_input打开MP4文件,并设置延时属性~1-.mp4
  • 📦 4.1 21初始化解封装使用avformat_open_input打开MP4文件,并设置延时等属性TestDemux.zip-.zip
  • 🎬 5. AVFormatContext结构分析~1-.mp4
  • 🎬 6. avformat_close_input清理封装上下文~1-.mp4
  • 📦 6.1 23avformat_close_input清理封装上下文.zip-.zip
  • 🎬 7. avformat_find_stream_info探测获取封装上下文的格式信息并打印~1-.mp4
  • 📦 7.1 24avformat_find_stream_info探测获取封装上下文的格式信息并打印TestDemux.zip-.zip
  • 🎬 8. AVStream和AVCodecParameters分析~1-.mp4
  • 🎬 9. 通过遍历获取AVStream音频流信息并打印参数~1-.mp4
  • 🎬 10. 通过遍历和av_find_best_stream方法获取视频流信息并打印参数.~1-.mp4
  • 📦 10.1 27通过遍历和av_find_best_stream方法获取视频流信息并打印参数TestDemux.zip-.zip
  • 🎬 11. av_read_frame读取帧数据函数分析和产生的空间问题分析~1-.mp4
  • 🎬 12. AVPacket结构解析空间申请-初始化-复制-引用计数函数讲解~1-.mp4
  • 🎬 13. av_seek_frame改变播放进度函数详解~1-.mp4
  • 🎬 14. av_read_frame和av_seek_frame代码示例并分析内存占用和清理情况~1-.mp4
  • 📦 14.1 31av_read_frame和av_seek_frame代码示例并分析内存占用和清理情况TestDemux.zip-.zip

5. FFmepg解码和像素格式、音频采样转换

  • 🎬 1. AVCodecContext解码上下文初始化讲解~1.mp4
  • 🎬 2. 音视频解码上下文创建配置和打开avcodec_open2打开演示~1.mp4
  • 📦 2.1 33音视频解码上下文创建配置和打开avcodec_open2打开演示TestDecode.zip.zip
  • 🎬 3. AVFrame格式解析和空间处理函数~1.mp4
  • 🎬 4. avcodec_send_packet和avcodec_receive_frame函数讲解~1.mp4
  • 🎬 5. avcodec_send_packet和avcodec_receive_frame音视频解码代码演示~1.mp4
  • 🎬 6. sws_getContext和sws_scale像素格式和尺寸转换函数讲解~1.mp4
  • 🎬 7. sws_getContext像素格式上下文初始化代码演示~1.mp4
  • 🎬 8. sws_scale像素格式转换代码演示~1.mp4
  • 📦 8.1 39sws_scale像素格式转换代码演示TestDecode.zip.zip
  • 🎬 9. 音频重采样SwrContext格式和swr_convert相关函数详解~1.mp4
  • 🎬 10. swr_init音频重采样上下文初始化和swr_convert音频重采样代码示例~1.mp4
  • 📦 10.1 41swr_init音频重采样上下文初始化和swr_convert音频重采样代码示例TestDecode.zip.zip

6. XPlay2 Qt音频及OpenGLShader显示YUV

  • 🎬 1. Qt音频播放接口QAudioOutput详解~1.mp4
  • 🎬 2. Qt播放音频代码演示(源码)~1.mp4
  • 📦 2.1 43Qt播放音频代码演示TestQAudioOutput.zip.zip
  • 🎬 3. Qt的opengl编程分析及QOpenGLWidget使用方法~1.mp4
  • 🎬 4. 顶点和片元作色器原理讲解和yuv转rgb的glsl代码讲解~1.mp4
  • 🎬 5. 创建和显示材质glTexImage2D~1.mp4
  • 🎬 6. 创建QtOpengl项目提升窗口控件并重载QOpenGLWidget函数(源码)~1.mp4
  • 📦 6.1 47创建QtOpengl项目提示窗口控件并重载QOpenGLWidget函数.zip.zip
  • 🎬 7. shader代码并用QGLShaderProgram载入(源码)~1.mp4
  • 📦 7.1 48编写yuv转RGB的shader代码并用QGLShaderProgram载入TestQtOpengl.zip.zip
  • 🎬 8. 写入顶点和材质坐标glVertexAttribPointer(源码)~1.mp4
  • 📦 8.1 49写入顶点和材质坐标glVertexAttribPointerTestQtOpengl.zip.zip
  • 🎬 9. 完成材质的初始化和显存和内存空间分配glTexImage2D(源码)~1.mp4
  • 📦 9.1 50完成材质的初始化和显存和内存空间分配glTexImage2DTestQtOpengl.zip.zip
  • 🎬 10. 完成对yuv文件使用OpenGLShader播放(源码)~1.mp4
  • 📦 10.1 51完成对yuv文件使用OpenGLShader播放TestQtOpengl.zip.zip

7. XPlay2.0 播放器项目实战开发一

  • 🎬 1. 面向对象的五大原则~1-.mp4
  • 🎬 2. XPlay2.0项目类图分析~1-.mp4
  • 📦 2.1 53XPlay2.0类图.zip-.zip
  • 🎬 3. XDemu类Open接口开发并测试打开本地文件和香港卫视直播流(源码)~1-.mp4
  • 📦 3.1 54XDemu类Open接口开发并测试打开本地文件和香港卫视直播流XPlay2.zip-.zip
  • 🎬 4. XDemu类Read接口开发测试并分析内存泄漏(源码)~1-.mp4
  • 📦 4.1 55XDemu类Read接口开发测试并分析内存泄露XPlay2.zip-.zip
  • 🎬 5. AVCodecParameters音视频参数获取和复制(源码)~1-.mp4
  • 📦 5.1 56AVCodecParameters音视频参数获取和复制XPlay2.zip-.zip
  • 🎬 6. av_seek_frameXDemu类Seek接口和清理关闭接口完成(源码)~1-.mp4
  • 📦 6.1 57av_seek_frameXDemu类Seek接口和清理关闭接口完成XPlay2.zip-.zip
  • 🎬 7. XDecode音视频解码器打开关闭和清理avcodec_open2(源码)~1-.mp4
  • 📦 7.1 58XDecode音视频解码器打开关闭和清理avcodec_open2XPlay2.zip-.zip
  • 🎬 8. XDecode的音视频解码Send和Recv接口开发并测试(源码)~1-.mp4
  • 📦 8.1 59XDecode的音视频解码Send和Recv接口开发并测试XPlay2.zip-.zip
  • 🎬 9. XVideoWidget初始化接口完成并测试调用(源码)~1-.mp4
  • 📦 9.1 60XVideoWidget初始化接口完成并测试调用XPlay2.zip-.zip
  • 🎬 10. XVideoWidget显示完成并添加测试线程完成视频图像播放(源码)~1-.mp4
  • 📦 10.1 61XVideoWidget显示完成并添加测试线程完成视频图像播放XPlay2.zip-.zip

8. XPlay2.0 播放器项目实战开发二

  • 🎬 1. XResample音频重采样Open和Close接口完成(源码)~1-.mp4
  • 📦 1.1 62XResample音频重采样Open和Close接口完成XPlay2.zip-.zip
  • 🎬 2. XResample接口完成并添加测试代码(源码)~1-.mp4
  • 📦 2.1 63XResample接口完成并添加测试代码XPlay2.zip-.zip
  • 🎬 3. XAudioPlay音频播放接口Open和Close接口完成并测试(源码)~1-.mp4
  • 📦 3.1 64XAudioPlay音频播放接口Open和Close接口完成并添加测试代码XPlay2.zip-.zip
  • 🎬 4. XAudioPlay音频接口完成并测试音频播放成功(源码)~1-.mp4
  • 📦 4.1 65XAudioPlay音频接口完成并测试音频播放成功XPlay2.zip-.zip
  • 🎬 5. XAudioThread打开音频解码、重采样、播放成功(源码)~1-.mp4
  • 🎬 6. XAudioThread缓冲队列Push完成~1-.mp4
  • 🎬 7. XAudioThread完成功能并编写测试代码(源码)~1-.mp4
  • 🎬 8. XVideoThread视频解码线程和显示接口完成并测试(源码)-.mp4
  • 📦 8.1 69XVideoThread视频解码线程和显示接口完成并测试XPlay2.zip-.zip
  • 🎬 9. XDemuxThread的Open接口完成~1-.mp4
  • 🎬 10. XDemuxThread音视频播放测试完成(源码)~1-.mp4
  • 📦 10.1 71XDemuxThread音视频播放测试完成XPlay2.zip-.zip

9. XPlay2.0 播放器项目实战开发三

  • 🎬 1. 音视频同步策略分析并计算出当前音频播放的pts~1-.mp4
  • 🎬 2. 测试播放rtmp香港卫视直播解决视频显示的行对齐问题(源码)~1-.mp4
  • 📦 2.1 73测试播放rtmp香港卫视直播解决视频显示的行对齐问题XPlay2.zip-.zip
  • 🎬 3. 通过QT界面选择打开视频文件(源码)~1-.mp4
  • 📦 3.1 74通过界面选择打开视频文件XPlay2.zip-.zip
  • 🎬 4. 抽象出XDecodeThread类添加Push和Pop函数~1-.mp4
  • 🎬 5. XDecodeThread添加Clear清理接口清理音视频线程的缓冲队列(源码)~1-.mp4
  • 📦 5.1 76XDecodeThread添加Clear清理接口清理音视频线程的缓冲队列XPlay2.zip-.zip
  • 🎬 6. 所有模块添加关闭线程和清理资源接口解决程序退出宕掉的bug(源码)~1-.mp4
  • 📦 6.1 77所有模块添加Close关闭线程和清理资源接口解决程序退出会宕掉的bugXPlay2.zip-.zip
  • 🎬 7. 使用VS的诊断工具查看内存泄漏并修正音频播放线程内存泄漏(源码)~1-.mp4
  • 📦 7.1 78使用VS的诊断工具查看内存泄露问题并修正了音频播放线程的内存泄露XPlay2.zip-.zip
  • 🎬 8. 使用QSlider进度条显示播放的进度~1-.mp4
  • 🎬 9. 窗口尺寸变化和双击全屏播放视频(源码)~1-.mp4
  • 📦 9.1 80窗口尺寸变化和双击全屏播放视频XPlay2.zip-.zip
  • 🎬 10. 各个模块添加暂停功能SetPause完成音视频播放暂停(源码)~1-.mp4
  • 📦 10.1 81各个模块添加暂停功能SetPause完成音视频播放暂停XPlay2.zip-.zip
  • 🎬 11. 完成了Seek视频进度跳转到关键帧位置(源码)~1-.mp4
  • 📦 11.1 82完成了Seek视频进度跳转到关键帧位置XPlay2.zip-.zip
  • 🎬 12. 完成了音视频Seek封装功能~1-.mp4
  • 🎬 13. 重构XDemuxThread和XDecode和ffmpeg解耦合~1-.mp4
  • 🎬 14. 重载XSlider解决滑动条拖动bug并支持点击转到指定播放位置(源码)~1-.mp4
  • 📦 14.1 85完成了Seek功能解决了滑动条点击移动到指定位置XPlay2.zip-.zip
  • 🎬 15. 系统移植到ubuntu的linux64位环境编译运行(源码)~1-.mp4
  • 📦 15.1 86linux和windows跨平台版本包含windows的ffmpeg库文件.zip-.zip





上一篇:多云自动化新突破:System Initiative 推出实时发现与数字孪生功能,加速基础设施管理
下一篇:音视频底层探索之路 LogiciOS音视频底层特训班 深入研究iOS音视频技术
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区(YunPan.Plus) ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-7 02:51 , Processed in 0.116570 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 CloudStack.

快速回复 返回顶部 返回列表