51CTO-C++音视频实战-FFmpeg基础到工程-多路H265监控录放开发

课程简介:

课程已经更新完成,大纲次序也已调整,增加引导内容,增加了onvif和硬编码后不复制到内存直接在GPU中渲染

课程介绍:

1课程面向音视频行业的入门者,没有太多音视频基础或者是音视频零基础的同学
2课程通过概念分析、代码试验、项目实战的方式当你真正理解音视频
3提供直播答疑和学员作业代码评审,提升学员的代码能力
4包含视频封装、编解码(H264、 H265、 硬件加速)、像素格式转换、视频渲染
5实现接入多路RTSP网络摄像头,预览多路视频并完成硬盘录像机自动录制功能

课程目录:

第1章开发环境准备和ffmpeg跨平台源码编译(2小时33分钟13节)

1-1FFmpeg 4.3 音视频课程介绍
1-2学习引导和章节介绍必看
1-3windows下ffmpeg源码编译-VS2019环境准备
1-4windows下ffmpeg源码编译-依赖安装
1-5windows下ffmpeg源码编译-x264源码编译
1-6windows下ffmpeg源码编译-音频fdk-aac编译
1-7windows下ffmpeg源码编译-x265源码编译
1-8windows下ffmpeg源码编译-编译4.3版本源码
1-9windows下ffmpeg源码编译项目测试和调试pdb准备
1-10Linux下ffmpeg源码编译-x264_x265_aac
1-11Linux下ffmpeg源码编译-编写测试makefile
1-12QT5.14安装和项目创建并切换不同的QT版本
1-13章节总结和ffmpeg代码调试设置
第2章图像格式_基于QT和SDL渲染(3小时57分钟16节)

2-1学习引导和章节介绍必看
2-2RGB像素格式原理-实验QT渲染
2-3QT&SDL渲染合并两幅图像案例-需求和技术分析
2-4QT&SDL渲染合并两幅图像案例-SDL源码编译和接口分析
2-5QT&SDL渲染合并两幅图像案例-SDL2渲染RGB图像示例
2-6QT&SDL渲染合并两幅图像案例-SDL2渲染到QT窗口
2-7QT&SDL渲染合并两幅图像案例-合并图像渲染后保存到文件
2-8QT&SDL渲染YUV数据-YUV格式详解并生成YU
2-9QT&SDL渲染YUV数据-播放YUV格式视频文件
2-10工厂模式封装SDL-XVideoView接口设计
2-11工厂模式封装SDL-窗口渲染器和材质的初始化
2-12工厂模式封装SDL-渲染Draw接口并测试渲染YUV
2-13工厂模式封装SDL-渲染画面随着窗口大小自动缩放并抗
2-14工厂模式封装SDL-资源清理接口和接收窗口退出事件
2-15章总结_代码下载编译说明和作业
2-16qt_sdl_ubuntu
第3章 FFmpeg AVFrame视频渲染 (2小时28分钟 9节)

3-1学习引导和章节介绍必看
3-2AVFrame结构体和相关ffmpeg接口详解
3-3测试AVFrame的空间分配和引用计数接口并测试字节
3-4YUV数据转AVFrame并添加渲染接口
3-5帧率控制策略和sleep时间误差分析
3-6测试sleep和wait的精确度并实现精确控制帧率
3-7多线程控制帧率渲染AVFrame的YUV数据
3-8界面显示fps和并可设置fps_控制渲染帧率
3-9章总结_代码下载编译说明和作业
第4章 FFmpeg像素格式转换和多路YUV、RGB渲染 (2小时37分钟 11节)

4-1学习引导和章节介绍必看
4-2sws_scale接口-像素格式转换函数分析
4-3sws_scale接口-示例YUV转换为RGBA并写
4-4sws_scale接口-示例_像素格式RGBA转换为
4-5多路YUV_RGB文件播放器-需求和设计说明
4-6多路YUV_RGB文件播放器-QT界面设计和打开文件
4-7多路YUV_RGB文件播放器-XVideoView支
4-8多路YUV_RGB文件播放器-读取像素数据到AVFr
4-9多路YUV_RGB文件播放器-支持多格式两路播放
4-10多路YUV_RGB文件播放器-多路视频播放和设置不同
4-11章总结_代码下载编译说明和作业
第5章 FFmpeg视频编码原理和实战 (4小时26分钟 19节)

