解决音视频开发中的“协议盲区”与“播放器难题”

对于很多职场人来说,音视频开发最大的痛点往往不是代码写不出来,而是不知道该用哪个协议。当项目需要实现直播推流、远程监控或视频点播时,面对 FFmpeg、WebRTC、RTMP、RTSP、HLS 等一堆名词,很容易陷入选择困难。这门课程主要解决的是音视频开发中的协议栈与播放器开发问题。它不只是罗列命令行参数,而是深入到底层,教你如何利用 FFmpeg 进行音视频的录制、转码与封装,以及如何理解 WebRTC 在实时通信中的信令流程与媒体传输。对于想要系统掌握流媒体开发的人来说,这门课能帮你补齐“协议与播放”这一块拼图,让你在面对复杂音视频需求时,能从原理层面找到解决方案,而不是盲目调用现成的库。

适合有一定基础、想系统构建技术栈的从业者

这门课并不适合完全的编程零基础小白,它更适合已经接触过 C/C++,或者正在从事音视频相关开发工作,但希望从“会用工具”进阶到“理解原理”的上班族。如果你对数据结构、网络编程有基本认知,并且对 Linux 环境下的开发(如 Ubuntu)不陌生,那么这门课能帮你建立起完整的技术体系。课程从基础的音视频录制与播放原理讲起,过渡到开发环境的搭建,再到具体的协议实现。对于基础薄弱的同学,建议先重点学习“音视频基础”和“开发环境搭建”这两大板块,打好封装格式、RGB/YUV 转换以及 FFmpeg 编译这些地基,后续的协议分析会顺畅很多。

掌握 FFmpeg 工具链与播放器逻辑,实现独立开发

学完这门课程,你将具备独立开发音视频播放器以及进行流媒体协议处理的能力。具体来说,你能够熟练使用 FFmpeg 的命令行工具进行音视频的转码、剪辑和格式转换,更重要的是能看懂其源码逻辑,理解帧同步与音画同步的原理。在播放器开发方面,你将掌握基于 FFmpeg 的播放器开发逻辑,能够独立实现一个支持多种流媒体协议(如 RTSP、RTMP、HLS)的播放器内核。这不仅提升了你的编码效率,更让你在面对项目中的播放卡顿、音画不同步等问题时,能够迅速定位并修复。资料包中包含了配套的录播视频,建议在看完基础原理后,紧跟开发环境的搭建章节,通过动手编译 FFmpeg 来加深对开发流程的理解。

课程目录

零声.png (42.

94 KB,  ) 2024-5-7 19:

16 上传 高价购买的 一直舍不得放出来 再藏就发霉了 已经把把几大体系课程从众筹区移动了永久VIP区 需要的下载 

01 音视频基础 【录播】0-音视频开发高级课程简介(22分钟) 免费试学 【录播】1-1_音视频录制原理(9分钟) 【录播】1-2__音视频播放原理(3分钟) 【录播】1-3__图像表示RGB-YUVV(13分钟) 【录播】1-4__视频主要概念(12分钟) 【录播】1-5-音频基础知识-物理音频和数字音频(10分钟) 【录播】1-6-音频基础知识-音频常见名词(10分钟) 【录播】1-7-音频基础知识-音频编码原理简介(14分钟) 【录播】1-8_封装格式+音视频同步(7分钟) 

