导航

基于qt和ffmpeg视频播放器开发实战

基于qt和ffmpeg视频播放器开发实战
共126节 45490人在学 课程详情
课程目录
讨论留言
  • 课程介绍和环境准备

    • 课程介绍
    • 学习方法说明和课程代码下载演示
    • 音视频基础知识mpeg4封装格式音视频编码格式讲解
    • 音视频解封装和解码原理分析
    • 图形像素格式RGB和YUV格式分析
    • PCM音频采样率_通道_planar等格式参数分析
    • MP4标准和h264格式的NAL的GOP分析
    • QT开发环境下载和安装
    • QtSDK路径目录文件说明
    • 创建第一个qtcreator项目_并确定文件和目录的作用
    • 在linux中安装qt及其依赖并编写测试项目
    • windows下qtcreator调试环境安装配置使用
    • vs创建QT项目并详细介绍vs项目设置
    • VS设置qt库版本导出为qtcreator项目
  • FFmpeg编译和开发环境准备

    • windows下ffmpeg库下载安装方法和库文件说明
    • VS2015配置开发显示ffmpeg配置信息测试项目
    • VS2015配置32位和64位通用的ffmpeg测试程序
    • QtCreator配置32位和64位windows通用的ffmpeg测试程序
    • 项目移植到ubuntu中并配置跨平台的pro文件
  • FFmpeg解封装

    • ffmpeg SDK软硬解码流程说明
    • ffmpeg音视频解封装用到的函数和结构体详解
    • avformat_open_input函数详解
    • 初始化解封装使用avformat_open_input打开MP4文件,并设置延时等属性
    • AVFormatContext结构分析
    • avformat_close_input清理封装上下文
    • avformat_find_stream_info探测获取封装上下文的格式信息并打印
    • AVStream和AVCodecParameters分析
    • 通过遍历获取AVStream音频流信息并打印参数
    • 通过遍历和av_find_best_stream方法获取视频流信息并打印参数.
    • av_read_frame读取帧数据函数分析和产生的空间问题分析
    • AVPacket结构解析空间申请-初始化-复制-引用计数函数讲解
    • av_seek_frame改变播放进度函数详解
    • av_read_frame和av_seek_frame代码示例并分析内存占用和清理情况
  • FFmepg解码和像素格式、音频采样转换

    • AVCodecContext解码上下文初始化讲解
    • 音视频解码上下文创建配置和打开avcodec_open2打开演示
    • AVFrame格式解析和空间处理函数
    • avcodec_send_packet和avcodec_receive_frame函数讲解
    • avcodec_send_packet和avcodec_receive_frame完成音视频解码代码
    • sws_getContext和sws_scale像素格式和尺寸转换函数讲解
    • sws_getContext像素格式上下文初始化代码演示
    • sws_scale像素格式转换代码演示
    • 音频重采样SwrContext格式和swr_convert相关函数详解
    • swr_init音频重采样上下文初始化和swr_convert音频重采样代码示例
  • XPlay2 Qt音频及OpenGLShader显示YUV

    • Qt音频播放接口QAudioOutput详解
    • Qt播放音频代码演示(源码)
    • Qt的opengl编程分析及QOpenGLWidget使用方法
    • 顶点和片元作色器原理讲解和yuv转rgb的glsl代码讲解
    • 创建和显示材质glTexImage2D
    • 创建QtOpengl项目提升窗口控件并重载QOpenGLWidget函数(源码)
    • shader代码并用QGLShaderProgram载入(源码)
    • 写入顶点和材质坐标glVertexAttribPointer(源码)
    • 完成材质的初始化和显存和内存空间分配glTexImage2D(源码)
    • 完成对yuv文件使用OpenGLShader播放(源码)
  • XPlay2.0 播放器项目实战开发一

    • 面向对象的五大原则
    • XPlay2.0项目类图分析
    • XDemu类Open接口开发并测试打开本地文件和香港卫视直播流(源码)
    • XDemu类Read接口开发测试并分析内存泄露(源码)
    • AVCodecParameters音视频参数获取和复制(源码)
    • av_seek_frameXDemu类Seek接口和清理关闭接口完成(源码)
    • XDecode音视频解码器打开关闭和清理avcodec_open2(源码)
    • XDecode的音视频解码Send和Recv接口开发并测试(源码)
    • XVideoWidget初始化接口完成并测试调用(源码)
    • 不完整,已重新上传,等审核XVideoWidget显示完成并添加测试线程完成视频图像播放(源码)
    • (不用看,错误)XVideoWidget初始化接口完成并测试调用
    • XVideoWidget显示完成并添加测试线程完成视频图像播放
  • XPlay2.0 播放器项目实战开发二

    • XResample音频重采样Open和Close接口完成(源码)
    • XResample接口完成并添加测试代码(源码)
    • XAudioPlay音频播放接口Open和Close接口完成并添加测试代码(源码)
    • XAudioPlay音频接口完成并测试音频播放成功(源码)
    • XAudioThread打开音频解码、重采样、播放成功(源码)
    • XAudioThread缓冲队列Push完成
    • XAudioThread完成功能并编写测试代码(源码)
    • XVideoThread视频解码线程和显示接口完成并测试(源码)
    • XDemuxThread的Open接口完成
    • XDemuxThread音视频播放测试完成(源码)
  • XPlay2.0 播放器项目实战开发三

    • 音视频同步策略分析并计算出当前音频播放的pts
    • 测试播放rtmp香港卫视直播解决视频显示的行对齐问题(源码)
    • 通过界面选择打开视频文件(源码)
    • 抽象出XDecodeThread类添加Push和Pop函数
    • XDecodeThread添加Clear清理接口清理音视频线程的缓冲队列(源码)
    • 所有模块添加Close关闭线程和清理资源接口解决程序退出会宕掉的bug(源码)
    • 使用VS的诊断工具查看内存泄漏问题并修正音频播放线程内存泄漏(源码)
    • 使用QSlider进度条显示播放的进度
    • 窗口尺寸变化和双击全屏播放视频(源码)
    • 各个模块添加暂停功能SetPause完成音视频播放暂停
    • 完成了Seek视频进度跳转到关键帧位置(源码)
    • 完成了音视频Seek封装功能
    • 重构XDemuxThread和XDecode和ffmpeg解耦合
    • 重载XSlider解决滑动条拖动bug并支持点击滑动条转到指定播放位置(源码)
    • 系统移植到ubuntu的linux64位环境编译运行(源码)
  • XPlay1.0 课程

    • 本章都是XPlay1.0课程 qt开发环境准备
    • ffmpeg开发环境准备
    • 第一个例子,打开视频获取视频信息
    • 读取视频并分析视频包
    • 打开视频解码器
    • 视频解码并分析H264解码
    • 打开格式转换和缩放
    • 视频转RGB并缩放
    • 重构封装FFmpeg类完成打开和关闭视频接口
    • 重构读取视频帧接口
    • 重构解码接口
    • 重构ToRGB接口
    • 基于QT的播放器界面绘制
    • 通过QT显示转码后的RGB数据
    • 创建解码线程控制播放速度
    • 通过QT打开外部视频
    • 视频总时间显示
    • 视频播放的当前时间显示
    • 进度条显示播放进度
    • 进度条拖动控制播放位置
    • 控制视频的播放和暂停
    • 视频显示和窗口大小变化同步
    • 重载QT滑动条类鼠标点击移动滑动条并跳转到相应的视频位置
    • QT音频库介绍和示例
    • QT音频播放类封装
    • QT音频播放的启动和停止接口实现
    • QT音频播放暂停和缓冲写入接口实现
    • ffmpeg音频解码器打开
    • ffmpeg音频解码
    • ffmpeg音频重采样标准化音频的输出格式
    • 完成音视频的播放
    • 通过多线程和缓冲队列实现音视频同步播放
    • 本课程代码下载和目录结构说明
    • 课程总结和学习建议和老师联系方式
    • ubuntu下安装qt5.8并编译安装ffmpeg
    • 将XPLay播放器项目移植到ubuntu下并修正出现的声音问题