5-1学习引导和章节介绍必看
5-2视频编码原理概述
5-3FFMpeg编码接口和AVPacket结构体详解
5-4FFmpeg编码器获取和上下文打开
5-5完成了视频帧创建和编码
5-6完成h264和h265编码并使用VLC测试播放
5-7H264原理-宏块、帧间预测、I帧_帧内预测PB帧G
5-8H264原理-变换、量化、熵编码变长和算数编码CAB
5-9编码参数设置-x264预设编码器preset_tun
5-10编码参数设置-ultrafast最快和zerolat
5-11编码参数设置-ABR、CQP质量、X264和x265
5-12编码参数设置-CBR恒定比特率_CRF恒定速率因子_
5-13H264码流中NALU_SPS_PPS_IDR帧的分
5-14代码测试解析出AVPacket中的NALU类型SPS
5-15XEncode编码封装-上下文创建和测试代码
5-16XEncode编码封装-线程安全和支持crf参数
5-17XEncode编码封装-编码和AVFrame创建接口
5-18XEncode编码封装-解决丢帧 添加获取编码缓冲区
5-19章总结_代码下载编译说明
第6章 FFmpeg视频软解码和硬解码 (3小时5分钟 12节)

6-1学习引导和章节介绍必看
6-2FFmpeg视频解码接口详细分析
6-3从h264文件中读取AVPacket
6-4多线程软解码-基于ffmpeg接口完成视频解码
6-5多线程软解码-解码后渲染并测试多线程解码帧率
6-6硬解码-硬件GPU加速解码DXVA2并测试CPU使用
6-7硬解码-XVideoView支持渲染硬解码NV12格
6-8XDecode封装-重构XEncode抽象基类XCo
6-9XDecode封装-解码支持硬解并进行播放测试
6-10硬解码不复制到内存直接渲染-原理和接口分析
6-11硬解码不复制到内存直接渲染-DXVA直接渲染实现
6-12章总结和作业要求
第7章 FFmpeg封装和解封装 (5小时13分钟 14节)

7-1学习引导和章节介绍必看
7-2封装分析和MP4封装格式详解
7-3FFmpeg解封装-流程和接口详解
7-4FFmpeg解封装-解出数据并区分音频视
7-5FFmpeg解封装-解封后视频解码并渲染
7-6FFmpeg重封装-流程分析和接口详解
7-7FFmpeg重封装-av_seek_frame进度控
7-8FFmpeg重封装-完成重封装mp4文件基本代码
7-9FFmpeg重封装-剪切中间10秒视频并重新计算pt
7-10XDemux封装-抽象出XFormat重构解封装
7-11XMux封装-封装代码重构并测试重新封装音视频文件
7-12根据输入的文件名和时间参数完成截断视频功能
7-13完成视频重编码为h265并写重新封装MP4
7-14章总结和代码说明
第8章 FFmpeg解封装rtsp并录制视频 (4小时31分钟 16节)

8-1学习引导和章节介绍必看
8-2使用VLC模拟一个rtsp服务器
8-3RTSP协议详细分析包括鉴权协议分析
8-4大华和海康相机设置和rtsp协议抓包分析
8-5ffmpeg的rtsp相关接口分析和多线程处理解封装
8-6完成XThread线程类的启动和安全退出_XLOG日
8-7开发XDemuTask线程类使用上下文的回调函数实现
8-8解封装rtsp断网或摄像机重启后自动重连处理
8-9解封装解码线程责任链设计模式和线程安全的list类图
8-10完成责任链代码和返回智能指针类型的解封装视频参数
8-11完成解码线程初始化和并实现线程安全的XAVPacke
8-12完成通过责任链接收解封装AVPacket数据并解码视
8-13完成rtsp的多线程责任链解封装解码和渲染
8-14封装音视频处理线程代码初始化传递音视频参数
8-15完成相机录制重新封装处理pts计算问题
8-16章总结和代码测试本地模拟rtsp
第9章 XViewer多路H265监控录放系统0.1版本开发 (7小时43分钟 24节)