02 开发环境搭建 【录播】Ubuntu16.04_1-FFmpeg编译(19分钟) 【录播】Ubuntu16.04_2-QT安装(30分钟) 【录播】Ubuntu16.04_3-QT使用FFmpeg(36分钟) 【录播】Win10_1-FFmpeg命令行环境搭建(9分钟) 【录播】Win10_2-3-VS2015+QT环境开发(44分钟) 【录播】Win10_4-FFmpeg编译(75分钟) 【录播】Win10_5-MSVC2015+QT调用FFmpeg(30分钟) 【录播】MAC_1-FFmpeg编译(33分钟) 【录播】MAC_2-QT安装(33分钟) 【录播】MAC_3-QT使用FFmpeg(33分钟) 03 FFmpeg命令实战-高屋建瓴1 【录播】02-FFMPEG如何查询命令帮助文档(11分钟) 【录播】03-ffmpeg音视频处理流程(8分钟) 【录播】04-ffmpeg命令分类查询(25分钟) 【录播】05-ffplay播放控制(10分钟) 【录播】06-ffplay命令选项(上)(12分钟) 【录播】06-ffplay命令选项(下)(12分钟) 04 FFmpeg命令实战-高屋建瓴2 【录播】07-ffplay命令播放媒体(8分钟) 【录播】08-ffplay简单过滤器(8分钟) 【录播】09-ffmpeg命令参数说明(23分钟) 【录播】10-ffmpeg命令提取音视频数据(11分钟) 【录播】11-ffmpeg命令提取像素格式和PCM数据(28分钟) 【录播】12-ffmpeg命令转封装(19分钟) 【录播】13-fmpeg命令裁剪和合并视频(27分钟) 【录播】14-fmpeg命令图片与视频互转(10分钟) 【录播】15-ffmpeg命令视频录制(22分钟) 【录播】16-ffmpeg命令直播(上)(10分钟) 05 FFmpeg命令实战-高屋建瓴3 【录播】17-ffmpeg命令直播(下)(2分钟) 【录播】18-ffmpeg过滤器-裁剪(6分钟) 【录播】19-ffmpeg过滤器-文字水印(17分钟) 【录播】20-ffmpeg过滤器-图片水印(10分钟) 【录播】21-ffmpeg过滤器-画中画(8分钟) 【录播】22-ffmpeg过滤器-多宫格(11分钟) 

06 SDL音视频渲染实战-初学乍练 【录播】05-SDL-01-Windows平台开发(19分钟) 【录播】05-SDL-02-Window显示(15分钟) 【录播】05-SDL-03-Event事件(11分钟) 【录播】05-SDL-04-Thread(16分钟) 【录播】05-SDL-YUV播放(27分钟) 【录播】06-SDL-PCM声音播放(24分钟) 

07 FFmpeg基础-全面了解 【录播】06-01-FFmpeg入门(61分钟) 【录播】06-02-FFmpeg内存模型(24分钟) 【录播】06-03_FFmpeg内存实战(39分钟) 

08 FFmpeg解封装+解码实战-略有小成 【录播】07-01-音视频解封装流程分析(45分钟) 【录播】07-02-AAC ADTS分析(28分钟) 【录播】07-03-H264 NALU分析(59分钟) 【录播】07-04-FLV封装格式剖析(43分钟) 【录播】07-05-FLV解封装实战(79分钟) 【录播】07-06-音频解码实战(38分钟) 【录播】07-07-视频解码实战(17分钟) 【录播】07-07-MP4封装格式剖析(69分钟) 【录播】07-08-MP4解封装(70分钟) 【录播】7-9-AVIO内存输入模式(33分钟) 

09 FFmpeg编码+封装实战-心领神会 【录播】7-10-1-音频处理基本概念及音频重采样(33分钟) 【录播】7-10-2-音频处理基本概念及音频重采样(4分钟) 【录播】08-01-音频编码实战(47分钟) 【录播】08-02-H264编码原理详解(4分钟) 【录播】08-03-视频编码实战(42分钟) 【录播】08-04-音视频H264和AAC合成FLV实战(77分钟) 【录播】08-05_MP4合成实战1-框架分析(33分钟) 【录播】08-05_MP4合成实战2-muxer实现(33分钟) 【录播】08-05_MP4合成实战3-音视频编码实现(33分钟) 【录播】08-05_MP4合成实战4-合成vep(33分钟) 

