发布时间: 2019-11-29
发货 百度网盘 自动发货 时间 2020年 类型 会员打折
¥15.00
5.0分/10人
适用人群
有一定C或者C++基础,想要提高自己是实战能力学员
或者想要学习ffmpeg和qt的同学
课程概述
课程在2018年4月4日已经更新内容
开发工具:vs2015为主,最后移植到qtcreator和ubuntu下
前置知识:需要有c++基础,了解qt
课程购买后加入 462249121 群咨询课程中问题
这门课程给大家讲解的是基于当前最流行FFMpeg 3.3视频处理框架和最流行的QT5跨平台库。开发的一个完整的视频播放器,可不是基于视频播放控件开发,而是从底层全部实现。
本课程从功能需求分析、基本原理讲解到代码实现演示,让您经历一个实际项目的全过程。
特别适合有一定C或者C++基础,想要提高自己是实战能力学员,学完此门课,可以说你们项目经历里面就可以增加一项,开发过qt和ffmpeg的C++程序,实现了一个播放器的音视频全部功能。
本课程同时也适合与想要学习ffmpeg和qt的同学,本课程学完之后你就已经将ffmpeg可以投入实际的项目应用,对于QT的基本原理你也非常清楚了,可以实现复杂的qt界面,您就可以独立开发出音视频的各种应用,包括无人机,安防,直播视频直播,视频会议,并能够开发出跨平台的应用。课程在windows中用vs演示讲解,课程最后讲解播放器代码移植到linux下。
课程目录
├─00.配套资料(代码、讲义)
│ 00.配套资料(代码、讲义).rar
│
├─01.介绍
│ 01.课程介绍
│ 02.音视频基础知识mpeg4封装格式音视频编码格式讲解
│ 03.音视频解封装和解码原理分析
│ 04.图形像素格式RGB和YUV格式分析
│ 05.PCM音频采样率_通道_planar等格式参数分析
│
├─02.Qt开发环境准备
│ 07.QT开发环境下载和安装
│ 08.QtSDK路径目录文件说明
│ 09.创建第一个qtcreator项目_并确定文件和目录的作用
│ 10.在linux中安装qt及其依赖并编写测试项目
│ 11.windows下qtcreator调试环境安装配置使用
│ 12.vs创建QT项目并详细介绍vs项目设置
│ 13.VS设置qt库版本导出为qtcreator项目
│
├─03.FFmpeg编译和开发环境准备
│ 14.windows下ffmpeg库下载安装方法和库文件说明
│ 15.VS2015配置开发显示ffmpeg配置信息测试项目
│ 16.VS2015配置32位和64位通用的ffmpeg测试程序
│ 17.QtCreator配置32位和64位windows通用的ffmpeg测试程序
│ 18.项目移植到ubuntu中并配置跨平台的pro文件
│
├─04.FFmpeg解封装
│ 19.ffmpeg SDK软硬解码流程说明
│ 20.ffmpeg音视频解封装用到的函数和结构体详解
│ 21.avformat_open_input函数详解
│ 23.AVFormatContext结构分析
│ 24.avformat_close_input清理封装上下文
│ 25.avformat_find_stream_info探测获取封装上下文的格式信息并打印
│ 26.AVStream和AVCodecParameters分析
│ 27.通过遍历获取AVStream音频流信息并打印参数
│ 28. 通过遍历和av_find_best_stream方法获取视频流信息并打印参数.
│ 29. av_read_frame读取帧数据函数分析和产生的空间问题分析
│ 30. AVPacket结构解析空间申请-初始化-复制-引用计数函数讲解
│ 31. av_seek_frame改变播放进度函数详解
│ 32. av_read_frame和av_seek_frame代码示例并分析内存占用和清理情况
│
├─05.FFmepg解码和像素格式、音频采样转换
│ 33.AVCodecContext解码上下文初始化讲解
│ 34.音视频解码上下文创建配置和打开avcodec_open2打开演示
│ 35.AVFrame格式解析和空间处理函数
│ 36.avcodec_send_packet和avcodec_receive_frame函数讲解
│ 37.avcodec_send_packet和avcodec_receive_frame音视频解码代码演示
│ 38.sws_getContext和sws_scale像素格式和尺寸转换函数讲解
│ 39.sws_getContext像素格式上下文初始化代码演示
│ 40.sws_scale像素格式转换代码演示
│ 41.音频重采样SwrContext格式和swr_convert相关函数详解
│ 42. swr_init音频重采样上下文初始化和swr_convert音频重采样代码示例
│
├─06.XPlay2Qt音频及OpenGLShader显示YUV
│ 43.Qt音频播放接口QAudioOutput详解
│ 44.Qt播放音频代码演示(源码)
│ 45.Qt的opengl编程分析及QOpenGLWidget使用方法
│ 46.顶点和片元作色器原理讲解和yuv转rgb的glsl代码讲解
│ 47.创建和显示材质glTexImage2D
│ 48.创建QtOpengl项目提升窗口控件并重载QOpenGLWidget函数(源码)
│ 49.shader代码并用QGLShaderProgram载入(源码)
│ 50.写入顶点和材质坐标glVertexAttribPointer(源码)
│ 51.完成材质的初始化和显存和内存空间分配glTexImage2D(源码)
│ 52. 完成对yuv文件使用OpenGLShader播放(源码)
│
├─07.XPlay2.0播放器项目实战开发一
│ 53.面向对象的五大原则
│ 54.XPlay2.0项目类图分析
│ 55.XDemu类Open接口开发并测试打开本地文件和香港卫视直播流(源码)
│ 56.XDemu类Read接口开发测试并分析内存泄漏(源码)
│ 57.AVCodecParameters音视频参数获取和复制(源码)
│ 58.av_seek_frameXDemu类Seek接口和清理关闭接口完成(源码)
│ 59.XDecode音视频解码器打开关闭和清理avcodec_open2(源码)
│ 60.XDecode的音视频解码Send和Recv接口开发并测试(源码)
│ 61.XVideoWidget初始化接口完成并测试调用(源码)
│ 62. XVideoWidget显示完成并添加测试线程完成视频图像播放(源码)
│
├─08.XPlay2.0播放器项目实战开发二
│ 63.XResample音频重采样Open和Close接口完成(源码)
│ 64.XResample接口完成并添加测试代码(源码)
│ 65.XAudioPlay音频播放接口Open和Close接口完成并测试(源码)
│ 66.XAudioPlay音频接口完成并测试音频播放成功(源码)
│ 67.XAudioThread打开音频解码、重采样、播放成功(源码)
│ 68.XAudioThread缓冲队列Push完成
│ 69.XAudioThread完成功能并编写测试代码(源码)
│ 70.XVideoThread视频解码线程和显示接口完成并测试(源码)
│ 71.XDemuxThread的Open接口完成
│ 72. XDemuxThread音视频播放测试完成(源码)
│
└─09.XPlay2.0播放器项目实战开发三
73.音视频同步策略分析并计算出当前音频播放的pts
74.测试播放rtmp香港卫视直播解决视频显示的行对齐问题(源码)
75.通过QT界面选择打开视频文件(源码)
76.抽象出XDecodeThread类添加Push和Pop函数
77.XDecodeThread添加Clear清理接口清理音视频线程的缓冲队列(源码)
78.所有模块添加关闭线程和清理资源接口解决程序退出宕掉的bug(源码)
79.使用VS的诊断工具查看内存泄漏并修正音频播放线程内存泄漏(源码)
80.使用QSlider进度条显示播放的进度
81.窗口尺寸变化和双击全屏播放视频(源码)
82. 各个模块添加暂停功能SetPause完成音视频播放暂停(源码)
83. 完成了Seek视频进度跳转到关键帧位置(源码)
84. 完成了音视频Seek封装功能
85. 重构XDemuxThread和XDecode和ffmpeg解耦合
86. 重载XSlider解决滑动条拖动bug并支持点击转到指定播放位置(源码)
87. 系统移植到ubuntu的linux64位环境编译运行(源码)
课程大小
备注(4)20191129编程开发