飞豹客 · 课能看,资料也能带走
飞豹客移动开发 会员免费

夏曹俊主讲:C++ FFmpegSDK美颜直播推流实战教程(Qt5+OpenCV)

如果你的工作是音视频相关,或者你正打算往直播、短视频方向转,那"会调用 FFmpeg"基本是一条绕不开的门槛。但多数人卡在同一个地方:文档看得懂,真动手就不知道从哪一行开始写。夏曹俊这门课解决的就是这个断层——它不讲 API 大全,而是带着你把一条完整的直播链路从零搭出来。 这门课到底在做什么 主题

单课价¥29.90新品 上架
会员价 会员免费开通会员后本篇可直接下载套餐详情
102 人关注 更新于 2026-07-17 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

会员可免费下载本篇月会员可按日额度下载(每篇扣 1 次)。

开通会员 ›
购买本课销量 0 · 永久有效
会员价 · 单课标价 ¥29.90

会员 A · 按档位折扣

永久免费可下
年免费可下
月免费可下

游客按标价购买,不享受上表折扣。

支付成功后自动发放网盘链接,链接失效可找客服免费补

正版保障 极速发货 售后无忧

如果你的工作是音视频相关,或者你正打算往直播、短视频方向转,那"会调用 FFmpeg"基本是一条绕不开的门槛。但多数人卡在同一个地方:文档看得懂,真动手就不知道从哪一行开始写。夏曹俊这门课解决的就是这个断层——它不讲 API 大全,而是带着你把一条完整的直播链路从零搭出来。

这门课到底在做什么

主题很明确:用 C++ 调 FFmpeg SDK,把摄像头采集、视频解码、美颜处理、编码推流这几步串成一个能跑的程序。界面用 Qt5,图像处理用 OpenCV,最终产物是一个本地的直播推流工具。

换句话说,学完之后你手上不是一个练习题,而是一个带界面的小软件:打开摄像头、实时看到美颜后的画面、把流推到服务端。这个过程中涉及的知识点——AVFrame 的数据布局、pts 时间戳怎么设、颜色空间怎么转换——都是实际项目里天天要碰的东西。

它适合什么基础的人

课程定位是有 C++ 基础的学习者,这个前提比较实在。你需要能看懂类、指针、回调这些基本概念,否则光是 FFmpeg 的结构体嵌套就会消耗掉大部分精力。至于 Qt 和 OpenCV,不要求你先学会,课上会讲到用到的部分。

如果你完全没写过 C++,建议先把语言基础补上再回来,不然容易变成照着敲代码但不知道为什么这么写。反过来,如果你已经做过一些音视频开发、只是想补齐推流这一环,这门课的节奏也不会让你觉得拖沓。

学完能独立做什么

  • 用 FFmpeg SDK 打开本地摄像头并持续读取视频帧
  • 理解解码和颜色转换的完整过程,而不是只会调一个函数
  • 接入 OpenCV 做基础美颜处理,并把它嵌进实时管线
  • 设置编码参数、处理时间戳,把处理后的画面编码成可推流的格式
  • 用 Qt5 搭一个能操作、能看画面的界面外壳

这几点加起来,对应的是"能自己写一个直播推流 demo"的能力。它不会让你立刻变成音视频专家,但足以让你在遇到类似需求时知道从哪下手,也能看懂别人项目里那部分代码在干什么。

资料怎么用效率更高

建议按"先跑通、再拆解"的顺序来。第一遍不要纠结每个参数的含义,跟着把链路跑起来,看到画面推出去,先建立整体感。第二遍再回头逐个模块抠,尤其是解码和编码那两段,把接口讲解和源码分析对着看,弄清楚每一步的数据形态是什么。

美颜部分别只当滤镜用。想一想它是在哪个环节插入的、对帧数据做了什么改动、会不会影响后面的编码效率——这类问题才是实际工作中真正决定方案好坏的地方。视频文件可以按模块挑着看,但采集、解码、编码、推流这条主线建议完整走一遍,中间断了容易接不上。

最后提醒一句:这类技术更新快,FFmpeg 的接口在不同版本间会有差异。学的时候重点抓思路和数据流,具体函数名遇到不一致时查一下当前版本的文档即可,不必因为一个报错卡太久。

课程目录

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