10 FFmpeg过滤器实战-豁然贯通 【录播】08-05_MP4合成实战5-优化(33分钟) 【录播】9-1-FFmpeg过滤器框架分析(12分钟) 【录播】9-2-视频过滤器实战(21分钟) 【录播】9-3-音频过滤器实战(39分钟) 【录播】9-4-5-FFmpeg filter补充讲解(46分钟) 

11 播放器实战-出类拔萃 【录播】播放器框架分析(31分钟) 【录播】音频输出模块(59分钟) 【录播】视频输出模块(48分钟) 【录播】缓存队列设计(65分钟) 【录播】音频解码模块(55分钟) 【录播】视频解码模块(77分钟) 【录播】音视频同步模块(4分钟) 【录播】音视频控制模块(4分钟) 【录播】播放器开发小结(4分钟) 12 ffplay播放器剖析1-技冠群雄 【录播】11-01-ffplay.c意义(6分钟) 【录播】11-02-ffplay框架分析(16分钟) 【录播】11-03-ffplay数据结构分析(76分钟) 免费试学 【录播】11-04-ffplay数据读取线程(131分钟) 免费试学 【录播】11-05-ffplay视频解码线程(58分钟) 【录播】11-06-ffplay音频解码线程(21分钟) 【录播】11-07-ffplay音频输出模块(60分钟) 【录播】11-08-ffplay重采样(17分钟) 【录播】11-09-视频输出(95分钟) 【录播】11-10-ffplay图像格式转换(7分钟) 13 ffplay播放器剖析2-技冠群雄 【录播】11-11-音视频同步基础(49分钟) 【录播】11-12-ffplay播放器-音视频为基准(63分钟) 【录播】11-13-ffplay播放器-以视频为基准(35分钟) 【录播】11-14-ffplay播放器-外部为基准(15分钟) 【录播】11-15-播放器-播放暂停(35分钟) 【录播】11-16-播放器--逐帧、调音量、静音(11分钟) 【录播】11-17-ffplay播放器-快进快退seek(36分钟) 【录播】11-18-ffplay播放器总结(6分钟) 14 ffmpeg媒体转换器1-神乎其技 【录播】13-01-掌握ffmpeg.c的意义(4分钟) 【录播】13-02-ffmpeg框架分析(55分钟) 【录播】13-03-命令行解析1(34分钟) 【录播】13-03-命令行解析2(45分钟) 【录播】13-05-mp4转flv-1(70分钟) 【录播】13-06_mp42flv(37分钟) 【录播】13-07-mp4转flv3-filter逻辑(60分钟) 【录播】13-09-ffmpeg mp4转flv之copy(60分钟) 15 ffmpeg媒体转换器2-神乎其技 【录播】13-10-mp4转flv6-scale(19分钟) 【录播】H264转H265实战(4分钟) 【录播】AAC转MP3实战(4分钟) 

16 RTMP流媒体实战 【录播】RTMP流媒体服务器搭建(29分钟) 【录播】RTMP实战1(132分钟) 【录播】RTMP实战2(137分钟) 【录播】RTMP实战3(148分钟) 【录播】H264封装(36分钟) 【录播】AAC封装(36分钟) 【录播】RTMP推流实战(36分钟) 【录播】RTMP推流抓包分析(36分钟) 【录播】RTMP拉流实战(36分钟) 【录播】RTMP拉流抓包分析(36分钟) 

17 HLS流媒体实战 【录播】16-01 HLS流媒体服务器配置(29分钟) 【录播】16-02 HLS框架分析(27分钟) 【录播】16-03 m3u8协议详解(9分钟) 【录播】16-04 TS协议解析(36分钟) 【录播】16-05 HLS抓包分析(23分钟) 【录播】16-06 HTTP协议分析(24分钟) 【录播】16-07 hls拉流源码分析1(69分钟) 【录播】16-07 hls拉流源码分析2(54分钟) 【录播】16-08 nginx-hls-多码率测试环境搭建(58分钟) 【录播】16-09 TS协议补充(25分钟) 

