FFmpegWebRTCRTMP-音视频流媒体高级开发知识点总结
目录
FFmpeg/WebRTC/RTMP 音视频流媒体高级开发知识点总结
知识点概要
- 音视频基础知识
- 开发环境支持 WIN/LINUX/MAC 三大平台
- FFmpeg 命令
- FFmpeg API
- FFmpeg 播放器
- FFmpeg 转码器
- RTMP/RTSP/HLS/HTTP-FLV 流媒体客户端开 发
- SRS 流媒体服务器源码分析
- WebRTC 一对一通话
- WebRTC 多人通话
- Janus SFU(WebRTC)服务器源码分析
相关系列学习视频:
【免费】
1、音视频基础知识
基础知识:
- PCM 格式、编码原理等
- YUV 格式、IPB 帧原理等
Ffmpeg 环境搭建:
掌握Windows 平台、Linux 平台、 MAC 平台 三个平台的搭建
常用工具:
MediaInfo
2、FFmpeg 命令学习
2.1 命令帮助
- 如何查询 Ffmpeg 命令帮助
- Ffmpeg 命令分类
2.2 ffplay 命令
- ffplay 播放控制
- ffplay 播放 pcm 、yuv 、使用 filter
2.3 ffmpeg 命令
- pcm 、yuv 、aac、h264提取
- 视频录制命令
- 多媒体文件的分解/复用命令
- 裁剪与合并命令
- 图片/视频互转命令
- 直播相关命令
- 各种滤镜命令
3、FFmpeg 编程实战
3.1 音视频渲染实战
- SDL 环境搭建 、事件处理 、线程处理
- YUV 视频播放实战
- PCM 声音播放实战
3.2 FFmpeg API
- FFmpeg 框架分析 、内存模型分析、常用结构体
3.3 音视频编解码
- FFmpeg 解码流程分析
- AAC、H264 编解码原理
- AAC、H264 解码实战
- MP3 转 AAC 实战
3.4 音视频封装格式
- FLV、MP4 封装格式分析
- 封装格式分析
- 多媒体解复用实战
- 多媒体复用实战
- 多媒体转封装格式实战
- 音频重采样
- 视频尺寸变换
3.5 音视频过滤器
- 音视频过滤器
- 视频过滤器
- 过滤器实际项目实现
3.6 ffplay 播放器
- 掌握 ffplay.c 的意义
- ffplay 框架分析
- 音视频解码 、控制 、同步
- 参数机制
3.7 播放器开发实战
- 播放器框架分析
- 模块划分
- 音视频解码
- 播放器控制
- 音视频同步
3.8 ffmpeg 录制转 码
- 掌握 ffmpeg.c 的意义
- ffmpeg 框架分析
- 音视频编码
- 封装格式转换
- 提取音频 、视频
- logo 叠加
- 音视频文件拼接
- filter 机制
4、流媒体客户端实战
4.1 RTMP 流媒体
- RTMP 协议分析
- wireshark 抓包分析
- H264 RTMP 、AAC RTMP封装
- RTMP 拉流实战
- H264 RTMP 、AAC RTMP解析
- RTMP 推流实战
4.2 HLS 流媒体
- HLS 、HTTP协议、TS 格式分析 、wireshark 抓包、FFmpeg HLS 源码分析
- HLS 拉流实战、多码率机制
4.3 HTTP-FLV 流媒体
- HTTP-FLV 协议分析 、wireshark 抓包分析 、http chunk 机制分析
- HTTP-FLV 拉流实战
- FFmpeg HTTP-FLV 源码分析
4.4 RTSP 流媒体实战
- RTSP 、RTP、RTCP协议分析
- H264 RTP封装、 解析
- AAC RTP封装 、解析
- RTSP流媒体服务器搭建、推流、拉流实战
- wireshark 抓包分析
FFmpeg视频点击 获取、备注FFmpeg资料。
5、SRS 流媒体服务器
SRS 4.0 源码剖析
- 整体框架分析
- RTMP 推流分析、拉流分析
- HLS 拉流分析
- HTTP-FLV 拉流分析
- FFmpeg 转码分析
- 首屏秒开技术分析
- forward 集群源码分析
- edge 集群源码分析
- 负载均衡部署方式
6、WebRTC 实战
6.1 WebRTC 中级开发
- WebRTC 通话原理分析
- WebRTC 开发环境搭建
- coturn 最佳搭建方法
- 如何采集音视频数据
- 一对一通话时序分析
- 信令服务器设计
- SDP 分析
- Candidate 类型分析
- Web 一对一通话
- Web 和 Android 通话
- AppRTC 快速演示
6.2 WebRTC 高级开发
- 自定义摄像头分辨率
- 码率限制
- 调整编码器顺序
- Mesh 模型多方通话
- Janus 框架分析
- Janus Web、Android、Windows客户端源码分析
- Janus 信令设计
- 基于 Janus 实现会议系统
- WebRTC 源码编译
- 拥塞控制算法
- FEC
- jitter buffer
6.3 Janus 服务器源码分析
- 源码结构
- 插件机制
- 线程分析
- 信令交互过程
- videoroom 分析
- sdp、rtp、srtp、rtcp 、stun、turn 分析
7、Android NDK 开发
音视频开发
- So 库适配总结
- JNI Native 层构建 Java 对象
- JNI 异常处理
- 编译 FFmpeg、ijkplayer
- 基于 ijkplayer 二次开发
- OpenSL ES 播放音频数据
- MediaCodec 硬件解码
- OpenGL ES Shader 显示视频
- RTMP 推流直播
ps:音视频学习知识体系