直播系统的真实挑战与能力缺口
C++ 后端开发普遍存在一个断层:语法和基础 API 都熟悉,但一旦面对高并发、低延迟的真实业务场景,就无从下手。直播系统恰好处于这个断层的最深处。千万级并发不是简单的服务器堆叠,而是涉及网络模型选型、内存管理优化、协议转换效率等多重技术难点。这门课解决的核心问题正是这一断层——它不是教你如何用现成框架搭个 Demo,而是带你从底层 socket 编程开始,逐步构建一个完整、可商用级别的直播系统。对于正在准备大厂面试的技术人员,或者希望从通用后端转向音视频领域的开发者来说,这门课填补的是工程实战经验的空白。很多初学者卡在"知道概念但写不出代码"的阶段,这门课通过完整项目串联所有知识点,让抽象的并发模型、流媒体协议变成可运行的代码。
前置门槛与推荐学习路径
在开始之前,需要确认自己具备 C++ 基础语法能力,了解指针、内存管理、类与对象等核心概念。如果网络编程基础薄弱,建议先补充 TCP/IP 协议栈、socket 编程、I/O 多路复用(epoll/kqueue)的相关知识。课程学习顺序很关键:首先快速浏览**网络编程基础**部分,建立对非阻塞 I/O 和事件驱动模型的基本认知;然后进入**流媒体协议**章节,重点理解 RTMP 的推拉流机制、HLS 的分片原理以及 WebRTC 的实时性优势。这两部分是后续实战的理论基石,跳过直接看代码会理解困难。核心实战阶段应按模块顺序推进:先搭建基础服务框架,实现简单的音视频接收与转发;再逐步加入鉴权、转码、分发等复杂逻辑。重点关注并发控制策略和内存池设计,这些是系统稳定运行的保障。不要急于求成,每个模块都要亲手实现并调试,遇到 bug 时对照代码分析原因,这种学习方式比单纯阅读更有效。
学完产出与资料配合练习方法
完成课程后,你将具备**独立设计和部署千万级直播系统**的能力。具体包括:能够从零搭建推拉流服务、实现用户鉴权与权限控制、处理音视频编码与转码、设计稳定的媒体分发架构。你编写的代码应该能通过压力测试,在真实流量下保持稳定运行。资料包中的代码示例提供了完整的项目骨架,但只是起点而非终点。建议在练习时采用三步法:第一步完整复现课程代码,确保理解每一行逻辑;第二步针对关键模块进行改动,比如调整缓冲区大小、切换事件模型、优化编码参数,观察性能变化;第三步尝试添加新功能,如录制存储、弹幕互动、多码率自适应等,锻炼独立扩展能力。直播系统的知识必须通过动手实践才能内化,只看不动手永远无法真正掌握。遇到性能瓶颈时,学会使用 profiler 工具定位问题,这种调试能力是高级工程师的核心竞争力。
课程介绍
C++大型流媒体项目-从底层到应用层千万级直播系统实战,。随着短视频,直播的爆火,行业薪资水涨船高,本课程特邀前字节直播业务核心开发工程师,通过深入浅出的教学方法,带同学全面掌握从底层技术到应用层实现的直播系统开发技能。完成本课程将成为具备千万级并发处理能力的音视频直播系统工程师,能够设计、开发并部署高效稳定的直播解决方案,同时全面升级你的C++技能树,为职业生涯开辟更多可能性。
课程目录
├── 第1章 C++大型流媒体项目-从底层到应用层千万级直播系统实战-导学/ │ └── [ 12M] 1-1导学 ├── 第2章 开发环境安装与工程构建/ │ ├── [368K] 2-1后台开发环境安装.pdf │ ├── [1.1M] 2-2安装Centos系统.pdf │ ├── [194K] 2-3安装和配置Samba.pdf │ ├── [1.1M] 2-4vscode安装和配置.pdf │ ├── [335K] 2-5创建工程.pdf │ └── [100K] 2-6本章技术点总结.pdf ├── 第3章 C++通用基础函数库实现/ │ ├── [146K] 3-1时间常用函数.pdf │ ├── [ 68M] 3-2字符串操作 │ ├── [ 52M] 3-3单例 │ ├── [ 47M] 3-4定时任务1 │ ├── [ 70M] 3-5定时任务2 │ ├── [ 40M] 3-6日志库-LogStream和Logger实现1 │ ├── [ 57M] 3-7日志库-LogStream和Logger实现2 │ ├── [ 72M] 3-8日志库-FileLog和FileLogManager实现1 │ ├── [100M] 3-9日志库-FileLog和FileLogManager实现2 │ ├── [ 79M] 3-10配置文件1 │ ├── [118M] 3-11配置文件2 │ └── [101K] 3-12本章技术点总结.pdf ├── 第4章 高性能网络框架设计与实现/ │ ├── [256K] 4-1认识网络服务器.pdf │ ├── [193K] 4-2IO模型.pdf │ ├── [181K] 4-3两种高效的事件处理模式.pdf │ ├── [307K] 4-4网络基础.pdf │ ├── [ 94M] 4-5EventLoop │ ├── [ 81M] 4-6EventLoop-Event │ ├── [ 72M] 4-7线程和线程池1 │ ├── [ 99M] 4-8线程和线程池2 │ ├── [ 73M] 4-9EventLoop-任务队列 │ ├── [ 49M] 4-10EventLoop-定时任务1 │ ├── [ 94M] 4-11EventLoop-定时任务2 │ ├── 【更多it资源 www.】 │ ├── [115M] 4-12InetAddress │ ├── [140M] 4-13Socket操作类 │ ├── [ 81M] 4-14Acceptor │ ├── [ 80M] 4-15Connection │ ├── [ 85M] 4-16TcpConnection-关闭,读,出错 │ ├── [ 91M] 4-17TcpConnection-写 │ ├── [136M] 4-18TimingWheel在TcpConnection的应用及TcpConnection功能测试 │ ├── [133M] 4-19TcpClient │ ├── [133M] 4-20TcpServer │ ├── [121M] 4-21DnsService │ ├── [186M] 4-22UdpSocket │ ├── [ 76M] 4-23UdpClient │ ├── [ 42M] 4-24UdpServer │ └── [139K] 4-25本章技术点总结.pdf ├── 第5章 多媒体直播系统业务概念与背后的事件/ │ ├── [179K] 5-1多媒体常用概念.pdf │ ├── [190K] 5-2音视频编码格式简介.pdf │ ├── [129K] 5-3音视频封装格式.pdf │ ├── [182K] 5-4流媒体协议.pdf │ ├── [129K] 5-5直播业务介绍.pdf │ ├── [150K] 5-6一个直播的整个流程及背后的故事.pdf │ └── [ 99K] 5-7本章知识点总结.pdf ├── 第6章 多媒体模块/ │ ├── [163K] 6-1多媒体模块主要功能介绍.pdf │ ├── [ 33M] 6-2有限状态机在协议解析上的应用 │ ├── [ 62M] 6-3Context上下文在协议实现上的应用 │ ├── [ 55M] 6-4多媒体数据包类设计与实现 │ ├── [131K] 6-5多媒体模块协议回调类.pdf │ └── [ 95K] 6-6本章知识点总结.pdf ├── 第7章 rtmp实现/ │ ├── [197K] 7-1rtmp协议简介:简单握手和复杂握手.pdf │ ├── [ 39M] 7-2Rtmp握手设计 │ ├── [ 83M] 7-3Rtmp握手实现1 │ ├── [ 86M] 7-4Rtmp握手实现2 │ ├── [ 55M] 7-5RtmpServer设计与实现 │ ├── [135K] 7-6rtmp协议头设计.pdf │ ├── [148K] 7-7rtmp协议简介:消息格式.pdf │ ├── [150K] 7-8ByteReader和ByteWriter.pdf │ ├── [ 56M] 7-9rtmp协议实现:Rtmp数据包接收设计 │ ├── [106M] 7-10rtmp协议实现:Rtmp数据包接收实现 │ ├── [ 34M] 7-11rtmp协议实现:Rtmp数据包发送设计与实现1 │ ├── [100M] 7-12rtmp协议实现:Rtmp数据包发送设计与实现2 │ ├── [158K] 7-13rtmp协议控制消息和用户控制消息.pdf │ ├── [131M] 7-14rtmp协议实现:Rtmp协议控制消息和用户控制消息设计与实现 │ ├── [133K] 7-15rtmp协议简介:AMF0和AMF3简介.pdf │ ├── [ 80M] 7-16rtmp协议实现:AMF简单类型解析设计与实现 │ ├── @更多it资源 www. │ ├── [104M] 7-17rtmp协议实现:AMFObject解析设计与实现及AMF解析测试 │ ├── [ 41M] 7-18rtmp协议实现:AMF封装设计与实现 │ ├── [306K] 7-19rtmp协议简介:命令消息.pdf │ ├── [ 81M] 7-20rtmp协议实现:命令解析与命令实现1 │ ├── [107M] 7-21rtmp协议实现:命令解析与命令实现2 │ ├── [ 90M] 7-22rtmp协议实现:Rtmp命令交互实现及测试 │ ├── [ 60M] 7-23RtmpClient设计与实现1 │ ├── [100M] 7-24RtmpClient设计与实现2 │ └── [ 95K] 7-25本章技术点总结.pdf ├── 第8章 直播管理-直播业务配置/ │ ├── [139K] 8-1直播管理概述.pdf │ ├── [ 94M] 8-2直播服务器以及直播业务配置设计与实现 │ ├── [ 83M] 8-3直播业务配置在系统配置的实现及测试 │ ├── [ 80M] 8-4时间戳修正TimeCorrector设计与实现 │ ├── [116M] 8-5音视频头CodecHeader类设计与实现 │ ├── [ 46M] 8-6Gop管理类设计与实现 │ ├── [ 75M] 8-7用户类User设计与实现 │ ├── [ 52M] 8-8播放用户类PlayerUser和推流用户类PublishUser设计与实现 │ ├── [ 83M] 8-9实时流Stream设计与实现-实时音视频输入功能实现 │ ├── [ 45M] 8-10实时流Stream设计与实现-音视频输出实现1 │ ├── [ 56M] 8-11实时流Stream设计与实现-音视频输出实现2 │ ├── [ 37M] 8-12Rtmp播放用户设计与实现 │ ├── [ 62M] 8-13会话类Session设计与实现1 │ ├── [ 41M] 8-14会话类Session设计与实现2 │ ├── [ 74M] 8-15直播业务管理类LiveService设计与实现1 │ ├── [ 68M] 8-16直播业务管理类LiveService设计与实现2 │ ├── [124M] 8-17直播推流和直播拉流播放测试 │ └── [111K] 8-18本章知识点总结.pdf ├── 第9章 HTTP协议实现/ │ ├── [790K] 9-1http协议简介.pdf │ ├── [ 36M] 9-2Http消息接收1 │ ├── [ 47M] 9-3Http消息接收2 │ ├── [ 29M] 9-4Http消息接收3 │ ├── [ 45M] 9-5HttpRequest类设计与实现1 │ ├── [ 58M] 9-6HttpRequest类设计与实现2 │ ├── [ 53M] 9-7HttpContext以及Http消息发送功能设计与实现 │ ├── [ 75M] 9-8HttpServer设计与实现 │ ├── [ 70M] 9-9HttpClient设计与实现 │ └── [159K] 9-10本章知识点总结.pdf ├── 第10章 HTTP-FLV实现/ │ ├── [366K] 10-1FLV简介.pdf │ ├── [ 65M] 10-2FlvContext设计与实现 │ ├── [ 75M] 10-3FlvPlayerUser设计与实现 │ └── [140K] 10-4本章知识点总结.pdf ├── 第11章 音视频Demux-实现FLV格式的音视频数据的解封装/ │ ├── [332K] 11-1音视频Demux.pdf │ ├── [365K] 11-2音视频帧数据类型定义.pdf │ ├── [ 48M] 11-3AudioDemux设计与实现 │ ├── [101M] 11-4VideoDemux设计与实现 │ └── [142K] 11-5本章知识点总结.pdf ├── 第12章 MPEGTS实现-完成实时音视频到mpegts的封装/ │ ├── [536K] 12-1mpegts简介.pdf │ ├── [ 48M] 12-2PSIWriter设计与实现 │ ├── [ 42M] 12-3PatWriter和PmtWriter设计与实现 │ ├── [108M] 12-4AudioEncoder设计与实现 │ ├── [ 87M] 12-5VideoDemux设计与实现 │ ├── [ 36M] 12-6TsEncoder设计与实现 │ ├── [ 64M] 12-7mpegts功能测试 │ └── [148K] 12-8本章总结.pdf ├── 第13章 HLS协议实现/ │ ├── [431K] 13-1hls协议.pdf │ ├── [ 29M] 13-2Fragment设计与实现 │ ├── 【更多it资源 www.】 │ ├── [ 40M] 13-3FragmentWindow设计与实现 │ ├── [ 34M] 13-4HlsMuxer设计与实现 │ ├── [ 33M] 13-5HLS综合测试1 │ ├── [ 35M] 13-6HLS综合测试2 │ └── [150K] 13-7本章知识点总结.pdf ├── 第14章 回源功能实现/ │ ├── [254K] 14-1回源功能概述.pdf │ ├── [ 44M] 14-2回源配置设计与实现 │ ├── [ 22M] 14-3回源逻辑实现1 │ ├── [ 32M] 14-4回源逻辑实现2 │ ├── [ 38M] 14-5Rtmp回源设计与实现 │ ├── [ 38M] 14-6回源测试 │ └── [146K] 14-7本章知识点总结.pdf ├── 第15章 WEBRTC拉流实现/ │ ├── [265K] 15-1Webrtc简介.pdf │ ├── [ 47M] 15-2webrtc概述及WebrtcService实现 │ ├── [ 66M] 15-3WebrtcServer以及WebrtcPlayerUser实现 │ ├── [256K] 15-4dtls简介.pdf │ ├── [ 51M] 15-5Dtls密钥和证书实现 │ ├── [819K] 15-6SDP协议简介.pdf │ ├── [ 60M] 15-7Sdp协议解析与封装实现 │ ├── [ 42M] 15-8-1Sdp应用 │ ├── [ 39M] 15-9-2Sdp应用 │ ├── [261K] 15-10NAT网络简介.pdf │ ├── [356K] 15-11ICE&TURN&STUN协议简介.pdf │ ├── [ 59M] 15-12Stun解析和封装实现 │ ├── [ 52M] 15-13Stun应用 │ ├── [ 27M] 15-14-1Dtls握手实现 │ ├── [ 44M] 15-15-2Dtls握手实现 │ ├── [ 29M] 15-16dtls应用 │ ├── [ 58M] 15-17Srtp实现 │ ├── [674K] 15-18RTP&RTCP协议简介.pdf │ ├── [ 36M] 15-19Rtp基类设计与实现 │ ├── [ 57M] 15-20音频AAC转Opus │ ├── [ 14M] 15-21RtpOpus设计与实现 │ ├── [ 54M] 15-22RtpH264设计与实现 │ ├── [ 56M] 15-23RtpMuxer设计与实现 │ ├── [ 31M] 15-24Rtp数据包发送–WebrtcServer改造 │ ├── [ 35M] 15-25Rtp数据包发送–Rtp数据包生成 │ ├── [ 19M] 15-26Rtp数据包发送–WebrtcService推流 │ ├── [ 24M] 15-27Webrtc整合测试 │ ├── [ 24M] 15-28Rtcp基类设计与实现 │ ├── [ 57M] 15-29SR报文实现及应用 │ ├── [ 56M] 15-30Rtpfb报文实现及应用 │ ├── [ 35M] 15-31Rtcp测试 │ ├── [451K] 15-32GCC和BBR算法介绍.pdf │ └── [164K] 15-33本章知识点总结.pdf ├── 第16章 负载均衡系统简介/ │ ├── [349K] 16-1负载均衡概述.pdf │ ├── [435K] 16-2基于DNS解析的GSLB实现.pdf │ ├── [274K] 16-3基于HTTP重定向的GSLB实现.pdf │ └── [160K] 16-4本章知识点总结.pdf ├── 第17章 分布式系统及直播系统部署/ │ ├── [279K] 17-1分布式系统理论知识简介.pdf │ ├── [255K] 17-2分布式直播系统.pdf … 其余 6 项略,目录共 206 项





![大疆维修,无人机维修教程[66.30GB]](/_next/image?url=https%3A%2F%2Fwww.itzhibei.com%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)