C++大型流媒体项目实战:解决什么问题

这门课的核心是解决音视频直播系统在高并发场景下的性能瓶颈和架构设计问题。针对短视频、直播等业务对实时性、稳定性、低延迟的要求,课程聚焦C++技术栈,从底层协议(如RTMP、HLS)到服务器架构(负载均衡、Kafka消息队列)、音视频处理(编码解码、流媒体协议栈),系统化讲解如何构建千万级并发处理的直播系统。重点解决开发者在复杂业务场景中遇到的资源调度、网络拥塞、数据同步等问题,特别适合需要重构或优化现有直播系统的测试运维工程师。

适合什么基础

本课程假设学员具备C++基础语法、网络编程(TCP/IP、UDP)、Linux系统操作能力,以及一定的并发编程经验。若仅掌握语言基础,需配合资料中的CentOS编译环境先熟悉依赖库(如FFmpeg、OpenCV)的配置,资料会提供从源码编译到调试的详细步骤。对分布式系统、消息队列(如Kafka)需有概念理解,但课程会结合直播场景补充核心原理。

资料如何配合练习

建议优先学习第1章的协议解析模块(RTMP/HLS协议栈实现)、第3章的服务器架构设计(负载均衡策略与Redis缓存应用),这两部分直接关联直播核心链路。资料提供基于CentOS的系统环境配置指南和代码片段,需结合VSCode调试工具完成分模块编译。实战环节通过逐步补全代码(如流媒体推拉协议处理、分布式转码集群逻辑)加深理解。课后需独立完成小型直播系统搭建,资料包含完整的项目结构和测试脚本,建议以单元测试驱动开发,优先确保协议解析和消息队列的稳定性。

课程目录

第 1 部分1 条
  • C++大型流媒体项目-从底层到应用层千万级直播系统实战 亲历字节/快手核心项目工程师,带你构建千万级直播系统的核心技能 实现高薪跃迁 当下火爆的短视频,直播,实时音视频传输都需要高性能直播系统的支撑,行业薪资水涨船高,本课程特邀前字节直播业务核心开发工程师,通过深入浅出的教学方法,带同学全面掌握从底层技术到应用层实现的直播系统开发技能。完成本课程将成为具备千万级并发处理能力的音视频直播系统工程师,能够设计、开发并部署高效稳定的直播解决方案,同时全面升级你的C++技能树,为职业生涯开辟更多可能性。 适合人群 C++大型工程实践感兴趣的同学 对流媒体开发,高性能服务器,分布式系统实践感兴趣的 技术储备 C++基础知识 网络编程基础知识 linux编程基础知识 环境参数 IDE vscode 系统 编译系统和目标系统都是centos 相关推荐: 试看链接: 目录大纲: 第1章 C++大型流媒体项目-从底层到应用层千万级直播系统实战-导学 1 节|9分钟 视频: 1-1 导学 试看 08:
