直播推流这类需求,听起来离普通开发很远,但实际工作中并不少见:在线教育要接课堂直播、社交产品要做连麦、电商要做带货推流,甚至一些企业内部培训系统也开始要求客户端直接采集音视频并推流。这门课解决的,就是这个具体场景——用 C++ 配合 FFmpeg SDK,把采集、美颜、编码、推流这条链路自己搭出来。

它适合什么样的人

如果你只是想做个简单的视频播放器,或者只想调用现成的第三方推流 SDK 做集成,这门课偏重了。它的内容是往底层走的,适合已经写过 C++、了解基本的音视频概念(比如什么是 YUV、什么是 PCM)、并且有实际项目要落地推流功能的人。转行者如果 C++ 基础还不稳,直接上这门课会比较吃力,建议先把 C++ 的指针、内存管理、多线程过一遍再来。

另外要提醒一点:课程里涉及直播服务器的编译与运行,是在 Linux 环境下操作的。如果你平时只在 Windows 上写代码,需要提前准备好虚拟机或双系统,否则中间会卡在环境上。

学完能独立做什么

课程的主线是围绕一个可运行的推流程序展开的。跟着走完,你应该能自己完成这几件事:采集本地的音频数据并录制、把视频帧送进编码器生成可传输的流、在推流前对画面做磨皮处理、再把音视频流推送到流媒体服务器上。这些环节单独拆开看都不算复杂,难的是让它们在一套程序里协同工作,而课程正是按这个顺序逐步搭起框架的。

换句话说,学完之后你拿到的不是零散的知识点,而是一个能改、能扩展的推流工程结构。美颜部分给了磨皮的具体实现思路,你可以在此基础上替换成更复杂的效果;推流部分理解了 FFmpeg 的调用方式,后续换协议或换服务器时也不至于无从下手。

资料的组织方式和用法

资料以视频讲解为主,按功能模块分段推进,从服务器环境准备、音视频采集,到编码、美颜、推流依次展开。每个模块之间是递进关系,前一段的代码会作为后一段的基础,所以不建议跳着看。

比较实际的使用方式是:先完整看一遍某个模块的讲解,理解思路,然后关掉视频自己照着敲一遍。遇到跑不通的地方再回看对应片段。音视频开发里很多问题出在参数配置和环境差异上,光看不动手,很容易以为自己懂了,一编译全是错。

需要提前留意的几个点

  • 课程默认你具备 C++ 工程能力,不会花时间讲语言基础。
  • 环境搭建(尤其是服务器部分)是第一道门槛,建议留出单独的时间处理。
  • 美颜部分讲的是磨皮这一类基础处理,不要期待它覆盖完整的美颜算法体系。
  • 推流涉及网络和服务器配置,本地调试时建议先把服务端跑通,再联调客户端。

整体来说,这是一门偏实战、面向具体工程问题的课。它不承诺让你成为音视频专家,但能帮你把「客户端采集到推流」这条链路真正跑起来,并且知道每一步在做什么。如果你的工作里正好有这类需求,它值得花时间;如果只是随便看看,那它的学习成本可能高于你的预期收益。

课程目录

