
视频完整缺代码资料
├─第1章 开发环境准备和ffmpeg跨平台源码编译(2小时33分钟13节)
│ 1-1 音视频实训课程介绍.mp4
│ 1-2 学习引导和章节介绍必看.mp4
│ 1-3 环境准备步骤说明VS2019控制台和msys2运行.mp4
│ 1-4 msys2使用pacman安装编译依赖工具.mp4
│ 1-5 完成x264源码编译和安装.mp4
│ 1-6 完成音频编码fdk-aac源码编译和安装.mp4
│ 1-7 完成x265源码编译和安装.mp4
│ 1-8 ffmpeg4.3在vs2019完成源码编译.mp4
│ 1-9 第一个vs2019ffmpeg项目创建和源码.mp4
│ 1-10 linux编译x264_x265_aac.mp4
│ 1-11linux编译ffmpeg4.3并编写测试程序.mp4
│ 1-12 QT5.14安装和项目创建并切换不同的QT版本.mp4
│ 1-13 章节总结和ffmpeg代码调试设置.mp4
│
├─第2章 图像格式_基于QT和SDL渲染(3小时57分钟16节)
│ 2-1 学习引导和章节介绍必看.mp4
│ 2-2 RGB像素格式原理讲解并使用QT渲染RGB数据.mp4
│ 2-3 合并两幅图像并使用SDL_QT渲染和保持.mp4
│ 2-4 SDL2源码编译安装和渲染视频接口详解.mp4
│ 2-5 SDL2渲染RGB数据画面定时变化.mp4
│ 2-6 SDL渲染RGB数据到QT的控件中通过定时器刷新.mp4
│ 2-7 合并两幅图像法使用SDL渲染并用QT保存文件.mp4
│ 2-8 YUV格式详解并使用ffmpeg生成yuv文件.mp4
│ 2-9 使用SDL_QT直接播放渲染YUV格式文件.mp4
│ 2-10 XVideoView工厂模式封装SDL接口设计.mp4
│ 2-11 XSDL封装完成窗口渲染器和材质的初始化.mp4
│ 2-12 完成XSDL渲染Draw接口并测试渲染.mp4
│ 2-13 渲染画面随着窗口大小自动缩放并解决锯齿问题.mp4
│ 2-14 完成XSDL资源清理接口接收窗口退出事件放.mp4
│ 2-15 总结_代码下载编译说明和作业.mp4
│
├─第3章 FFmpeg AVFrame视频渲染 (2小时28分钟 9节)
│ 3-1 学习引导和章节介绍必看.mp4
│ 3-2 AVFrame结构体和相关ffmpeg接口详解.mp4
│ 3-3 测试AVFrame的空间分配引用计数接口齐.mp4
│ 3-4 读取YUV数据到AVFrame并添加渲染e.mp4
│ 3-5 视频帧率详解帧率控制策略分析和sleep时间.mp4
│ 3-6 测试sleep和wAIt的精确度并实现精确控制.mp4
│ 3-7 多线程控制帧率渲染AVFrame的YUV数据.mp4
│ 3-8 渲染界面中添加显示fps和设置fps的控件.mp4
│ 3-9 总结_代码下载编译说明和作业.mp4
│
├─第4章 FFmpeg像素格式转换和多路YUV、RGB渲染 (2小时37分钟 11节)
│ 4-1 学习引导和章节介绍必看.mp4
│ 4-2 FFMpeg的像素格式转换接口解.mp4
│ 4-3 像素格式转换YUV420P转换为RGBA.mp4
│ 4-4 sws_scale像素格式转换RGBA转.mp4
│ 4-5 多路YUV_RGB文件播放器需求和设计说明.mp4
│ 4-6 YUV_RGB播放器QT界面设计和打开文件处理.mp4
│ 4-7 完成多路XVideoView窗口初始化并生成测试.mp4
│ 4-8 XVideoView_Read接口读取像素数据.mp4
│ 4-9 完成了支持YUV和RGB格式两路视频同时播放.mp4
│ 4-10 完成了两路视频帧率显示并能设置不同的播放帧率.mp4
│ 4-11 总结_代码下载编译说明和作业.mp4
│
├─第5章 FFmpeg视频编码原理和实战 (4小时26分钟 19节)
│ 5-1 学习引导和章节介绍必看.mp4
│ 5-2 视频编码原理概述.mp4
│ 5-3 FFMpeg编码接口和AVPacket结构体详解.mp4
│ 5-4 FFmpeg编码器获取和上下文打开.mp4
│ 5-5 完成了视频帧创建和编码.mp4
│ 5-6 完成h264和h265编码并使用VLC测试播放.mp4
│ 5-7 H264原理分析宏块划分_帧间预测I帧_.mp4
│ 5-8 变换_量化和熵编码_变长和算数.mp4
│ 5-9 x264预设编码器preset_tune设置编码.mp4
│ 5-10 代码试验ultrafast最快编码.mp4
│ 5-11 ABR平均比特率CQP恒定质量X264.mp4
│ 5-12 CBR恒定比特率_CRF恒定速率因子.mp4
│ 5-13 H264码流中NALU_SPS_PPS_I.mp4
│ 5-14 代码测试解析出AVPacket中的.mp4
│ 5-15 XEncode编码封装完成上下文创建码.mp4
│ 5-16 XEncode添加线程安全锁并添加支持.mp4
│ 5-17 XEncode完成编码和AVFrame创.mp4
│ 5-18 XEncode解决丢帧添加获取编码.mp4
│ 5-19 总结_代码下载编译说明.mp4
│
├─第6章 FFmpeg视频软解码和硬解码 (3小时5分钟 12节)
│ 6-1 学习引导和章节介绍必看.mp4
│ 6-2 FFmpeg视频解码接口详细分析.mp4
│ 6-3 av_parser_parse2从h264文件.mp4
│ 6-4 基于ffmpeg接口完成视频解码.mp4
│ 6-5 完成解码视频渲染并测试多线解码帧率.mp4
│ 6-6 完成硬件GPU加速解码DXVA2.mp4
│ 6-7 修改XVideoView支持渲.mp4
│ 6-8 重构XEncode添加基类XCodec.mp4
│ 6-9 完成XDecode解码支持硬解并做.mp4
│ 6-10 DXVA硬解码到GPU不复制到内存.mp4
│ 6-11 DXVA硬解到GPU不复制内存渲染代码实现.mp4
│ 6-12 总结和作业要求.mp4
│
├─第7章 FFmpeg封装和解封装 (5小时13分钟 14节)
│ 7-1 学习引导和章节介绍必看.mp4
│ 7-2 封装分析和MP4封装格式详解.mp4
│ 7-3 FFmpeg解封装流程和接口详解.mp4
│ 7-4 FFmpeg解封装代码示例并区分音频视频包.mp4
│ 7-5 完成解封装后对视频进行解码和渲染代码.mp4
│ 7-6 封装流程分析ffmpeg封装文件接口详解.mp4
│ 7-7 av_seek_frame控制播放进度函数详解.mp4
│ 7-8 完成重封装mp4文件测试基本代码.mp4
│ 7-9 重封装剪切中间10秒视频并重新计算pts_dts.mp4
│ 7-10 完成XFormat和XDemux重构解封装.mp4
│ 7-11 完成封装代码重构XMux并测试重新封装音视频文件(8.15).mp4
│ 7-12 根据输入的文件名和时间参数完成截断视频功能.mp4
│ 7-13 完成视频重编码为h265并写重新封装MP4.mp4
│ 7-14 总结和代码说明.mp4
│
├─第8章 FFmpeg解封装rtsp并录制视频 (4小时31分钟 16节)
│ 8-1 学习引导和章节介绍必看.mp4
│ 8-2 使用VLC模拟一个rtsp服务器.mp4
│ 8-3 RTSP协议详细分析包括鉴权协议分析.mp4
│ 8-4 大华和海康相机设置和rtsp协议抓包分析.mp4
│ 8-5 ffmpeg的rtsp相关接口分析和多线程处理.mp4
│ 8-6 完成XThread线程类的启动和安全退出.mp4
│ 8-7 开发XDemuTask线程类使用上下文的回调函数.mp4
│ 8-8 解封装rtsp断网或摄像机重启后自动重连处理.mp4
│ 8-9 解封装解码线程责任链设计模式明.mp4
│ 8-10 完成责任链代码和返回智能指针类型的解封装视频参数.mp4
│ 8-11 完成解码线程初始化和并实现线程t.mp4
│ 8-12 完成通过责任链接收解封装AVPacket数据.mp4
│ 8-13 完成rtsp的多线程责任链解封装解码和渲染.mp4
│ 8-14 封装音视频处理线程代码初始化传递音视频参数.mp4
│ 8-15 完成相机录制重新封装处理pts计算问题.mp4
│ 8-16 总结和代码测试本地模拟rtsp.mp4
│
├─第9章 XViewer多路H265监控录放系统0.1版本开发 (7小时43分钟 24节)
│ 9-1 学习引导和章节介绍必看.mp4
│ 9-2 XViewer多路H265监控录放开发项目.mp4
│ 9-3 XCodec封装音视频编解码和渲染的动态链接库编.mp4
│ 9-4 预览界面设计说明XViewer项目创建标.mp4
│ 9-5 XViewer窗口自定义标题_关闭_最小化按钮.mp4
│ 9-6 XViewer窗口布局设计和窗口最大化和恢复处理.mp4
│ 9-7 右键菜单调整预览窗口数量1_4_9_16通过t.mp4
│ 9-8 完成摄像机管理的数据的增删改模型层代码.mp4
│ 9-9 XCameraConfig持久化写入和读取文件.mp4
│ 9-10 完成相机配置读取和列表显示列表显示.mp4
│ 9-11 代码生成新增摄像机配置界面.mp4
│ 9-12 完成摄像机管理的修改和删除功能.mp4
│ 9-13 通过QListWidget拖拽实现指定播放.mp4
│ 9-14 通过拖拽配置完成多窗口rtsp相机的渲染.mp4
│ 9-15 多路音视频录制模块设计说明.mp4
│ 9-16 定时创建新的视频文件并解决录制文件开发花屏问题.mp4
│ 9-17 多路相机录制界面交互功能完成.mp4
│ 9-18 回放界面设计并实现与预览界面的切换按钮.mp4
│ 9-19 自定义日历控件显示有视频日期继承.mp4
│ 9-20 点击摄像机刷新日历改变有视频文件日期的背景.mp4
│ 9-21 点击视频时间列表获取视频绝对路径.mp4
│ 9-22 添加回放日历中的视频播放器.mp4
│ 9-23 完成回放视频播放器的播放速度控制.mp4
│ 9-24 总结和XViewer0.1编码和准备发布版本.mp4
│
├─第10章 音频原理_ffmpeg&SDL播放音视频同步 (4小时4分钟 12节)
│ 10-1 学习引导和章节介绍必看.mp4
│ 10-2 音频核心基础声波频率_采样频率_采样大小.mp4
│ 10-3 PCM格式_音频编码分析_SDL音频.mp4
│ 10-4 完成SDL播放PCM音频文件项目.mp4
│ 10-5 完成了XAudioPlay类的单件模式初始化.mp4
│ 10-6 完成XAudioPlay播放音频通过缓冲队.mp4
│ 10-7 音频播放音量和播放速度_慢放.mp4
│ 10-8 mp4中音频解码解封装手动转换平面格式.mp4
│ 10-9 音视频同步_初始化_渲染播放和时间.mp4
│ 10-10 音视频播放XPlayer视频打开和线程初始化.mp4
│ 10-11 完成音视频文件多线程同步播放.mp4
│ 10-12 章总结和代码说明.mp4
│
├─第11章 XViewer 0.2版本 (2小时9分钟 6节)
│ 11-1 学习引导和章节介绍必看.mp4
│ 11-2 xviewer0.2监控工具支持音视频同步播放.mp4
│ 11-3 完成QT界面设置音视频播放速度.mp4
│ 11-4 完成QT进度条显示视频播放进度.mp4
│ 11-5 完成音视频的暂停和播放.mp4
│ 11-6 完成SEEK进度条控制播放进度.mp4
│
├─第12章 ffmpeg_gsoap_onvif探测和预览onvif协议 (3小时33分钟 13节)
│ 12-1 第十二章学习引导和章节介绍必看.mp4
│ 12-2 修正无法删除摄像机和修改线程退出函数后录制.mp4
│ 12-3 Onvif协议分析和测试工具使用.mp4
│ 12-4 gsoap的wsdl2h_vs2019.mp4
│ 12-5 生成支持鉴权的onvif代码gsoap.mp4
│ 12-6 创建第一个test_onvif项目.mp4
│ 12-7 初始化和清理相机探测probe的soap消息头.mp4
│ 12-8 完成gsoap的onvif_discovery.mp4
│ 12-9 封装gsoap代码使用c++调用重构设备探测.mp4
│ 12-10 完成鉴权并获取onvif设备能力.mp4
│ 12-11 完成onvif鉴权和获取媒体信息.mp4
│ 12-12 完成onvif的rtsp地址获取.mp4
│ 12-13 基于gsoap的ffmpeg预览onvif.mp4
│
└─第13章 CMake自动构建FFmpeg6.0 (4小时41分钟 20节)
13-1 cmake构建ffmpeg6.0和课程项目说明.mp4
13-2 cmake_msys2_vs2022环境准备.mp4
13-3 创建批处理自动运行vs控制台和msys2.mp4
13-4 使用cmake分步骤手动构建SDL源码.mp4
13-5 使用cmake自动解压SDL源码.mp4
13-6 使用cmake自动化构建和安装SDL.mp4
13-7 使用cmake自动化构建fdk-aac.mp4
13-8 使用cmake自动化构建opus.mp4
13-9 使用cmake自动化构建x265.mp4
13-10 使用cmake构建x264生成并执行shell.mp4
13-11 手动构建ffmpeg6.0.mp4
13-12 准备好自动化构建的目录和文件.mp4
13-13 实现cmake的build_and_install函数构建SDL.mp4
13-14 使用build_and_install构建x265_opus_fdk-acc.mp4
13-15 实现cmake的config_and_build函数构建x264.mp4
13-16 使用cmake完成ffmpeg6.0的自动化构建.mp4
13-17 使用cmake构建xcodec.mp4
13-18 使用cmake构建xviewer支持QT.mp4
13-19 使用cmake自动部署xviewer包含自动复制QT动态库.mp4
13-20 一次性自动构建和安装ffmpeg和xviewer.mp4
有需要联系v;加客服窗口的联系方式
摘要:本文深入探讨了C++音视频实战中的FFmpeg基础及其在多路H265监控录放开发中的应用。文章从FFmpeg基础、音视频处理、H265编码解码以及工程实践四个方面进行了详细阐述,旨在为音视频开发人员提供实战指导。
1、FFmpeg基础
FFmpeg是一个开源的音视频处理库,广泛应用于音视频的编解码、播放、录制等场景。在C++音视频实战中,FFmpeg扮演着核心角色。首先,我们需要了解FFmpeg的基本架构,包括解码器、编码器、过滤器等组件。其次,掌握FFmpeg的API调用方法,如打开文件、读取帧、解码、编码等。最后,了解FFmpeg的常见配置选项,以便在实战中灵活运用。
在实战中,我们需要根据具体需求选择合适的解码器和编码器。例如,对于H265视频,我们可以选择libx264或libx265作为编码器,选择ffmpeg解码器进行解码。此外,FFmpeg还提供了丰富的过滤器,如缩放、裁剪、旋转等,可以满足多样化的音视频处理需求。
在实际应用中,FFmpeg的调试和优化也是非常重要的。通过分析日志信息,我们可以定位问题并解决问题。同时,合理配置FFmpeg参数,可以提高音视频处理效率,降低资源消耗。
2、音视频处理
音视频处理是C++音视频实战的核心环节。在多路H265监控录放开发中,我们需要对音视频进行采集、编码、解码、播放等操作。以下是音视频处理的关键步骤:
1)采集:通过摄像头或其他设备采集音视频数据,可以使用FFmpeg的libavdevice库实现。
2)编码:将采集到的音视频数据编码成H265格式,可以使用FFmpeg的libavcodec库实现。
3)解码:将编码后的H265数据解码成原始音视频数据,可以使用FFmpeg的libavcodec库实现。
4)播放:将解码后的音视频数据播放出来,可以使用FFmpeg的libavformat库实现。
在音视频处理过程中,需要注意以下几点:
1)合理配置编码参数,如码率、分辨率、帧率等,以保证音视频质量。
2)优化解码性能,如使用硬件加速、多线程等技术。
3)处理音视频同步问题,确保音视频播放流畅。
3、H265编码解码
H265是新一代的视频编码标准,具有更高的压缩效率。在多路H265监控录放开发中,H265编码解码是关键技术。以下是H265编码解码的关键步骤:
1)编码:使用FFmpeg的libx264或libx265库对音视频数据进行H265编码。
2)解码:使用FFmpeg的libavcodec库对H265数据进行解码,还原成原始音视频数据。
3)优化:针对H265编码解码过程,进行性能优化,如使用硬件加速、多线程等技术。
在H265编码解码过程中,需要注意以下几点:
1)合理配置编码参数,如码率、分辨率、帧率等,以保证音视频质量。
2)处理H265数据流,如处理分片、时间戳等。
3)优化解码性能,如使用硬件加速、多线程等技术。
4、工程实践
在C++音视频实战中,工程实践是检验理论知识的最佳途径。以下是一个多路H265监控录放开发的工程实践案例:
1)需求分析:明确监控录放系统的功能需求,如实时监控、录像存储、回放等。
2)系统设计:设计系统架构,包括硬件、软件、网络等。
3)编码实现:使用FFmpeg库实现音视频采集、编码、解码、播放等功能。
4)性能优化:针对系统性能进行优化,如使用多线程、硬件加速等技术。
5)测试与部署:对系统进行测试,确保功能完善、性能稳定。最后,将系统部署到实际环境中。
在工程实践中,需要注意以下几点:
1)合理规划系统架构,确保系统可扩展性和可维护性。
2)关注系统性能,优化资源消耗。
3)遵循编码规范,提高代码质量。
联系我们

关注公众号

微信扫一扫
支付宝扫一扫 