9-1学习引导和章节介绍必看
9-2XViewer多路H265监控录放开发项目需求文档详
9-3XCodec封装音视频编解码和渲染的动态链接库编译和
9-4预览界面设计说明XViewer项目创建和配置并设置程
9-5XViewer窗口自定义标题_关闭_最小化按钮和窗口
9-6XViewer窗口布局设计和窗口最大化和恢复处理
9-7右键菜单调整预览窗口数量1_4_9_16通过QGri
9-8完成摄像机管理的数据的增删改模型层代码
9-9XCameraConfig持久化写入和读取文件中的摄
9-10完成相机配置读取和列表显示列表显示
9-11代码生成新增摄像机配置界面_并使用qss设置按钮样式
9-12完成摄像机管理的修改和删除功能
9-13101通过QListWidget拖拽实现指定播放rt
9-14通过拖拽配置完成多窗口rtsp相机的渲染
9-15多路音视频录制模块设计说明和XCameraRecor
9-16定时创建新的视频文件并解决录制文件开发花屏问题
9-17多路相机录制界面交互功能完成
9-18回放界面设计并实现与预览界面的切换按钮
9-19自定义日历控件显示有视频日期继承QCalendarW
9-20点击摄像机刷新日历改变有视频文件日期的背景
9-21点击视频时间列表获取视频绝对路径
9-22添加回放日历中的视频播放器
9-23完成回放视频播放器的播放速度控制_项目0.1版本完成
9-24章总结和XViewer0.1编码和准备发布版本
第10章 音频原理_ffmpeg&SDL播放音视频同步 (4小时4分钟 12节)

10-1学习引导和章节介绍必看
10-2音频核心基础声波频率_采样频率_采样大小_信噪比_多
10-3PCM格式_音频编码分析_SDL音频播放接口介绍
10-4完成SDL播放PCM音频文件项目
10-5完成了XAudioPlay类的单件模式初始化
10-6完成XAudioPlay播放音频通过缓冲队列传递数据
10-7音频播放音量和播放速度_慢放和快放音频处理
10-8mp4中音频解码解封装手动转换平面格式并使用用SDL
10-9音视频同步_初始化_渲染播放和时间同步协作图分析
10-10音视频播放XPlayer视频打开和线程初始化
10-11完成音视频文件多线程同步播放
10-12章总结和代码说明
第11章 XViewer 0.2版本 (2小时9分钟 6节)

11-1学习引导和章节介绍必看
11-2xviewer0.2监控工具支持音视频同步播放
11-3完成QT界面设置音视频播放速度_慢放和快放
11-4完成QT进度条显示视频播放进度
11-5完成音视频的暂停和播放
11-6完成SEEK进度条控制播放进度
第12章 ffmpeg_gsoap_onvif探测和预览onvif协议 (3小时33分钟 13节)

12-1学习引导和章节介绍必看
12-2修正无法删除摄像机和修改线程退出函数后录制回放出错
12-3Onvif协议分析和测试工具使用
12-4gsoap的wsdl2h_vs2019支持ssl编译
12-5生成支持鉴权的onvif代码gsoap的soapcp
12-6创建第一个test_onvif项目
12-7初始化和清理相机探测probe的soap消息头
12-8完成gsoap的onvif_discovery探测设
12-9封装gsoap代码使用c++调用重构设备探测
12-10完成鉴权并获取onvif设备能力GetCapabil
12-11完成onvif鉴权和获取媒体信息GetProfile
12-12完成onvif的rtsp地址获取GetStreamU
12-13基于gsoap的ffmpeg预览onvif摄像机设备
第13章 CMake自动构建FFmpeg6.0 (4小时41分钟 20节)

13-1cmake构建ffmpeg6.0和课程项目说明
13-2cmake_msys2_vs2022环境准备
13-3创建批处理自动运行vs控制台和msys2
13-4使用cmake分步骤手动构建SDL源码
13-5使用cmake自动解压SDL源码
13-6使用cmake自动化构建和安装SDL
13-7使用cmake自动化构建fdk-aac
13-8使用cmake自动化构建opus
13-9使用cmake自动化构建x265
13-10使用cmake构建x264生成并执行shell
13-11手动构建ffmpeg6.0
13-12准备好自动化构建的目录和文件
13-13实现cmake的build_and_install函
13-14使用build_and_install构建x265
13-15实现cmake的config_and_build函数
13-16使用cmake完成ffmpeg6.0的自动化构建开始学习
13-17使用cmake构建xcodec
13-18使用cmake构建xviewer支持QT
13-19使用cmake自动部署xviewer包含自动复制QT
13-20一次性自动构建和安装ffmpeg和xviewer

资源下载此资源下载价格为49.90自学币,终身VIP免费,请先
资源下载
下载价格49.90 自学币
终身VIP免费

本站资料仅供个人学习和研究使用 若本帖作者内容侵犯了原著者的合法权益请提供相应证明材料本站审核通过后将即予以处理

0

评论0

本站资源持续更新中,只需赞助118自学币即可开通终生会员!
显示验证码
没有账号? 注册  忘记密码?

社交账号快速登录