- 资源介绍
- 更新记录

课程介绍
适合人群:
课程面向音视频行业的入门者,没有太多音视频基础或者是音视频零基础的同学
你将会学到:
课程通过概念分析、代码试验、项目实战的方式当你真正理解音视频
- 课程通过概念分析、代码试验、项目实战的方式当你真正理解音视频
- 实现接入多路RTSP网络摄像头,预览多路视频并完成硬盘录像机自动录制功能
- 学会软解码和硬解码直接渲染
课程简介:
课程已经更新完成,大纲次序也已调整,增加引导内容,增加了onvif和硬编码后不复制到内存直接在GPU中渲染
课程介绍
1课程面向音视频行业的入门者,没有太多音视频基础或者是音视频零基础的同学
2课程通过概念分析、代码试验、项目实战的方式当你真正理解音视频
3提供直播答疑和学员作业代码评审,提升学员的代码能力
4包含视频封装、编解码(H264、 H265、 硬件加速)、像素格式转换、视频渲染
5实现接入多路RTSP网络摄像头,预览多路视频并完成硬盘录像机自动录制功能
课程目录
第1章 开发环境准备和ffmpeg跨平台源码编译(2小时33分钟13节)
1-1 FFmpeg 4.3 音视频课程介绍
1-2 学习引导和章节介绍必看
1-3 windows下ffmpeg源码编译-VS2019环境准备
1-4 windows下ffmpeg源码编译-依赖安装
1-5 windows下ffmpeg源码编译-x264源码编译
1-6 windows下ffmpeg源码编译-音频fdk-aac编译
1-7 windows下ffmpeg源码编译-x265源码编译
1-8 windows下ffmpeg源码编译-编译4.3版本源码
1-9 windows下ffmpeg源码编译项目测试和调试pdb准备
1-10 Linux下ffmpeg源码编译-x264_x265_aac
1-11 Linux下ffmpeg源码编译-编写测试makefile
1-12 QT5.14安装和项目创建并切换不同的QT版本
1-13 章节总结和ffmpeg代码调试设置
第2章 图像格式_基于QT和SDL渲染(3小时57分钟16节)
2-1 学习引导和章节介绍必看
2-2 RGB像素格式原理-实验QT渲染
2-3 QT&SDL渲染合并两幅图像案例-需求和技术分析
2-4 QT&SDL渲染合并两幅图像案例-SDL源码编译和接口分析
2-5 QT&SDL渲染合并两幅图像案例-SDL2渲染RGB图像示例
2-6 QT&SDL渲染合并两幅图像案例-SDL2渲染到QT窗口
2-7 QT&SDL渲染合并两幅图像案例-合并图像渲染后保存到文件
2-8 QT&SDL渲染YUV数据-YUV格式详解并生成YU
2-9 QT&SDL渲染YUV数据-播放YUV格式视频文件
2-10 工厂模式封装SDL-XVideoView接口设计
2-11 工厂模式封装SDL-窗口渲染器和材质的初始化
2-12 工厂模式封装SDL-渲染Draw接口并测试渲染YUV
2-13 工厂模式封装SDL-渲染画面随着窗口大小自动缩放并抗
2-14 工厂模式封装SDL-资源清理接口和接收窗口退出事件
2-15 章总结_代码下载编译说明和作业
2-16 qt_sdl_ubuntu[说明]
第3章 FFmpeg AVFrame视频渲染 (2小时28分钟 9节)
3-1 学习引导和章节介绍必看
3-2 AVFrame结构体和相关ffmpeg接口详解
3-3 测试AVFrame的空间分配和引用计数接口并测试字节
3-4 YUV数据转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-2 sws_scale接口-像素格式转换函数分析
4-3 sws_scale接口-示例YUV转换为RGBA并写
4-4 sws_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-3 FFMpeg编码接口和AVPacket结构体详解
5-4 FFmpeg编码器获取和上下文打开
5-5 完成了视频帧创建和编码
5-6 完成h264和h265编码并使用VLC测试播放
5-7 H264原理-宏块、帧间预测、I帧_帧内预测PB帧G
5-8 H264原理-变换、量化、熵编码变长和算数编码CAB
5-9 编码参数设置-x264预设编码器preset_tun
5-10 编码参数设置-ultrafast最快和zerolat
5-11 编码参数设置-ABR、CQP质量、X264和x265
5-12 编码参数设置-CBR恒定比特率_CRF恒定速率因子_
5-13 H264码流中NALU_SPS_PPS_IDR帧的分
5-14 代码测试解析出AVPacket中的NALU类型SPS
5-15 XEncode编码封装-上下文创建和测试代码
5-16 XEncode编码封装-线程安全和支持crf参数
5-17 XEncode编码封装-编码和AVFrame创建接口
5-18 XEncode编码封装-解决丢帧 添加获取编码缓冲区
5-19 章总结_代码下载编译说明
第6章 FFmpeg视频软解码和硬解码 (3小时5分钟 12节)
6-1 学习引导和章节介绍必看
6-2 FFmpeg视频解码接口详细分析
6-3 从h264文件中读取AVPacket
6-4 多线程软解码-基于ffmpeg接口完成视频解码
6-5 多线程软解码-解码后渲染并测试多线程解码帧率
6-6 硬解码-硬件GPU加速解码DXVA2并测试CPU使用
6-7 硬解码-XVideoView支持渲染硬解码NV12格
6-8 XDecode封装-重构XEncode抽象基类XCo
6-9 XDecode封装-解码支持硬解并进行播放测试
6-10 硬解码不复制到内存直接渲染-原理和接口分析
6-11 硬解码不复制到内存直接渲染-DXVA直接渲染实现
6-12 章总结和作业要求
第7章 FFmpeg封装和解封装 (5小时13分钟 14节)
7-1 学习引导和章节介绍必看
7-2 封装分析和MP4封装格式详解
7-3 FFmpeg解封装-流程和接口详解
7-4 FFmpeg解封装-解出数据并区分音频视
7-5 FFmpeg解封装-解封后视频解码并渲染
7-6 FFmpeg重封装-流程分析和接口详解
7-7 FFmpeg重封装-av_seek_frame进度控
7-8 FFmpeg重封装-完成重封装mp4文件基本代码
7-9 FFmpeg重封装-剪切中间10秒视频并重新计算pt
7-10 XDemux封装-抽象出XFormat重构解封装
7-11 XMux封装-封装代码重构并测试重新封装音视频文件
7-12 根据输入的文件名和时间参数完成截断视频功能
7-13 完成视频重编码为h265并写重新封装MP4
7-14 章总结和代码说明
第8章 FFmpeg解封装rtsp并录制视频 (4小时31分钟 16节)
8-1 学习引导和章节介绍必看
8-2 使用VLC模拟一个rtsp服务器
8-3 RTSP协议详细分析包括鉴权协议分析
8-4 大华和海康相机设置和rtsp协议抓包分析
8-5 ffmpeg的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-2 XViewer多路H265监控录放开发项目需求文档详
9-3 XCodec封装音视频编解码和渲染的动态链接库编译和
9-4 预览界面设计说明XViewer项目创建和配置并设置程
9-5 XViewer窗口自定义标题_关闭_最小化按钮和窗口
9-6 XViewer窗口布局设计和窗口最大化和恢复处理
9-7 右键菜单调整预览窗口数量1_4_9_16通过QGri
9-8 完成摄像机管理的数据的增删改模型层代码
9-9 XCameraConfig持久化写入和读取文件中的摄
9-10 完成相机配置读取和列表显示列表显示
9-11 代码生成新增摄像机配置界面_并使用qss设置按钮样式
9-12 完成摄像机管理的修改和删除功能
9-13 101通过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-3 PCM格式_音频编码分析_SDL音频播放接口介绍
10-4 完成SDL播放PCM音频文件项目
10-5 完成了XAudioPlay类的单件模式初始化
10-6 完成XAudioPlay播放音频通过缓冲队列传递数据
10-7 音频播放音量和播放速度_慢放和快放音频处理
10-8 mp4中音频解码解封装手动转换平面格式并使用用SDL
10-9 音视频同步_初始化_渲染播放和时间同步协作图分析
10-10 音视频播放XPlayer视频打开和线程初始化
10-11 完成音视频文件多线程同步播放
10-12 章总结和代码说明
第11章 XViewer 0.2版本 (2小时9分钟 6节)
11-1 学习引导和章节介绍必看
11-2 xviewer0.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-3 Onvif协议分析和测试工具使用
12-4 gsoap的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-1 cmake构建ffmpeg6.0和课程项目说明
13-2 cmake_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
常见问题FAQ
- 视频课程没更新怎么办?
- 课程免费更新,持续更新
- 购买后怎么如何下载资源?
- 有些资源没更新完结怎么办?
- 有问题不懂想咨询怎么办?
- 2026-04-17Hi,初次和大家见面了,请多关照!