18 HTTP-FLV流媒体实战 【录播】17-01-HTTP-FLV拉流框架分析(4分钟) 【录播】HTTP-FLV拉流实战1(4分钟) 【录播】HTTP-FLV拉流实战2(4分钟) 【录播】HTTP-FLV抓包分析(4分钟) 19 RTMP/HLS/HTTP-FLV流媒体服务器分析 【录播】01-SRS流媒体服务器开发概述(47分钟) 【录播】02-SRS流媒体框架入门(66分钟) 【录播】03-SRS流媒体服务器-RTMP推流框架分析(63分钟) 【录播】04-SRS流媒体服务器-RTMP拉流框架分析(32分钟) 【录播】05-SRS流媒体服务器-RTMP协议1(68分钟) 【录播】05-SRS流媒体服务器-RTMP协议2(23分钟) 【录播】06-SRS流媒体服务器-RTMP推流消息处理(59分钟) 【录播】07-SRS流媒体服务器-HTTP-FLV框架分析(48分钟) 【录播】08-1-SRS流媒体服务器-HTTP-FLV-配置文件(25分钟) 20 RTMP/HLS/HTTP-FLV流媒体服务器分析2 【录播】08-2-SRS流媒体服务器-HTTP-FLV拉流(26分钟) 【录播】08-3-SRS流媒体服务器-HTTP-FLV拉流1(50分钟) 【录播】08-4-SRS流媒体服务器-HTTP-FLV拉流2(53分钟) 【录播】09-1-SRS流媒体服务器-Forward集群配置文件(26分钟) 【录播】09-2-SRS流媒体服务器-Forward集群源码分析(31分钟) 【录播】10-1-SRS流媒体服务器-Edge集群配置(42分钟) 【录播】10-2-SRS流媒体服务器-Edge源码分析(50分钟) 【录播】10-3-SRS流媒体服务器-Edge回源(18分钟) 【录播】11-1-SRS流媒体服务器-HLS文件配置和测试(18分钟) 【录播】11-2-SRS流媒体服务器-HLS拉流分析1(60分钟) 21 RTMP/HLS/HTTP-FLV流媒体服务器分析3 【录播】11-3-SRS流媒体服务器-HLS拉流分析2(31分钟) 【录播】11-3-SRS流媒体服务器-HLS拉流分析3(64分钟) 【录播】1-RTSP服务器搭建(27分钟) 【录播】2-RTSP基本原理(34分钟) 【录播】3-RTP协议讲解(24分钟) 【录播】4-RTP之H264封包和解包1-封包原理(36分钟) 【录播】4-RTP之H264封包和解包2-封包原理(91分钟) 22 RTSP流媒体实战2 【录播】5 RTP之AAC封包和解包2-原理和源码解析(51分钟) 【录播】6-RTSP协议交互流程(38分钟) 【录播】7 SDP协议分析(27分钟) 【录播】8 RTCP解析(88分钟) 【录播】9-1-rtsp推流实战-框架分析(59分钟) 【录播】9-2-rtsp推流实战-模拟捕获音频(77分钟) 【录播】9-3-rtsp推流实战-模拟捕获视频(50分钟) 【录播】9-4-rtsp推流实战-音频编码器封装(98分钟) 【录播】9-4-rtsp推流实战-音频编码器封装2(33分钟) 23 RTSP流媒体实战3 【录播】9-5-rtsp推流实战-视频编码器封装(93分钟) 【录播】9-6-rtsp推流实战-队列设计(93分钟) 【录播】9-7-rtsp推流实战-RTSP推流模块(71分钟) 24 RTSP流媒体实战4 【录播】9-8-rtsp推流实战-实现RTSP正常推流(37分钟) 【录播】9-9-rtsp推流实战-RTSP推流超时处理(32分钟) 【录播】9-10-rtsp推流实战-消息处理机制(84分钟) 【录播】9-11-rtsp推流实战-综合优化(30分钟) 