49 第2章 开发环境安装与工程构建 6 节| 图文: 2-1 后台开发环境安装 图文: 2-2 安装Centos系统 图文: 2-3 安装和配置Samba 图文: 2-4 vscode安装和配置 图文: 2-5 创建工程 图文: 2-6 本章技术点总结 第3章 C++通用基础函数库实现 12 节|263分钟 图文: 3-1 时间常用函数 视频: 3-2 字符串操作 22:169 条
  • 10 视频: 3-3 单例 22:
  • 04 视频: 3-4 定时任务1 20:
  • 25 视频: 3-5 定时任务2 26:
  • 50 视频: 3-6 日志库-LogStream和Logger实现1 19:
  • 12 视频: 3-7 日志库-LogStream和Logger实现2 21:
  • 47 视频: 3-8 日志库-FileLog和FileLogManager实现1 30:
  • 44 视频: 3-9 日志库-FileLog和FileLogManager实现2 34:
  • 56 视频: 3-10 配置文件1 30:
  • 35 视频: 3-11 配置文件2 33:
  • 55 图文: 3-
  • 12 本章技术点总结 第4章 高性能网络框架设计与实现 25 节|662分钟 图文: 4-1 认识网络服务器 图文: 4-2 IO模型 图文: 4-3 两种高效的事件处理模式 图文: 4-4 网络基础 视频: 4-5 EventLoop 39:
  • 38 视频: 4-6 EventLoop-Event 32:
  • 02 视频: 4-7 线程和线程池1 29:
  • 44 视频: 4-8 线程和线程池2 38:
  • 09 视频: 4-9 EventLoop-任务队列 24:
  • 31 视频: 4-10 EventLoop-定时任务1 20:
  • 03 视频: 4-11 EventLoop-定时任务2 30:
  • 53 视频: 4-
  • 12 InetAddress 40:
  • 47 视频: 4-
  • 13 Socket操作类 45:
  • 04 视频: 4-
  • 14 Acceptor 31:
  • 15 视频: 4-
  • 15 Connection 28:
  • 32 视频: 4-
  • 16 TcpConnection-关闭,读,出错 33:
  • 13 视频: 4-
  • 17 TcpConnection-写 25:
  • 46 视频: 4-18 TimingWheel在TcpConnection的应用及TcpConnection功能测试 33:
  • 02 视频: 4-
  • 19 TcpClient 41:
  • 59 视频: 4-
  • 20 TcpServer 38:
  • 45 视频: 4-
  • 21 DnsService 38:
  • 53 视频: 4-
  • 22 UdpSocket 49:
  • 32 视频: 4-
  • 23 UdpClient 24:
  • 21 视频: 4-
  • 24 UdpServer 15:
  • 13 图文: 4-
  • 25 本章技术点总结 第5章 多媒体直播系统业务概念与背后的事件 7 节| 图文: 5-1 多媒体常用概念 图文: 5-2 音视频编码格式简介 图文: 5-3 音视频封装格式 图文: 5-4 流媒体协议 图文: 5-5 直播业务介绍 图文: 5-6 一个直播的整个流程及背后的故事 图文: 5-7 本章知识点总结 第6章 多媒体模块 6 节|49分钟 图文: 6-1 多媒体模块主要功能介绍 视频: 6-2 有限状态机在协议解析上的应用 11:
  • 02 视频: 6-3 Context上下文在协议实现上的应用 18:
  • 35 视频: 6-4 多媒体数据包类设计与实现 18:
  • 38 图文: 6-5 多媒体模块协议回调类 图文: 6-6 本章知识点总结 第7章 rtmp实现 25 节|405分钟 图文: 7-1 rtmp协议简介:简单握手和复杂握手 视频: 7-2 Rtmp握手设计 18:
  • 20 视频: 7-3 Rtmp握手实现1 26:
  • 06 视频: 7-4 Rtmp握手实现2 19:
  • 48 视频: 7-5 RtmpServer设计与实现 19:
  • 07 图文: 7-6 rtmp协议头设计 图文: 7-7 rtmp协议简介:消息格式 图文: 7-8 ByteReader和ByteWriter 视频: 7-9 rtmp协议实现:Rtmp数据包接收设计 24:
  • 34 视频: 7-
  • 10 rtmp协议实现:Rtmp数据包接收实现 34:
  • 37 视频: 7-11 rtmp协议实现:Rtmp数据包发送设计与实现1 18:
  • 20 视频: 7-12 rtmp协议实现:Rtmp数据包发送设计与实现2 25:
  • 38 图文: 7-
  • 13 rtmp协议控制消息和用户控制消息 视频: 7-14 rtmp协议实现:Rtmp协议控制消息和用户控制消息设计与实现 32:
  • 54 图文: 7-15 rtmp协议简介:AMF0和AMF3简介 视频: 7-
  • 16 rtmp协议实现:AMF 简单类型解析设计与实现 31:
  • 37 视频: 7-
  • 17 rtmp协议实现:AMF Object解析设计与实现及AMF解析测试 28:
  • 46 视频: 7-
  • 18 rtmp协议实现:AMF封装设计与实现 15:
  • 32 图文: 7-
  • 19 rtmp协议简介:命令消息 视频: 7-20 rtmp协议实现:命令解析与命令实现1 20:
  • 10 视频: 7-21 rtmp协议实现:命令解析与命令实现2 27:
  • 32 视频: 7-
  • 22 rtmp协议实现:Rtmp命令交互实现及测试 18:
  • 49 视频: 7-23 RtmpClient设计与实现1 18:
  • 37 视频: 7-24 RtmpClient设计与实现2 23:
  • 59 图文: 7-
  • 25 本章技术点总结 第8章 直播管理-直播业务配置 18 节|332分钟 图文: 8-1 直播管理概述 视频: 8-2 直播服务器以及直播业务配置设计与实现 32:
  • 52 视频: 8-3 直播业务配置在系统配置的实现及测试 21:
  • 45 视频: 8-4 时间戳修正TimeCorrector设计与实现 26:
  • 31 视频: 8-5 音视频头CodecHeader类设计与实现 33:
  • 45 视频: 8-6 Gop管理类设计与实现 17:
  • 52 视频: 8-7 用户类User设计与实现 23:
  • 52 视频: 8-8 播放用户类PlayerUser和推流用户类PublishUser设计与实现 17:
  • 08 视频: 8-9 实时流Stream设计与实现-实时音视频输入功能实现 32:
  • 14 视频: 8-10 实时流Stream设计与实现-音视频输出实现1 14:
  • 09 视频: 8-11 实时流Stream设计与实现-音视频输出实现2 13:
  • 55 视频: 8-
  • 12 Rtmp播放用户设计与实现 09:
  • 36 视频: 8-13 会话类Session设计与实现1 16:
  • 49 视频: 8-14 会话类Session设计与实现2 08:
  • 50 视频: 8-
  • 15 直播业务管理类LiveService设计与实现1 22:
  • 01 视频: 8-
  • 16 直播业务管理类LiveService设计与实现2 14:
  • 46 视频: 8-
  • 17 直播推流和直播拉流播放测试 24:
  • 58 图文: 8-
  • 18 本章知识点总结 第9章 HTTP协议实现 10 节|192分钟 图文: 9-1 http协议简介 视频: 9-2 Http消息接收1 21:
  • 24 视频: 9-3 Http消息接收2 21:
  • 39 视频: 9-4 Http消息接收3 13:
  • 29 视频: 9-5 HttpRequest类设计与实现1 20:
  • 07 视频: 9-6 HttpRequest类设计与实现2 25:
  • 42 视频: 9-7 HttpContext以及Http消息发送功能设计与实现 23:
  • 38 视频: 9-8 HttpServer设计与实现 33:
  • 49 视频: 9-9 HttpClient设计与实现 31:
  • 53 图文: 9-
  • 10 本章知识点总结 第10章 HTTP-FLV实现 4 节|67分钟 图文: 10-1 FLV简介 视频: 10-2 FlvContext设计与实现 33:
  • 08 视频: 10-3 FlvPlayerUser设计与实现 32:
  • 53 图文: 10-4 本章知识点总结 第11章 音视频Demux-实现FLV格式的音视频数据的解封装 5 节|73分钟 图文: 11-1 音视频Demux 图文: 11-2 音视频帧数据类型定义 视频: 11-3 AudioDemux设计与实现 24:
  • 22 视频: 11-4 VideoDemux设计与实现 47:
  • 56 图文: 11-5 本章知识点总结 第12章 MPEGTS实现-完成实时音视频到mpegts的封装 8 节|193分钟 图文: 12-1 mpegts简介 视频: 12-2 PSIWriter设计与实现 27:
  • 27 视频: 12-3 PatWriter和PmtWriter设计与实现 24:
  • 53 视频: 12-4 AudioEncoder设计与实现 50:
  • 29 视频: 12-5 VideoDemux设计与实现 40:
  • 33 视频: 12-6 TsEncoder设计与实现 20:
  • 16 视频: 12-7 mpegts功能测试 29:
  • 07 图文: 12-8 本章总结 第13章 HLS协议实现 7 节|82分钟 图文: 13-1 hls协议 视频: 13-2 Fragment设计与实现 13:
  • 40 视频: 13-3 FragmentWindow设计与实现 19:
  • 13 视频: 13-4 HlsMuxer设计与实现 18:
  • 14 视频: 13-5 HLS综合测试1 15:
  • 13 视频: 13-6 HLS综合测试2 15:
  • 22 图文: 13-7 本章知识点总结 第14章 回源功能实现 7 节|92分钟 图文: 14-1 回源功能概述 视频: 14-2 回源配置设计与实现 21:
  • 50 视频: 14-3 回源逻辑实现1 15:
  • 24 视频: 14-4 回源逻辑实现2 15:
  • 46 视频: 14-5 Rtmp回源设计与实现 19:
  • 09 视频: 14-6 回源测试 19:
  • 03 图文: 14-7 本章知识点总结 第15章 WEBRTC拉流实现 33 节|523分钟 图文: 15-1 Webrtc简介 视频: 15-2 webrtc概述及WebrtcService实现 28:
  • 29 视频: 15-3 WebrtcServer以及WebrtcPlayerUser实现 29:
  • 27 图文: 15-4 dtls简介 视频: 15-5 Dtls密钥和证书实现 26:
  • 57 图文: 15-6 SDP协议简介 视频: 15-7 Sdp协议解析与封装实现 30:
  • 43 视频: 15-8 -1 Sdp应用 18:
  • 00 视频: 15-9 -2 Sdp应用 17:
  • 06 图文: 15-
  • 10 NAT网络简介 图文: 15-
  • 11 ICE/TURN/STUN协议简介 视频: 15-
  • 12 Stun解析和封装实现 28:
  • 55 视频: 15-
  • 13 Stun应用 22:
  • 30 视频: 15-14 -1 Dtls握手实现 18:
  • 07 视频: 15-15 -2 Dtls握手实现 19:
  • 27 视频: 15-
  • 16 dtls应用 12:
  • 58 视频: 15-
  • 17 Srtp实现 27:
  • 59 图文: 15-
  • 18 RTP/RTCP协议简介 视频: 15-
  • 19 Rtp基类设计与实现 21:
  • 40 视频: 15-
  • 20 音频AAC转Opus 29:
  • 01 视频: 15-
  • 21 RtpOpus设计与实现 07:
  • 58 视频: 15-22 RtpH264设计与实现 25:
  • 21 视频: 15-
  • 23 RtpMuxer设计与实现 24:
  • 44 视频: 15-
  • 24 Rtp数据包发送–WebrtcServer改造 15:
  • 24 视频: 15-
  • 25 Rtp数据包发送–Rtp数据包生成 15:
  • 20 视频: 15-
  • 26 Rtp数据包发送–WebrtcService推流 08:
  • 20 视频: 15-
  • 27 Webrtc整合测试 10:
  • 43 视频: 15-
  • 28 Rtcp基类设计与实现 14:
  • 16 视频: 15-
  • 29 SR报文实现及应用 25:
  • 12 视频: 15-
  • 30 Rtpfb报文实现及应用 28:
  • 37 视频: 15-
  • 31 Rtcp测试 15:
  • 11 图文: 15-
  • 32 GCC和BBR算法介绍 图文: 15-
  • 33 本章知识点总结 第16章 负载均衡系统简介 4 节| 图文: 16-1 负载均衡概述 图文: 16-2 基于DNS解析的GSLB实现 图文: 16-3 基于HTTP重定向的GSLB实现 图文: 16-4 本章知识点总结 第17章 分布式系统及直播系统部署 5 节| 图文: 17-1 分布式系统理论知识简介 图文: 17-2 分布式直播系统 图文: 17-3 直播系统的子系统 图文: 17-4 分布式直播系统的部署 图文: 17-5 本章知识点总结 第18章 课程总结 1 节|15分钟 视频: 18-1 C++大型流媒体直播系统-课程技术总结 14:
  • 21 本课程已完结 声明:本站所有资料均来源于网络以及用户发布,如对资源有争议请联系微信客服我们可以安排下架!