C++语法阶段
第1周: C++基础语法
- 基本数据类型、运算符、流程控制语句
- 函数定义与调用、指针、引用、常量
第2周: 函数、类、对象的概念和使用方法
- 类、对象、构造函数、析构函数
- 访问修饰符、面向对象、封装、继承、多态
- this指针
第3周: 面向对象编程思想、继承、多态等概念
- 虚函数、抽象类、接口
- 运算符重载
第4周: C++模板和对象模型
- 函数模板、类模板、继承的模板、多态模板
- 对象模型
第5周: C++的STL库和常用容器使用
- 向量、链表、集合、映射
- 迭代器、算法库
第6周: C++新特性
- 智能指针、lambda表达式
- std::function、std::bind
- 结构化绑定
编程四大件速成阶段
第7周: Linux多线程、线程同步;进程、进程间通信
- 线程创建、互斥锁、条件变量、线程同步、线程池
- 进程的使用、进程间通信
第8周: Linux操作系统速成
- 文件系统和设备管理
- Linux内存管理
第9周: 基本网络协议、网络编程
- TCP、UDP、HTTP
- Socket编程
第10周: 网络通信模型
- 同步、异步
- select、poll、epoll
- 边缘触发和条件触发
第11周: 简单设计模式速成
- 单例、工厂设计模式
- MVC、装饰模式、建造者模式
第12周: 基础数据结构速成
- 链表、数组、栈、队列、二叉树
第13周: 基础算法速成
- 十大排序算法、查找算法、递归、搜索
第14周: 进阶算法速成
- 贪心、回溯、分治、动态规划(根据时间安排)
音视频知识速成阶段
第15周: 音视频基础知识
- 声音和图像的数字化
- 音视频编解码原理
- 音视频采集
第16周: 音视频流媒体传输协议和格式
- RTP、RTSP、RTMP
- 网络协议分析
- HLS
第17周: 音视频采集、编码、格式转换、特效处理
- H264、H265、PCM、MP3、MP4、FLV、AAC
- 滤镜
第18周: 音视频流媒体服务/客户端开发框架理论
- 服务器搭建
- 流媒体协议实现
- 音视频数据处理
- 流媒体推流、播放等开发流程
FFmpeg实战阶段
第19周: FFmpeg基础知识
- FFmpeg编译、常用命令
- 转封装
- 常用函数
第20周: FFmpeg流媒体
- 发布与录制RTMP、RTSP
- 推多路流
- 流媒体播放
第21周: FFmpeg特效和采集设备
- 滤镜、水印、多宫格、字幕、抠图、旋转、倍速
- Linux设备采集
第22周: FFmpeg常用API
- libavformat、libavcodec、libavfilter等等
第23周: FFPlay源码分析与精读(一)
第24周: FFPlay源码分析与精读(二)
第25周: FFmpeg其他源码模块泛读
- ffserver、libavcodec、libavformat、ffprobe
Live555实战阶段
第26周: Live555基础知识
- 核心组件和模块
- 工作原理和基本的数据流程
- 配置文件和配置参数的含义
第27周: Live555的媒体服务器、传输和编解码技术
- RTSP服务器的实现和配置
- 媒体流录制和回放
- 传输优化技术、拥塞控制、抖动缓冲
第28周: Live555跨平台与其他技术融合
- CDN、安卓、iOS、嵌入式
- 高级功能,如多路复用、自适应码率
WebRTC实战阶段
第29周: WebRTC基础知识
- 基本原理
- 建立过程
- 通话原理
- 信令
第30周: WebRTC架构组件和核心API
- Native C++ API
- RTCDataChannel、getUserMedia、RTCPeerConnection
第31周: WebRTC的流媒体传输和编解码技术/加密
- 浏览器音视频采集、流媒体播放
- 媒体传输优化技术、网络性能优化
第32周: WebRTC跨平台
- 移动端和嵌入式设备上的应用
- IoT(物联网)领域的应用