课程介绍和课程服务
本课程是零声教育推出的音视频流媒体高级开发课程,课程内容涵盖音视频基础、FFmpeg实战、流媒体客户端、WebRTC项目实战、嵌入式音视频开发、流媒体服务器、Android NDK开发等阶段。
课程适合人群
- 从事音视频岗位开发的在职工程师
- 从事嵌入式方向开发的在职工程师
- 从事Qt/MFC等桌面开发的在职工程师
- 从事Android/IOS移动开发的在职工程师
- 从事C/C++后台开发的在职工程师
- 计算机相关专业的在校生
授课方式和课程服务
- 200+小时课程,每年有内容更新
- 老师答疑 工作问题 课程问题
- 简历梳理 技术点凸显 项目技术梳理
- 模拟面试 技术表述 项目重点
- 薪资谈判 福利争取 公司背调
- offer选择 职业规划 技术前景
第一阶段:音视频基础
1.1 音频基础知识
- 如何采集声音-模数转换原理
- 为什么高品质音频采样率>=44.1Khz
- 什么是PCM
- 一个采样点用多少位表示
- 采样值用整数还是浮点数表示
- 音量大小和采样值大关系
- 多少个采样点作为一帧数据
- 左右通道的采样数据如何排列
- 什么是PCM(脉冲编码调制)
- 音频编码原理
1.2 视频基础知识
- RGB彩色原理
- 为什么需要YUV格式
- 什么是像素
- 分辨率、帧率、码率
- YUV数据存储格式区别
- YUV内存对齐问题
- 为什么画面显示绿屏
- H264编码原理
- H264 I P B帧的关系
1.3 解复用基础知识
- 什么是解复用,比如MP4格式
- 为什么需要不同的复用格式MP4/FLV/TS
- 常见的复用格式MP4/FLV/TS
1.4 FFmpeg开发环境搭建
- Windows、Ubuntu、MAC三大平台
- QT安装
- FFmpeg命令行环境
- FFmpeg API环境
- FFmpeg编译
- vs2019安装(win平台)
1.5 音视频开发常用工具
- MediaInfo,分析视频文件
- VLC播放器,播放测试
- EasyICE,分析TS流
- flvAnalyser,分析FLV
- mp4box,分析mp4
- audacity,分析音频PCM
- Elecard_streamEye,分析H264
- 海康YUVPlayer,分析YUV
第二阶段:FFmpeg实战
2.1 FFmpeg命令
- 音频PCM/AAC文件提取
- 视频YUV/H264文件提取
- 解复用、复用
- 音视频录制
- 视频裁剪和合并
- 图片/视频转换
- 直播推流和拉流
- 水印/画中画/九宫格滤镜
2.2 SDL跨平台多媒体开发库实战
- SDL环境搭建
- SDL事件处理
- SDL线程处理
- 视频YUV画面渲染
- 音频PCM声音输出
2.3 FFmpeg基石精讲
- FFmpeg框架
- FFmpeg内存引用计数模型
- 解复用相关AVFormat XXX等
- 编解码相关AVCodec XXX等
- 压缩数据AVPacket
- 未压缩数据AVFrame
- FFmpeg面向对象思想
- Packet/Frame数据零拷贝
2.4 音视频解复用+解码
- 解复用流程
- 音频解码流程
- 视频解码流程
- FLV封装格式分析
- MP4封装格式分析
- FLV和MP4 seek有什么区别
- 为什么FLV格式能用于直播
- 为什么MP4不能用于直播
- MP4能否用来做点播
- AAC ADTS分析
2.5 音视频编码+复用合成视频
- AAC音频编码
- H264视频编码
- PCM+YUV复用合成MP4/FLV
- H264编码原理
- IDR帧和I帧区别
- 动态修改编码码率
- GOP间隔参考值
- 复用合成MP4音视频不同步问题
- 编码、复用timebase问题
- MP4合成IOS不能播放问题
2.6 FFmpeg过滤器
- FFmpeg过滤chain框架
- 音频过滤器框架
- 视频过滤器框架
- 多路音频混音amix
- 视频水印watermark
- 视频区域裁剪和翻转
- 视频添加logo
2.7 ffplay播放器(开源项目实战)
- 掌握ffplay.c的意义
- ffplay框架分析
- 解复用线程
- 音频解码线程
- 视频解码线程
- 声音输出回调
- 画面渲染时间间隔
- 音频重采样
- 画面尺寸格式变换
- 音频、视频、外部时钟同步区别
2.8 FFmpeg+QT播放器实战
- 播放器讲解
- 播放器框架分析
- 播放器模块划分
- 解复用模块
- 音视频解码
- 播放器控制
- 音视频同步
- dxva2硬解
- 音量频谱展示
- 音频均衡器
2.9 ffmpeg多媒体视频处理工具
- 掌握ffmpeg.c的意义
- ffmpeg框架分析
- 音视频编码
- 封装格式转换
- 提取音频
- 提取视频
- logo叠加
- 音视频文件拼接
- filter机制
- 命令行解析流程
2.10 OBS二次开发-录制推流项目
- OBS vs2019+QT5.15.2编译
- 音频配置和初始化分析
- 音频线程模块采集和编码分析
- 视频配置和初始化分析
- 视频线程模块采集和编码分析
- OBS初始化过程分析
- 录制流程分析
- 麦克风采集分析
- 桌面采集分析
- X264编码分析
第三阶段:流媒体客户端
3.1 RTMP推拉流项目实战
- RTMP协议分析
- wireshark抓包分析
- H264 RTMP封装
- AAC RTMP封装
- RTMP拉流实战
- H264 RTMP解析
- AAC RTMP解析
- RTMP推流实战
- 没有MetaData能否播放
- RTMP推流是否会导致延迟
3.2 HLS拉流分析
- HLS协议分析
- HTTP协议分析
- TS格式分析
- m3u8文件解析
- wireshark抓包分析
- HLS拉流实战
- FFmpeg HLS源码分析
- HLS多码率机制
- 如何解决HLS延迟高的问题
3.3 RTSP流媒体实战
- RTSP协议分析
- RTP协议分析
- H264 RTP封装
- H264 RTP解析
- AAC RTP封装
- AAC RTP解析
- RTCP协议分析
- RTSP流媒体服务器搭建
- RTSP推流实战
- RTSP拉流实战
第四阶段:WebRTC项目实战
4.1 WebRTC中级一对一音视频通话
- WebRTC通话原理分析
- WebRTC开发环境搭建
- coturn最佳搭建方法
- 如何采集音视频数据
- 一对一通话时序分析
- 信令服务器设计
- SDP分析
- Candidate类型分析
- Web一对一通话
- Web和Android通话
4.2 WebRTC高级-MESH模型多人通话
- 自定义摄像头分辨率
- 码率限制
- 调整编码器顺序
- Mesh模型多方通话分析
- 多人通话信令服务器开发
- 动态分配stun/turn服务器
- Web客户端源码
- Android客户端源码
4.3 WebRTC高级-Janus SFU模型多人通话
- Janus框架分析
- Janus信令设计
- 基于Janus实现会议系统
- Janus Web客户端源码分析
- Janus Android客户端源码分析
- Janus Windows客户端源码分析
- 基于Full ICE的部署
- 基于Lite ICE的部署
- Full ICE和Lite ICE的区别
- 发布订阅模型
第五阶段:嵌入式音视频开发
5.1 嵌入式驱动基础
5.1.1 快速掌握Linux驱动开发
- Linux嵌入式驱动架构
- Linux字符设备驱动分析
- Linux字符设备驱动实践
- Linux块设备驱动分析
5.1.2 Linux并发
- 阻塞和非阻塞
- 中断处理
- 互斥量
- 自旋锁
5.2 Linux嵌入式多路监控系统
5.2.1 架构分析和部署
- 嵌入式多路监控架构分析
- 部署C++后端服务
- 部署rv1126设备端程序
- 部署web远程查看实时画面
5.2.2 alsa驱动源码分析和应用实践
- alsa架构分析
- alsa驱动解析
- alsa声音捕获实战
- alsa声音播放实战
- 最完善的alsa接口封装实践
5.2.3 v4l2源码分析和应用实践
- v4l2架构分析
- v4l2 rv1126架构
- v4l2摄像头捕获实战
- 最完善的v4l2接口封装实践
5.2 Linux嵌入式多路监控系统(续1)
5.2.4 FFmpeg 7.1 ARM交叉编译
- 交叉编译x264
- 交叉编译FFmpeg7.1
- 移植到rv1126开发板
- 裁剪ffmpeg
5.2.5 FFmpeg 7.1软件编码
- ffmpeg h264编码
- h264编码参数优化(延迟/cpu占用率/码率/编码质量)
- ffmpeg aac编码
5.2.6 FFmpeg 7.1 RTMP推流
- 推流队列设计
- 时间戳平滑处理
- 单纯音频推流测试
- 单纯视频推流测试
- 音视频推流测试
5.2 Linux嵌入式多路监控系统(续2)
5.2.7 rv1126硬件编码
- vi架构分析
- vi采集摄像头画面
- venc架构分析
- venc硬件编码
5.2.8 rv1126 AI人员检测
- AI人员检测原理分析
- rockx人员检测实战
- 项目集成人员检测功能
- 人员入侵提示
5.2.9 多路监控优化(面试必问)
- 如何实时网络状况检测
- 动态调整视频码率
- 实现子码流推流
- 音频降噪实践
5.3 智能门禁对讲系统
5.3.1 搭建基础框架和界面
- 实现界面布局和样式
- 添加基础控件和组件
- 实现界面状态切换
- 配置项目编译环境
5.3.2 实现视频预览功能
- 实现V4L2Camera类
- 实现VideoPreviewWidget组件
- 集成视频预览到主界面
- 优化视频显示性能
- 添加视频参数配置
5.3.3 实现网络通信功能
- 实现NetworkManager类
- 实现DeviceRegistration类
- 实现设备注册功能
- 实现心跳保活机制
- 添加网络状态监控
5.3 智能门禁对讲系统(续1)
5.3.4 实现音频对讲功能
- 实现AudioManager类
- 实现SipManager类
- 集成PJSIP库
- 实现SIP通话功能
- 添加音频设备管理
- RTP/RTCP音频传输
5.3.5 视频对讲功能
- 视频采集和处理 (V4L2)
- H.264硬件编码配置
- RTP/RTCP视频传输
- 音视频同步处理
5.3.6 实现门禁控制功能
- 实现DoorController类
- 实现GPIO控制
- 实现开门记录管理
- 添加安全验证机制
- 集成到主界面
5.3 智能门禁对讲系统(续2)
5.3.7 业务服务器开发(C++实现)
- C++网络库搭建
- MySQL数据库
- HTTP API服务
- WebSocket推送服务
5.3.8 SIP服务器
- Asterisk安装和配置
- SIP用户账户配置
- 呼叫路由规则设置
- 音频编解码配置 (G.711)
5.3 智能门禁对讲系统(续3)
5.3.9 手机APP开发
- Flutter项目搭建
- 用户登录注册界面
- 设备绑定功能
- 远程开门功能
- SIP客户端集成
- 语音对讲界面
- 通话控制功能
- 音频处理优化
5.3.10 系统集成
- 集成所有功能模块
- 实现完整的业务流程
- 添加异常处理机制
- 性能优化和测试
- 文档编写和整理
第六阶段:流媒体服务器
6.1 SRS 源码剖析
- 整体框架分析
- RTMP推流分析
- RTMP拉流分析
- HLS拉流分析
- HTTP-FLV拉流分析
- FFmpeg转码分析
- 首屏秒开技术分析
- forward集群源码分析
- edge集群源码分析
- 负载均衡部署方式
6.2 ZLMediaKit源码剖析
- 整体框架分析
- 线程模块划分
- RTSP推流连接处理
- RTSP拉流连接处理
- 数据转发模型
- SDP解析
- RTP H264解析
- RTP AAC解析
6.3 WebRTC高级开发-SRS篇
- RTMP转发WebRTC逻辑
- WebRTC转发RTMP逻辑
- WebRTC音视频一对一通话
- WebRTC多人通话
- WebRTC SFU模型分析
- SRTP分析
- RTCP分析
- SDP分析
- NACK分析
- stun分析
第七阶段:Android NDK开发
7.1 Android NDK开发基础
- So库适配总结
- GDB调试技巧
- Makefile工程组织
- CMake工程组织
- 生成指定CPU平台的so库
- JNI基础和接口生成
- JNI Native层构建 Java 对象
- JNI异常处理
7.2 Android FFmpeg编译和应用
- 编译x264
- 编译x265
- 编译mp3
- 编译fdk-aac
- 编译FFmpeg
- 使用ffmpeg实现mp4转格式
- 使用FFmpeg开发播放器
7.3 Android RTMP推拉流
- RTMP推流协议实现
- RTMP拉流协议实现
- RTMP拉流音视频同步
- MediaCodec硬件编码
- MediaCodec硬件解码
- OpenSL ES播放音频数据
- OpenGL ES Shader显示视频
7.4 Android Ijkplayer源码分析
- 编译ijkplayer和实践
- 项目框架分析
- 播放状态转换
- 拉流分析
- 解码分析
- 音频播放流程
- 视频渲染流程
- 变速播放实现原理
- 低延迟播放实现
- 缓存队列设计机制分析
课程核心项目展示
1.ffplay播放器
2.FFmpeg+QT播放器
3.ffmpeg多媒体视频处理工具
4.OBS二次开发-录制推流项目
5.RTMP推拉流项目实战
6.RTSP流媒体实战
7.WebRTC一对一通话
8.WebRTC Mesh模型多人通话
9.WebRTC SFU模型多人通话
10.RV1126多路视频监控
11.智能门禁对讲系统
12.Android RTMP推拉流
选择左侧项目查看详情
学员服务和就业展示
以下是我们部分学员的就业成果展示,涵盖各大知名企业的入职offer
更多学员就业信息 音视频学员offer
自动播放
史同学 校招offer 好未来
自动播放
汪同学 校招offer 华为
自动播放
梁同学 实习offer 腾讯
自动播放
小菜同学 社招offer 杭州
自动播放
土豆同学 社招转行offer
自动播放
陈同学 校招offer 腾讯
更多学员就业信息 音视频学员offer
课程购买地址 音视频高级开发课程