25 WebRTC中级-WebRTC基础原理 【录播】0 WebRTC课程介绍(13分钟) 【录播】1.1 什么是WebRT(3分钟) 【录播】1.2 WebRTC框架(5分钟) 【录播】1.3-1.4 WebRTC发展前景+国内方案商(7分钟) 【录播】1.5 WebRTC通话原理1-STUN(21分钟) 【录播】1.5 WebRTC通话原理2-TURN(8分钟) 【录播】1.5 WebRTC通话原理3-信令服务器(10分钟) 【录播】1.5 WebRTC通话原理4-一对一通话(18分钟) 【录播】1.6 课程收获(2分钟) 

26 WebRTC中级-WebRTC开发环境搭建 【录播】2.1 vscode安装和测试(9分钟) 【录播】2.2 nodejs安装和测试(10分钟) 【录播】3.1 coturn安装(4分钟) 【录播】3.2 coturn服务器测试(7分钟) 

27 WebRTC中级-音视频采集 【录播】4.1 打开摄像头(上)(15分钟) 【录播】4.1 打开摄像头(下)(4分钟) 【录播】4.2 打开麦克风(9分钟) 【录播】4.3 打开摄像头+麦克风(3分钟) 【录播】4.4 拓展讲解(8分钟) 

28 WebRTC中级-Nodejs实战 【录播】5.1 Web端websocket(11分钟) 【录播】5.2 Nodejs服务器 websocket(8分钟) 【录播】5.3 websocket聊天室实战1-框架分析(7分钟) 【录播】5.3 websocket聊天室实战2-客户端(8分钟) 【录播】5.3 websocket聊天室实战3-服务端(13分钟) 【录播】5.4 信令服务器mp实战(12分钟) 【录播】6.1.1 js知识补充(10分钟) 29 WebRTC中级-手把手实现音视频一对一通话(一) 【录播】6.1.2 一对一通话原理(25分钟) 【录播】6.1.3 信令协议设计(38分钟) 【录播】6.1.4 WebRTC API讲解(12分钟) 【录播】6.2 RTCPeerConnection补充(7分钟) 【录播】6.3.1-2 页面设计和打开摄像头(22分钟) 【录播】6.3.3 websocket连接(23分钟) 【录播】6.3.4 join_new-peer信令(44分钟) 【录播】6.3.5 leave和peer-leave信令实现(19分钟) 【录播】6.3.6 一对一offer_answer_candidate信令(62分钟) 30 WebRTC中级-手把手实现音视频一对一通话(二) 【录播】6.3.7 综合调试和完善(54分钟) 【录播】6.4-1 部署到公网(上)(31分钟) 【录播】6.4-2 部署到公网(下)(8分钟) 【录播】6.4-3 部署到公网(云服务器替换为外网ip)(4分钟) 【录播】6.5.1 获取权限和引入库(4分钟) 【录播】6.5.2 信令处理(15分钟) 【录播】6.5.3 Android WebRTC框架分析(42分钟) 【录播】6.5.4 Android实战-走读代码(22分钟) 【录播】6.5.5 Web和Android通话总结(13分钟) 31 WebRTC中级-开源项目简介和AppRTC工程搭建 【录播】7. 开源方案简介(13分钟) 【录播】8.1 AppRTC服务器组成(5分钟) 【录播】8.2 准备工作(3分钟) 【录播】8.3-AppRTC必要软件安装(1)(22分钟) 【录播】8.3-AppRTC-必要软件安装(2)(15分钟) 【录播】8.4-1AppRTC配置与运行coturn_collider(20分钟) 【录播】8.4-2-AppRTC-配置与运行-nginx代理(12分钟) 【录播】8.4-3AppRTC配置与运行-解决跨域问题和总结(18分钟) 【录播】9 WebRTC基础课程总结与展望(10分钟) 