6-03、QT音频录制接口讲解并编写录制音频程序_ev.mp4
 [24.8 MB] 8-04、直播框架添加美颜磨皮_ev_ev.mp4
 [21.3 MB] 7-06、加入视频编码器和流_ev_ev.mp4
 [27.7 MB] 2-01、直播服务器介绍crtmpserver编译运行(ubuntu)_ev.mp4
 [31.1 MB] 7-07、完成音视频推流封装处理未同步_ev_ev.mp4
 [39.4 MB] 5-14、完成了视频编码接口并重构rtsp_to_rtmp代码_ev.mp4
 [28.5 MB] 8-09、QT直播推流项目完成界面设计_ev_ev.mp4
 [33.9 MB] 6-02、音频基础知识音频参数分析_ev.mp4
 [25.2 MB] 5-10、XMediaEndcode工厂生产方法创建_ev.mp4
 [21.0 MB] 8-07、完成XController中的编码封装推流模块初始化_ev_ev.mp4
 [47.5 MB] 6-12、完成音频推流接口XRtmp封装重构音频推流_ev_ev.mp4
 [34.6 MB] 7-11、音视频同步三完成同步_ev_ev.mp4
 [18.6 MB] 2-04、nginx-rtmp直播和直播状态监听配置ffplay播放_ev.mp4
 [25.7 MB] 2-02、下载ffmpeg工具推流并使用功能vlc拉流播放测试_ev.mp4
 [20.8 MB] 5-06、编码器参数配置(包括打开多线程编码)并打开编码器_ev.mp4
 [36.5 MB] 5-07、视频帧编码并根据设置AVFrame的输入pts_ev.mp4
 [28.5 MB] 2-03、nginx-rtmp源码下载、编译运行(ubuntu)_ev.mp4
 [25.3 MB] 5-09、打开推流IO,发送封装头,计算pts完成帧推流_ev.mp4
 [34.6 MB] 6-04、音频重采样上下文创建和配置_ev.mp4
 [27.0 MB] 5-03、像素格式转换(RGBToYUV)上下文创建配置和清理_ev.mp4
 [41.5 MB] 7-09、音视频同步时间计算代码分析第一部分_ev_ev.mp4
 [68.9 MB] 5-08、创建封装器添加视频AVStream并设置参数_ev.mp4
 [28.8 MB] 5-15、创建XRtmp接口类完成封装器接口_ev.mp4
 [59.4 MB] 6-11、完成音频编码接口封装和代码重构_ev_ev.mp4
 [22.3 MB] 6-09、音频重采样XMediaEncode重采样接口封装代码重构_ev.mp4
 [51.0 MB] 8-10、完成了qt项目直播推流_ev_ev.mp4
 [44.4 MB] 1-01、课程介绍_ev_ev.mp4
 [20.0 MB] 4-05、读取一帧视频接口讲解和源码分析,分析读取解码和颜色转换过程_ev.mp4
 [17.7 MB] 3-06、根据pts和系统记时控制推流速度_浏览器flash播放直播流_ev.mp4
 [39.8 MB] 8-05、XRtmpStreamer项目框架架构(类图)讲解_ev_ev.mp4
 [12.1 MB] 3-05、AVPacket的pts运算并完成帧推送使用vlc测试_ev.mp4
 [29.5 MB] 3-04、打开rtmp推流输出并从文件读取音视频帧_ev.mp4
 [41.9 MB] 4-02、windows 上创建opencv示例项目_ev.mp4
 [21.0 MB] 8-06、完成了XController音视频录制模块初始化_ev_ev.mp4
 [37.0 MB] 4-04、VideoCapture打开摄像头接口讲解和源码分析_ev.mp4
 [12.8 MB] 6-10、封装音频编码器设置接口重构视频编码器接口_ev.mp4
 [25.0 MB] 3-07、推流基于rtsp协议的大华海康相机_ev.mp4
 [61.6 MB] 5-01、opencv播放rtsp海康摄像头和播放系统摄像头_ev.mp4
 [30.4 MB] 7-08、音频推流同步策略分析_ev_ev.mp4
 [17.1 MB] 6-07、音频的pts运算音频数据编码测试_ev_ev.mp4
 [17.5 MB] 8-08、XController推流数据线程完成_ev_ev.mp4
 [48.6 MB] 7-01、封装音频XAudioRecord初始化和关闭接口_ev_ev.mp4
 [29.1 MB] 7-05、XAudioRecord集成数据基类重构_ev_ev.mp4
 [25.1 MB] 3-01、ffmpegSDK开发环境准备,第一个ffmpeg项目创建_ev.mp4
 [41.2 MB] 7-02、完成音频录制接口,录制缓冲队列处理_ev_ev.mp4
 [50.4 MB] 7-03、封装视频录制接口完成初始化和关闭接口_ev_ev.mp4
 [29.8 MB] 8-03、直播框架添加图像过滤XFilter接口并实现双边滤波磨皮类_ev_ev.mp4
 [39.9 MB] 5-02、基于opencv采集rtsp流并使用异常处理失败流程_ev.mp4
 [35.2 MB] 6-06、音频编码器创建和参数设置_ev_ev.mp4
 [23.3 MB] 3-03、完成输出音视频流配置信息,使用ffmpeg新版本属性_ev.mp4
 [45.6 MB] 1-03、直播rtmp协议分析_ev.mp4
 [17.1 MB] 5-13、完成视频编码器初始化InitVideoCodec接口封装_ev.mp4
 [23.1 MB] 5-04、rgb转yuv空间分配和转换函数调用_ev.mp4
 [47.5 MB] 6-01、QT5开发环境准备_ev.mp4
 [25.0 MB] 4-03、遍历修改连续的Mat图像空间_ev.mp4
 [19.2 MB] 5-05、查找编码器并创建编码器上下文_ev.mp4
 [24.4 MB] 5-11、完成InitScale初始化像素格式转换接口_ev.mp4
 [20.3 MB] 7-10、音视频同步二解决音频有相同pts情况_ev_ev.mp4
 [24.5 MB] 6-08、完成音频推流并测试_ev.mp4
 [31.4 MB] 6-05、音频重采样空间分配并完成重采样_ev_ev.mp4
 [25.5 MB] 3-02、初始化封装和网络库打开音视频流并打印调试信息_ev.mp4
 [41.6 MB] 1-02、直播推流流程分析讲解_ev_ev.mp4
 [11.2 MB] 8-01、磨皮双边滤波算法参数说明_ev_ev.mp4
 [18.1 MB] 7-04、XDataThread数据处理线程类创建并实现_ev_ev.mp4
 [29.9 MB] 4-01、opencv源码在windows下载编译安装_ev.mp4
 [14.4 MB] 5-12、完成RGBToYUV接口封装并重构代码_ev.mp4
 [30.4 MB] 8-02、双边滤波磨皮算法调用并测试性能_ev_ev.mp4
 [32.3 MB] 适合人群 移动开发工程师 直播平台开发者 对直播美颜技术感兴趣的学习者 学习收获 掌握美颜直播技术核心 独立开发直播美颜功能 提升直播平台竞争力 祝您学习愉快! 学有所成,前程似锦!