基于qt和ffmpeg视频播放器开发实战-夏曹俊-专题视频课程

基于qt和ffmpeg视频播放器开发实战—24527人已学习
课程介绍    
基于qt和ffmpeg视频播放器开发实战-夏曹俊-专题视频课程_第1张图片
    ffmpeg是世界上应用广的开源视频处理框架,在各个平台(windows,linux,嵌入式、Android、IOS)被广泛应用,可以说是做视频相关项目技能 qt是目前跨平台项目界面开发的第一选择,本课程基于这两种框架在加上VC++,给大家讲解延时如何开发出一个视频播放器,各个模块如何结合,如何考虑性能问题,如何设计封装类,如何处理各种异常情况。
课程收益
    通过本课程的学习,使得同学能够熟练应用ffmpeg和qt开发,有了实战解决问题的能力并强化了学员c++的能力。
讲师介绍
    夏曹俊 更多讲师课程
    夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿真,计算机视觉,嵌入式图像处理,云安全审计项目,比赛鹰眼系统,主编出版过《C++实训教程》,并同时熟悉php,c#,java,安卓项目研发。
课程大纲
  第1章:课程介绍和环境准备
    1. 课程介绍_加qq群462249121下载源码  5:55
    2. 学习方法说明和课程代码下载演示  2:16
    3. 音视频基础知识mpeg4封装格式音视频编码格式讲解  10:15
    4. 音视频解封装和解码原理分析  18:02
    5. 图形像素格式RGB和YUV格式分析  15:36
    6. PCM音频采样率_通道_planar等格式参数分析  8:37
    7. MP4标准和h264格式的NAL的GOP分析  15:53
    8. QT开发环境下载和安装  12:22
    9. QtSDK路径目录文件说明  8:28
    10. 创建第一个qtcreator项目_并确定文件和目录的作用  12:43
    11. 在linux中安装qt及其依赖并编写测试项目  6:17
    12. windows下qtcreator调试环境安装配置使用  9:44
    13. vs创建QT项目并详细介绍vs项目设置  13:17
    14. VS设置qt库版本导出为qtcreator项目  9:29
  第2章:FFmpeg编译和开发环境准备
    1. windows下ffmpeg库下载安装方法和库文件说明  6:13
    2. VS2015配置开发显示ffmpeg配置信息测试项目  12:52
    3. VS2015配置32位和64位通用的ffmpeg测试程序  9:33
    4. QtCreator配置32位和64位windows通用的ffmpeg测试程序  14:14
    5. 项目移植到ubuntu中并配置跨平台的pro文件  16:31
  第3章:FFmpeg解封装
    1. ffmpeg SDK软硬解码流程说明  5:08
    2. ffmpeg音视频解封装用到的函数和结构体详解  10:11
    3. avformat_open_input函数详解  6:20
    4. 初始化解封装使用avformat_open_input打开MP4文件,并设置延时等属性  17:10
    5. AVFormatContext结构分析  6:04
    6. avformat_close_input清理封装上下文  6:30
    7. avformat_find_stream_info探测获取封装上下文的格式信息并打印  8:08
    8. AVStream和AVCodecParameters分析  13:16
    9. 通过遍历获取AVStream音频流信息并打印参数  10:06
    10. 通过遍历和av_find_best_stream方法获取视频流信息并打印参数.  18:31
    11. av_read_frame读取帧数据函数分析和产生的空间问题分析  7:07
    12. AVPacket结构解析空间申请-初始化-复制-引用计数函数讲解  10:27
    13. av_seek_frame改变播放进度函数详解  8:37
    14. av_read_frame和av_seek_frame代码示例并分析内存占用和清理情况  21:24
  第4章:FFmepg解码和像素格式、音频采样转换
    1. AVCodecContext解码上下文初始化讲解  9:18
    2. 音视频解码上下文创建配置和打开avcodec_open2打开演示  14:13
    3. AVFrame格式解析和空间处理函数  9:37
    4. avcodec_send_packet和avcodec_receive_frame函数讲解  7:22
    5. avcodec_send_packet和avcodec_receive_frame完成音视频解码代码  12:30
    6. sws_getContext和sws_scale像素格式和尺寸转换函数讲解  12:43
    7. sws_getContext像素格式上下文初始化代码演示  11:42
    8. sws_scale像素格式转换代码演示  6:29
    9. 音频重采样SwrContext格式和swr_convert相关函数详解  5:17
    10. swr_init音频重采样上下文初始化和swr_convert音频重采样代码示例  13:22
  第5章:XPlay2 Qt音频及OpenGLShader显示YUV
    1. Qt音频播放接口QAudioOutput详解  11:49
    2. Qt播放音频代码演示(源码)  11:11
    3. Qt的opengl编程分析及QOpenGLWidget使用方法  8:41
    4. 顶点和片元作色器原理讲解和yuv转rgb的glsl代码讲解  27:59
    5. 创建和显示材质glTexImage2D  8:04
    6. 创建QtOpengl项目提升窗口控件并重载QOpenGLWidget函数(源码)  12:01
    7. shader代码并用QGLShaderProgram载入(源码)  16:50
    8. 写入顶点和材质坐标glVertexAttribPointer(源码)  8:48
    9. 完成材质的初始化和显存和内存空间分配glTexImage2D(源码)  11:52
    10. 完成对yuv文件使用OpenGLShader播放(源码)  15:02
  第6章:XPlay2.0 播放器项目实战开发一
    1. 面向对象的五大原则  12:14
    2. XPlay2.0项目类图分析  12:23
    3. XDemu类Open接口开发并测试打开本地文件和香港卫视直播流(源码)  20:44
    4. XDemu类Read接口开发测试并分析内存泄露(源码)  11:26
    5. AVCodecParameters音视频参数获取和复制(源码)  9:48
    6. av_seek_frameXDemu类Seek接口和清理关闭接口完成(源码)  12:10
    7. XDecode音视频解码器打开关闭和清理avcodec_open2(源码)  15:46
    8. XDecode的音视频解码Send和Recv接口开发并测试(源码)  15:53
    9. XVideoWidget初始化接口完成并测试调用(源码)  14:45
    10. 不完整,已重新上传,等审核XVideoWidget显示完成并添加测试线程完成视频图像播放(源码)  8:50
    11. (不用看,错误)XVideoWidget初始化接口完成并测试调用  14:45
    12. XVideoWidget显示完成并添加测试线程完成视频图像播放  12:32
  第7章:XPlay2.0 播放器项目实战开发二
    1. XResample音频重采样Open和Close接口完成(源码)  9:05
    2. XResample接口完成并添加测试代码(源码)  12:44
    3. XAudioPlay音频播放接口Open和Close接口完成并添加测试代码(源码)  14:57
    4. XAudioPlay音频接口完成并测试音频播放成功(源码)  8:14
    5. XAudioThread打开音频解码、重采样、播放成功(源码)  15:28
    6. XAudioThread缓冲队列Push完成  8:06
    7. XAudioThread完成功能并编写测试代码(源码)  10:21
    8. XVideoThread视频解码线程和显示接口完成并测试(源码)  19:14
    9. XDemuxThread的Open接口完成  11:19
    10. XDemuxThread音视频播放测试完成(源码)  8:30
  第8章:XPlay2.0 播放器项目实战开发三
    1. 音视频同步策略分析并计算出当前音频播放的pts  17:28
    2. 测试播放rtmp香港卫视直播解决视频显示的行对齐问题(源码)  9:47
    3. 通过界面选择打开视频文件(源码)  14:45
    4. 抽象出XDecodeThread类添加Push和Pop函数  19:45
    5. XDecodeThread添加Clear清理接口清理音视频线程的缓冲队列(源码)  6:30
    6. 所有模块添加Close关闭线程和清理资源接口解决程序退出会宕掉的bug(源码)  11:05
    7. 使用VS的诊断工具查看内存泄漏问题并修正音频播放线程内存泄漏(源码)  6:27
    8. 使用QSlider进度条显示播放的进度  11:01
    9. 窗口尺寸变化和双击全屏播放视频(源码)  7:30
    10. 各个模块添加暂停功能SetPause完成音视频播放暂停  23:13
    11. 完成了Seek视频进度跳转到关键帧位置(源码)  14:59
    12. 完成了音视频Seek封装功能  14:13
    13. 重构XDemuxThread和XDecode和ffmpeg解耦合  17:39
    14. 重载XSlider解决滑动条拖动bug并支持点击滑动条转到指定播放位置(源码)  9:08
    15. 系统移植到ubuntu的linux64位环境编译运行(源码)  22:01
  第9章:XPlay1.0 课程
    1. 本章都是XPlay1.0课程 qt开发环境准备  14:47
    2. ffmpeg开发环境准备  17:34
    3. 第一个例子,打开视频获取视频信息  16:03
    4. 读取视频并分析视频包  21:54
    5. 打开视频解码器  8:28
    6. 视频解码并分析H264解码  14:13
    7. 打开格式转换和缩放  15:07
    8. 视频转RGB并缩放  6:18
    9. 重构封装FFmpeg类完成打开和关闭视频接口  19:45
    10. 重构读取视频帧接口  9:24
    11. 重构解码接口  11:53
    12. 重构ToRGB接口  10:05
    13. 基于QT的播放器界面绘制  10:06
    14. 通过QT显示转码后的RGB数据  19:28
    15. 创建解码线程控制播放速度  17:40
    16. 通过QT打开外部视频  8:32
    17. 视频总时间显示  7:32
    18. 视频播放的当前时间显示  9:08
    19. 进度条显示播放进度  4:58
    20. 进度条拖动控制播放位置  16:57
    21. 控制视频的播放和暂停  14:24
    22. 视频显示和窗口大小变化同步  14:39
    23. 重载QT滑动条类鼠标点击移动滑动条并跳转到相应的视频位置  6:57
    24. QT音频库介绍和示例  8:10
    25. QT音频播放类封装  6:24
    26. QT音频播放的启动和停止接口实现  5:12
    27. QT音频播放暂停和缓冲写入接口实现  4:04
    28. ffmpeg音频解码器打开  9:50
    29. ffmpeg音频解码  6:34
    30. ffmpeg音频重采样标准化音频的输出格式  21:02
    31. 完成音视频的播放  14:50
    32. 通过多线程和缓冲队列实现音视频同步播放  10:56
    33. 本课程代码下载和目录结构说明  2:11
    34. 课程总结和学习建议和老师联系方式  5:16
    35. ubuntu下安装qt5.8并编译安装ffmpeg  15:37
    36. 将XPLay播放器项目移植到ubuntu下并修正出现的声音问题  16:02
大家可以点击【 查看详情】查看我的课程

你可能感兴趣的:(视频教程)