MP4标准和h264格式的NAL的GOP分析

20.5万 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
有一定C或者C++基础,想要提高自己是实战能力学员 或者想要学习ffmpeg和qt的同学
你将会学到
基于当前流行FFMpeg视频处理框架和流行的QT跨平台库。开发的一个完整的视频播放器,不是基于视频播放控件开发,而是从底层全部实现
课程简介

课程内容已经更新,添加基础知识,解决卡顿和同步问题,并添加opengl shader播放yuv功能,发布XPlay2.0版本 。

    这门课程给大家讲解的是基于当前流行FFMpeg视频处理框架和流行的QT跨平台库。开发的一个完整的视频播放器,不是基于视频播放控件开发,而是从底层全部实现。
   本课程从功能需求分析、基本原理讲解到代码实现演示,让您经历一个实际项目的全过程。
   特别适合有一定C或者C++基础,想要提高自己是实战能力学员,学完此门课,可以说你们项目经历里面就可以增加一项,开发过qt和ffmpeg的C++程序,实现了一个播放器的音视频全部功能。
   本课程同时也适合与想要学习ffmpeg和qt的同学,本课程学会之后你就已经将ffmpeg可以投入实际的项目应用,对于QT的基本原理你也非常清楚了,可以实现复杂的qt界面,您就可以独立开发出音视频的各种应用,包括无人机,安防,直播视频直播,视频会议,并能够开发出跨平台的应用.


FFMpeg+Qt5开发播放器C++实战视频课程2.0版本更新内容

  1. 补充了基础知识,让没有音视频基础的同学也能学习。

  2. 补充了linux下ffmpeg的编译过程

  3. 独立的代码演示基于ffmpeg音视频解封装,方便参考

  4. 独立的代码演示基于ffmpeg音视频解码、音频重采样、视频像素格式转换和尺寸变换

  5. 独立的代码演示基于Qt的音频播放

  6. 独立的代码演示基于Qt的opengl shader绘制yuv数据

  7. 补充了示例的全部源代码,并添加了注释

  8. 原来基于QImage的图像尺寸转换策略(基于CPU效率低),替换为高性能opengl材质实现(基于GPU)

  9. 原来使用sws_scale的yuv转换RGB(基于CPU效率低),替换为使用opengl Shader(基于GPU使用glsl)

  10. 添加了全屏播放功能

  11. 修正了Seek不到实际位置的问题(h264只能跳转到关键帧),跳转到目标的位置

  12. 修正了由于特殊的视频尺寸会造成花屏的情况 (行对齐问题,通过行复制解决)

  13. 修正了程序退出时会宕掉的情况(添加线程退出处理)

  14. XPlay代码重构降低耦合,隔离了解封装和解码

  15. XPlay代码重构添加解封转、解音频、解视频线程

  16. 重载QT的QOpenGLWidget使用opengl绘制yuv图像,并且视频上可以叠加qt控件不闪烁

  17. 修正了音视频同步问题,将QT的音频播放缓冲时间算进去



课程讲师:夏曹俊

目录1.png

目录2.png

展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交