32 WebRTC高级-分辨率-码率-编码器 【录播】修改摄像头分辨率(133分钟) 【录播】限制码率(145分钟) 【录播】快播核心技术揭秘 P2P框架的实现(1)(64分钟) 【录播】快播核心技术揭秘 P2P框架的实现(2)(59分钟) 

33 WebRTC高级-Mesh模型实现多人通话 【录播】多人通话原理(144分钟) 【录播】信令实现-客户端实现(33分钟) 【录播】信令实现-服务器实现(33分钟) 34 WebRTC高级-Janus二次开发1 【录播】Janus项目搭建(server+web+android)(75分钟) 【录播】Janus框架分析(40分钟) 【录播】Janus信令分析(43分钟) 【录播】Web客户端信令分析1(27分钟) 【录播】Web客户端信令分析2(32分钟) 【录播】Web客户端信令分析3-publisher(88分钟) 【录播】Web客户端信令分析4-subscriber1(29分钟) 【录播】Web客户端信令分析4-subscriber2(37分钟) 【录播】Web客户端源码分析1(58分钟) 【录播】Web客户端源码分析2(77分钟) 35 WebRTC高级-Janus二次开发2 【录播】Janus Web客户端源码分析3(54分钟) 【录播】手把手实现Web视频会议开发-代码实现1(33分钟) 【录播】手把手实现Web视频会议开发-代码实现2(76分钟) 

36 WebRTC高级-Janus源码分析 【录播】Janus服务器-源码结构(13分钟) 【录播】glib-01-编译和glist(23分钟) 【录播】glib-02-threads(8分钟) 【录播】glib-03-asyncqueue(10分钟) 【录播】glib-04-threadpool(26分钟) 【录播】glib-05-hashtable(12分钟) 【录播】glib-06-mainloop-contex(18分钟) 【录播】videoroom分析1(4分钟) 37 WebRTC高级-SRS4.0-1 【录播】1-SRS 4.0开发环境搭建(38分钟) 【录播】2-SRS 4.0配置支持WebRTC推拉流1(23分钟) 【录播】2-SRS 4.0配置支持WebRTC推拉流2(8分钟) 【录播】3-1-RTMP端口监听逻辑(32分钟) 【录播】3-2-RTMP推流拉流怎么创建连接(28分钟) 【录播】3-3_4-RTMP推流读取数据,拉流转发数据(18分钟) 38 WebRTC高级-SRS4.0-2 【录播】3-5-哪些配置文件会影响RTMP的延迟(40分钟) 【录播】4 SRS 4.0 支持WebRTC一对一通话(28分钟) 39 WebRTC高级-SRS4.0-3 【录播】5 SRS 4.0 支持WebRTC多对多通话(42分钟) 【录播】6 SRS 4.0 RTMP to WebRTC原理分析(4分钟) 

40 WebRTC高级-WebRTC源码分析 【录播】7 SRS 4.0 WebRTC to RTMP 原理分析(4分钟) 【录播】8 SRS 4.0 WebRTC SDP分析(4分钟) 【录播】9 SRS 4.0 WebRTC拥塞算法分析(4分钟) 

41 调试方法 【录播】makefile和cmake工程组织(126分钟) 【录播】gdb调试技巧(105分钟) 【录播】

10 SRS 4.0 WebRTC jitterbuffer(36分钟) 

42 Android NDK开发 【录播】1-So库适配简单总结(33分钟) 【录播】2-1-JNI、NDK、CMake和ndk-build介绍(33分钟) 【录播】2-2-环境搭建(33分钟) 【录播】2-3-CMake配置-CMakeList和gradle(33分钟) 【录播】2-3-CMake配置-so目录输出(33分钟) 【录播】2-3-生成指定cpu平台对应的so库文件(33分钟) 【录播】2-4-JNI基础.和接口生成(33分钟) 【录播】3-1-ffmpeg编译(33分钟) 【录播】3-2-ffmpeg-android集成(33分钟) 【录播】4-播放器开发(33分钟)