解决什么问题:直播推拉流底层的黑盒穿透
很多做音视频开发的人,调用 FFmpeg 命令行或高级 API 时很顺,但遇到直播场景的卡顿、花屏、音画不同步就抓瞎。这门课聚焦的不是工具怎么用,而是把工具拆开看。它解决的核心问题是:当你在做推流或拉流时,底层到底经历了哪些数据结构转换、时间基如何对齐、滤镜图怎么串联。课程通过剖析转码器源码和直播架构,帮你建立从协议层到封装层的完整认知,而不是停留在调用第三方库的层面。
适合什么基础:需要懂 C 和基本音视频概念
资料包里涉及 msys2 编译、VS 调试、Qt 环境搭建,说明它默认你已经能写 C 代码、装过开发工具链。如果你连 AVFormatContext 是什么都不知道,直接看源码剖析会非常吃力。建议先确认自己写过简单的解封装或转码程序,再碰这部分内容。课程从编译 FFmpeg 源码开始,逐步过渡到时间基、滤镜语法、转码器源码逐行拆解,难度是实打实的源码级,不是 API 速查手册。
怎么用这份资料:先跑通编译,再对照源码改参数
拿到资料后,不要一上来就钻 ffmpeg.c 的源码细节。第一步,跟着编译模块把 FFmpeg 和 libx264 在 Windows 下编通,这一步踩坑最多,但能让你对编译选项有体感。第二步,搭好 VS 或 Qt 的调试环境,把断点打在转码流程上,观察数据包是怎么从解复用走到编码器的。第三步,重点看时间基转换和滤镜应用这两块,直播场景的很多坑都在这里。学完后,你应该能独立定位直播流处理中的同步问题,能读懂 FFmpeg 命令行背后的完整逻辑,甚至能基于源码二次开发定制化的推流工具。
学习FFmpeg的源码、架构、重要API、数据结构、直播案例应用,以及源码剖析
课程目录
* 01 编译FFmpeg源码/
* 01 FFmpeg源码剖析课程概览与演示
* 02 课程简介与开场白
* 03 msys2编译工具简介
* 04 msys2+msvc编译libx264
* 05 msys2+msvc编译ffmpeg
* 06 msys2+mingw编译ffmpeg+libx264
* 07 ffmpeg配置选项的灵活应用
* 08 VS2015编译调试FFmpeg-SMP
* 02 配置FFmpeg开发环境/
* 01 搭建Qt的FFmpeg开发环境
* 02 搭建VS的FFmpeg开发环境
* 03 FFmpeg的时间基与时间刻度
* 03 FFmpeg转码器应用及ffmpeg.c源码剖析/
* 01 FFmpeg转码器及命令行
* 02 FFmpeg滤镜应用及语法详解
* 03 FFmpeg.c源码介绍
* 04 FFmpeg.c的main函数介绍
* 05 FFmpeg.c的ffmpeg_parse_options函
* 06 FFmpeg.c的transcode函数流程解析
* 07 FFmpeg.c的transcode_step函数图解
* 08 transcode_step函数的输入流的处理
* 09 transcode_step函数的过滤器及输出流的处理
* 10 清理收尾工作及main()函数小结
* 04 把控FFmpeg骨架:“八大金刚”核心开发库/
* 01 FFmpeg八大金刚核心开发库简介
* 05 夯实FFmpeg基础:重要数据结构及API/
* 01 FFmpeg核心解码框架及流程简介
* 02 FFmpeg核心解码相关的10个数据结构
* 03 FFmpeg协议层的3个数据结构
* 04 FFmpeg封装层的4个数据结构
* 05 FFmpeg编解码层的3个数据结构
* 06 FFmpeg相关的重要API简介
* 06 精通FFmpeg框架流程及责任链设计模式/
* 01 FFmpeg编解码框架及责任链设计模式
* 07 AVUtil通用工具层案例实战及源码剖析/
* 01 AVLog日志案例应用及自定义回调函数
* 02 AVLog底层源码分析
* 03 AVDictionary字典案例应用及源码剖析
* 04 AVUtil其它函数及源码剖析
* 08 AVProtocol协议层理论及案例实战/
* 01 AVIO打开视频文件案例应用
* 02 AVFormatContext及AVInputFormat结
* 03 av_dump_format()函数源码分析
* 04 avformat_open_input()函数源码分析
* 05 AVIOContext自定义回调函数案例应用
* 09 AVFormat封装层案例实战及源码剖析/
* 01 FFmpeg解封装案例应用
* 02 AVPacket及相关API的源码解析
* 03 av_read_frame()函数的源码解析
* 10 AVCodec编解码层案例实战及源码剖析/
* 01 FFmpeg解码流程及案例应用
* 02 FFmpeg解码相关的几个结构体源码剖析
* 03 avcodec_open2函数源码剖析
* 04 avcodec_send_packet函数源码剖析
* 05 FFmpeg解码音频案例简介
* 06 avcodec_send_frame及三个封装函数源码剖析
* 11 AVFilter过滤器层案例实战及源码剖析/
* 01 AVFilter过滤器流程及API简介
* 02 AVFilter的API方式添加图片水印
* 03 AVFilter的数据结构及API源码分析
* 04 AVFilter封装为C++类
* 05 AVFrame的两种内存分配模式及源码剖析
* 12 SWResample音频重采样案例实战及源码剖析/
* 01 SWResample音频重采样的数据结构及API讲解
* 02 SWResample音频重采样案例及API源码分析
* 03 av_samples_alloc_array_and_sam
* 04 swr_convert源码解析
* 13 SWScale颜色空间转换案例实战及源码剖析/
* 01 SWScale颜色格式转换简介及案例应用
* 02 SWScale数据结构及API源码解析
* 14 AVDevice设备读写案例实战及源码剖析/
* 01 DShow方式读取摄像头案例实战
* 02 av_find_input_format函数源码解析
* 03 avdevice_register_all函数源码解析
* 04 dshow.c函数源码解析
* 15 FFmpeg直播案例实战及源码剖析/
* 01 FFmpeg摄像头直播案例实战
* 02 H.264编码器的C++类封装
* 03 AVFilter为直播添加图片水印
* 04 RTMP直播推流的API详解
* 05 FFmpeg直播推流的源码解析






