本套课程完整无加密,带配套资料,非网上的缺课版本。
课程简介:
课程内容已经更新,添加基础知识,解决卡顿和同步问题,并添加opengl shader播放yuv功能,发布XPlay2.0版本 。
这门课程给大家讲解的是基于当前流行FFMpeg视频处理框架和流行的QT跨平台库。开发的一个完整的视频播放器,不是基于视频播放控件开发,而是从底层全部实现。
本课程从功能需求分析、基本原理讲解到代码实现演示,让您经历一个实际项目的全过程。
特别适合有一定C或者C++基础,想要提高自己是实战能力学员,学完此门课,可以说你们项目经历里面就可以增加一项,开发过qt和ffmpeg的C++程序,实现了一个播放器的音视频全部功能。
本课程同时也适合与想要学习ffmpeg和qt的同学,本课程学会之后你就已经将ffmpeg可以投入实际的项目应用,对于QT的基本原理你也非常清楚了,可以实现复杂的qt界面,您就可以独立开发出音视频的各种应用,包括无人机,安防,直播视频直播,视频会议,并能够开发出跨平台的应用.
FFMpeg+Qt5开发播放器C++实战视频课程2.0版本更新内容
补充了基础知识,让没有音视频基础的同学也能学习。
补充了linux下ffmpeg的编译过程
独立的代码演示基于ffmpeg音视频解封装,方便参考
独立的代码演示基于ffmpeg音视频解码、音频重采样、视频像素格式转换和尺寸变换
独立的代码演示基于Qt的音频播放
独立的代码演示基于Qt的opengl shader绘制yuv数据
补充了示例的全部源代码,并添加了注释
原来基于QImage的图像尺寸转换策略(基于CPU效率低),替换为高性能opengl材质实现(基于GPU)
原来使用sws_scale的yuv转换RGB(基于CPU效率低),替换为使用opengl Shader(基于GPU使用glsl)
添加了全屏播放功能
修正了Seek不到实际位置的问题(h264只能跳转到关键帧),跳转到目标的位置
修正了由于特殊的视频尺寸会造成花屏的情况 (行对齐问题,通过行复制解决)
修正了程序退出时会宕掉的情况(添加线程退出处理)
XPlay代码重构降低耦合,隔离了解封装和解码
XPlay代码重构添加解封转、解音频、解视频线程
重载QT的QOpenGLWidget使用opengl绘制yuv图像,并且视频上可以叠加qt控件不闪烁
修正了音视频同步问题,将QT的音频播放缓冲时间算进去

课程目录:

1-1 音视频基础知识mpeg4封装格式音视频编码格式讲解.mp4
1-2 音视频解封装和解码原理分析.mp4
1-3 图形像素格式RGB和YUV格式分析.mp4
1-4 PCM音频采样率_通道_planar等格式参数分析.mp4
1-5 MP4标准和h264格式的NAL的GOP分析.mp4
2-1 QT开发环境下载和安装.mp4
2-2 QtSDK路径目录文件说明.mp4
2-3 创建第一个qtcreator项目_并确定文件和目录的作用.mp4
2-4 在linux中安装qt及其依赖并编写测试项目.mp4
2-5 windows下qtcreator调试环境安装配置使用.mp4
2-6 vs创建QT项目并详细介绍vs项目设置.mp4
2-7 VS设置qt库版本导出为qtcreator项目.mp4
3-1 windows下ffmpeg库下载安装方法和库文件说明.mp4
3-2 VS2015配置开发显示ffmpeg配置信息测试项目.mp4
3-3 VS2015配置32位和64位通用的ffmpeg测试程序.mp4
3-4 QtCreator配置32位和64位windows通用.mp4
3-5 项目移植到ubuntu中并配置跨平台的pro文件.mp4
4-1 ffmpeg SDK软硬解码流程说明.mp4
4-2 ffmpeg音视频解封装用到的函数和结构体详解.mp4
4-3 avformat_open_input函数详解.mp4
4-4 初始化解封装使用avformat_open_input打开.mp4
4-5 AVFormatContext结构分析.mp4
4-6 avformat_close_input清理封装上下文.mp4
4-7 avformat_find_stream_info探测封装.mp4
4-8 AVStream和AVCodecParameters分析.mp4
4-9 通过遍历获取AVStream音频流信息并打印参数.mp4
4-10 通过遍历和av_find_best_stream方法获取视频.mp4
4-11 av_read_frame读取帧数据函数分析和产生的空间问题.mp4
4-12 AVPacket结构解析空间申请-初始化-复制-引用计数函数.mp4
4-13 av_seek_frame改变播放进度函数详解.mp4
4-14 av_read_frame和av_seek_frame代码示.mp4
5-1 AVCodecContext解码上下文初始化讲解.mp4
5-2 音视频解码上下文创建配置和打开avcodec_open2打开.mp4
5-3 AVFrame格式解析和空间处理函数.mp4
5-4 avcodec_send_packet解码函数.mp4
5-5 avcodec_receive_frame完成音视频解码代码.mp4
5-6 sws_getContext和sws_scale像素格式.mp4
5-7 sws_getContext像素格式上下文初始化代码演示.mp4
5-8 sws_scale像素格式转换代码演示.mp4
5-9 音频重采样SwrContext格式和swr_convert.mp4
5-10 swr_init音频重采样上下文初始化和swr_conver.mp4
6-1 Qt音频播放接口QAudioOutput详解.mp4
6-2 Qt播放音频代码演示(源码).mp4
6-3 Qt的opengl编程分析及QOpenGLWidget使用.mp4
6-4 顶点和片元作色器原理讲解和yuv转rgb的glsl代码讲解.mp4
6-5 创建和显示材质glTexImage2D.mp4
6-6 建QtOpengl项目窗口控件重载QOpenGLWidget.mp4
6-7 shader代码并用QGLShaderProgram载入(源.mp4
6-8 写入顶点和材质坐标glVertexAttribPointer.mp4
6-9 完成材质的初始化和显存和内存空间分配glTexImage2D.mp4
6-10 完成对yuv文件使用OpenGLShader播放(源码).mp4
7-1 面向对象的五大原则.mp4
7-2 XPlay2.0项目类图分析.mp4
7-3 XDemu类Open接口开发并测试打开本地文件.mp4
7-4 XDemu类Read接口开发测试并分析内存泄露(源码).mp4
7-5 AVCodecParameters音视频参数获取和复制(源码.mp4
7-6 av_seek_frameXDemu类Seek接口和清理关闭.mp4
7-7 XDecode音视频解码器开关清理avcodec_open2.mp4
7-8 XDecode的音视频解码Send和Recv接口开发并测试.mp4
7-9 XVideoWidget初始化接口完成并测试调用(源码).mp4
7-10 XVideoWidget显示完成并添加测试线程完成视频图像.mp4
8-1 XResample音频重采样Open和Close接口完成-源.mp4
8-2 XResample接口完成并添加测试代码(源码).mp4
8-3 XAudioPlay音频播放接口Open和Close接口完成.mp4
8-4 XAudioPlay音频接口完成并测试音频播放成功(源码).mp4
8-5 XAudioThread打开音频解码、重采样、播放成功(源码.mp4
8-6 XAudioThread缓冲队列Push完成.mp4
8-7 XAudioThread完成功能并编写测试代码(源码).mp4
8-8 XVideoThread视频解码线程和显示接口完成并测试(源.mp4
8-9 XDemuxThread的Open接口完成.mp4
8-10 XDemuxThread音视频播放测试完成(源码).mp4
9-1 音视频同步策略分析并计算出当前音频播放的pts.mp4
9-2 测试播放rtmp**卫视直播解决视频显示的行对齐问题(源码).mp4
9-3 通过界面选择打开视频文件(源码).mp4
9-4 抽象出XDecodeThread类添加Push和Pop函数.mp4
9-5 XDecodeThread添加Clear清理音视频缓冲(源).mp4
9-6 模块添加Close关闭线程和清理资源解决程序退出会宕掉bug.mp4
9-7 使用VS的诊断工具查看内存泄漏问题并修正音频播放线程内存泄漏.mp4
9-8 使用QSlider进度条显示播放的进度.mp4
9-9 窗口尺寸变化和双击全屏播放视频(源码).mp4
9-10 各个模块添加暂停功能SetPause完成音视频播放暂停(源码.mp4
9-11 完成了Seek视频进度跳转到关键帧位置(源码).mp4
9-12 完成了音视频Seek封装功能.mp4
9-13 重构XDemuxThread和XDecode ff解耦合.mp4
9-14 重载XSlider解决滑动条拖动bug支持点击滑动条转到位置.mp4
9-15 系统移植到ubuntu的linux64位环境(课程全部源码).mp4
10-1 课程介绍.mp4
10-2 QT开发环境准备.mp4
10-3 ffmpeg介绍和开发环境准备.mp4
10-4 学习方法说明和课程代码下载演示.mp4
10-5 ubuntu下安装qt5.8并编译安装ffmpeg.mp4
11-1 2.1ffmpeg打开视频文件.mp4
11-2 2.2ffmpeg读取视频帧.mp4
11-3 2.3打开ffmpeg的视频解码器.mp4
11-4 2.4ffmpeg视频解码并分析H264压缩算法.mp4
11-5 2.5打开ffmpeg格式转换和缩放器.mp4
11-6 2.6使用ffmpeg转换为RGB数据并缩放视频.mp4
11-7 2.7重构封装FFmpeg类完成打开和关闭视频接口.mp4
11-8 2.8重构FFmpeg读取视频帧接口.mp4
11-9 2.9重构ffmpeg解码接口.mp4
11-10 2.10重构封装FFmpeg缩放接口.mp4
12-1 3.1基于QT的播放器界面绘制.mp4
12-2 3.2通过QT显示转码后的RGB数据.mp4
12-3 3.3创建解码线程控制播放速度.mp4
12-4 3.4通过QT打开外部视频.mp4
13-1 4.1视频总时间显示.mp4
13-2 4.2视频播放的当前时间显示.mp4
13-3 4.3进度条显示播放进度.mp4
13-4 4.4进度条拖动控制播放位置.mp4
13-5 4.5控制视频的播放和暂停.mp4
13-6 4.6视频显示和窗口大小同步变化.mp4
13-7 4.7重载QT滑动条点击控制播放进度.mp4
14-1 5.1QT音频库介绍和示例.mp4
14-2 5.2QT音频播放类封装.mp4
14-3 5.3QT音频播放的启动和停止接口实现.mp4
14-4 5.4QT音频播放暂停和缓冲写入接口实现.mp4
14-5 5.5ffmpeg音频解码器打开.mp4
14-6 5.6ffmpeg音频解码.mp4
14-7 5.7ffmpeg音频重采样标准化音频的输出格式.mp4
14-8 5.8完成音视频的播放.mp4
14-9 5.9通过多线程和缓冲队列实现音视频同步.mp4
14-10 将XPLay播放器项目移植到ubuntu下并修正出现的声音问题.mp4
15-1 6.1代码下载说明.mp4
15-2 6.2课程总结.mp4
课程全套资料.zip

发表回复

后才能评论

默认解压密码为:WWW.XDXUEXI.COM(网站域名大写)

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。

学习资源属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、请您在购买获取之前确认好 是您所需要的资源。如其它疑问联系客服QQ:7512117

首先站长持续更新很多年了,投入了大量时间以及资金,也是唯一生活收入来源,域名永远不会更换,有任何问题可以先加我QQ:7512117咨询, 承诺保证每天更新从不间断。诚心经营,用时间说话。

课程都是站长花大量金钱以及投稿收集得来,课程都是全站最新发布的,一手更新货源,如有后期作者更新也会第一时间更新发布。请持续关注本站。