回复
切换为未回复评论
切换为时间正序
请发表友善的回复…
发表回复
播放页问题反馈
视频学习中有任何产品建议都可由此反
馈,我们将及时处理!

课时介绍

使用VS的诊断工具查看内存泄漏问题并修正音频播放线程内存泄漏(源码)-XPlay2.0 播放器项目实战开发三基于qt和ffmpeg视频播放器开发实战

课程介绍

ffmpeg是世界上应用广的开源视频处理框架,在各个平台(windows,linux,嵌入式、Android、IOS)被广泛应用,可以说是做视频相关项目技能 qt是目前跨平台项目界面开发的第一选择,本课程基于这两种框架在加上VC++,给大家讲解延时如何开发出一个视频播放器,各个模块如何结合,如何考虑性能问题,如何设计封装类,如何处理各种异常情况。
推荐课程

信息系统项目管理师自考笔记

李明 · 719人在学

python从0到1:期货量化交易系统(CTP实战,高频及合成K线数据

王先生 · 22085人在学

手把手搭建Java超市管理系统【附源码】(毕设)

汤小洋 · 4201人在学

Java毕设springboot外卖点餐系统 毕业设计毕设源码 使用教

黄菊华 · 787人在学

基于SSM酒店管理系统(毕设)

小尼老师 · 839人在学

java项目实战之购物商城(java毕业设计)

Long · 5153人在学

手把手搭建Java求职招聘系统【附源码】(毕设)

汤小洋 · 1506人在学

Python Django 深度学习 小程序

钟翔 · 2319人在学

城管局门前三包管理系统+微信小程序(vue+springboot)

赖国荣 · 598人在学

Vue+Uni-app(uniapp)入门与实战+赠送仿美团点餐小程序

李杰 · 3982人在学

正在试验
后自动删除环境
课程实验
本次实验时间已到期 00:00:00

    订阅失败

    基于qt和ffmpeg视频播放器开发实战
    基于qt和ffmpeg视频播放器开发实战 ...

    订阅列表已满,请先移出部分订阅内容。

    当前章节需购买后观看
    开通超级会员免费看!专家精选系列课程,满足你从入门到精通!更有问答月卡免费送,你的问题有问必答!
    提交答案

    购买课程

    扫码完成付费,可继续学习全部课程内容

    加载中...
    课件正在飞速打包中,请耐心等待几秒钟~
    联系我们
    工作时间: 8:30 - 22:00
    客服电话: 400-660-0108
    kefu@csdn.net在线客服
    • 关于我们
    • 招贤纳士
    • 商务合作
    • 寻求报道
    • 京ICP备19004658号
    • 经营性网站备案信息
    • 公安备案号11010502030143
    • 营业执照
    • 北京互联网违法和不良信息举报中心
    • 家长监护
    • 中国互联网举报中心
    • 网络110报警服务
    • Chrome商店下载
    • 账号管理规范
    • 版权与免责声明
    • 版权申诉
    • 出版物许可证
    • ©1999-2024北京创新乐知网络技术有限公司