网站首页 > 技术文章 正文
知识点概要
- 音视频基础知识
- 开发环境支持 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:音视频学习知识体系
- 上一篇: FFmpeg如何提升—进阶版
- 下一篇: 音视频录制+RTMP直播推拉流
猜你喜欢
- 2024-12-05 FFmpeg基础学习路线
- 2024-12-05 FFmpeg4.2.2 交叉编译
- 2024-12-05 有哪些优秀的 C++ 代码库可以推荐学习?
- 2024-12-05 多媒体处理工具 FFmpeg 工具集
- 2024-12-05 FFmpeg从入门到精通
- 2024-12-05 音视频录制+RTMP直播推拉流
- 2024-12-05 FFmpeg如何提升—进阶版
- 2024-12-05 解决SRT稳定推流到SRS———网络丢包部分
- 2024-12-05 深入剖析ffplay.c之数据队列(1)
- 2024-12-05 一文读懂 Android FFmpeg 视频解码过程与实战分析
- 1509℃桌面软件开发新体验!用 Blazor Hybrid 打造简洁高效的视频处理工具
- 538℃Dify工具使用全场景:dify-sandbox沙盒的原理(源码篇·第2期)
- 497℃MySQL service启动脚本浅析(r12笔记第59天)
- 476℃服务器异常重启,导致mysql启动失败,问题解决过程记录
- 474℃启用MySQL查询缓存(mysql8.0查询缓存)
- 454℃「赵强老师」MySQL的闪回(赵强iso是哪个大学毕业的)
- 434℃mysql服务怎么启动和关闭?(mysql服务怎么启动和关闭)
- 431℃MySQL server PID file could not be found!失败
- 最近发表
- 标签列表
-
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- js判断是否是json字符串 (67)
- checkout-b (67)
- c语言min函数头文件 (68)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)