这门课到底在教什么,能解决什么实际痛点
现在的直播技术栈早已不是简单的推流拉流,而是涉及高并发下的音视频同步、弱网环境下的抗丢包、以及百万级用户接入时的服务器资源调度。这门课的核心价值,在于填补了“只会写 C++ 语法”与“能独立交付一个千万级直播平台”之间的巨大鸿沟。它不教你从零发明协议,而是带你完整复现一个工业级的直播系统,重点解决实时性(RT)优化、码率自适应、以及大规模并发下的稳定性问题。如果你发现自己写的程序在高负载下容易崩溃,或者对 RTMP、SRS、WebRTC 等底层原理只有模糊概念,这门课正好对症。
课程由前字节直播业务核心开发工程师主讲,这意味着其中的设计决策都经过过真实的流量验证,而非纸上谈兵。它会深入讲解从底层网络 IO 模型(如 EPOLL 机制)到上层应用逻辑的全链路实现,让你明白为什么某些设计模式在直播场景下是必要的,以及如何在 C++ 这种对内存管理要求极高的语言中,优雅地处理资源竞争和生命周期问题。
适合什么样的基础,建议从哪里切入
学习这门课前,你需要具备扎实的 C++ 基础,特别是熟悉智能指针、多线程编程以及 STL 容器的使用。如果你对 Linux 环境下的编程还比较陌生,或者从未接触过网络编程(Socket、TCP/IP 协议栈),直接上手会有较大难度。建议你先确认自己能够独立编写一个简单的 TCP 服务器,理解非阻塞 IO 和事件驱动的基本概念。
在学习路径上,不建议从头到尾线性啃完所有章节。建议先看课程中关于系统架构设计的部分,建立起对直播全流程(采集、编码、传输、解码、渲染)的整体认知,再回到代码层面逐个击破核心模块。对于初学者,可以先重点攻克网络通信层和缓冲区管理这两个最基础也最容易出错的环节,确保底层数据流转通畅后,再深入到音视频编解码的优化策略中。
学完能做什么,资料如何配合练习
完成本课程后,你将能够独立设计并开发一个支持千万级并发的直播系统后端,具备处理实时音视频流传输、负载均衡、以及故障恢复的能力。具体来说,你可以胜任音视频方向的后端开发岗位,或者在游戏服务器、即时通讯系统等对实时性要求极高的领域发挥作用。更重要的是,你的 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=%2Fapi%2Fuploads%2Fb6a69810-862f-479c-a529-d66880073ebc.jpg&w=1920&q=75)


