📚 课程介绍
本课程从零开始,通过一系列实战案例,帮助初学者掌握音视频处理的基础知识和技能,适合想要进入音视频开发领域的学习者。
📋 学习前提
1. C语言基础(了解C语言的基本语法和数据结构) 2. Linux操作系统基础(熟悉Linux的基本命令和文件系统)
📖 课程目录
第1章 课程导学与准备工作
1-2 课程介绍及学习指导
第2章 音视频环境基础
2-1 音视频应用的场景
2-2 推流中断与画质不精晰的解决办法
2-3 Linux基础知识-1
2-4 Linux基础知识-2
2-5 Linux基本命令
2-6 vim的简单使用
第3章 在不同的系统上编译 ffmpeg
3-1 Mac或Linux下编译安装ffmpeg
3-2 Windows下编译ffmpeg的几种方式
3-3 Cygwin环境的搭建
3-4 Cygwin下安装ffmpeg
3-5 msys2环境的搭建
3-6 msys2+mingw编译ffmpeg
3-7 msys2+vs编译ffmpeg
第4章 C语言回顾
4-1 C语言的HelloWorld
4-2 C语言中的基本类型和逻辑运算
4-3 C语言中的高级类型:数组、结构体和枚举类型
4-4 C语言中的指针
4-5 C语言中指针的使用
4-6 内存管理与分配
4-7 条件判断与循环
4-8 C语言中的函数
4-9 C语言如何操作文件
第5章 音频基础知识
5-1 音视频处理流程
5-2 声音是如何被听到的
5-3 声音的三要素
5-4 模数转换
5-5 PCM与WAV
第6章 【实战】音频采集
6-1 通过命令方式采集音频数据
6-2 swift语法一
6-3 swift语法二
6-4 创建Mac App
6-5 创建 Button
6-6 swift调用C语言
6-7 Mac App中引入ffmpeg库
6-8 打开音频设备
6-9 从音频设备中读取音频数据
6-10 代码优化
6-11 通过界面来控制开启或关闭录制
第7章 音频编码原理
7-1 音频有损压缩技术
7-2 音频无损压缩技术
7-3 几种常见编解码器的比较
7-4 AAC编码器介绍
7-5 ADTS格式
7-6 通过ffmpeg生成AAC数据
第8章 【实战】音频编码
8-1 什么是音频重采样
8-2 实战音频重采样
8-3 实战音频重采样2
8-4 创建AAC编码器
8-5 创建AAC编码器2
8-6 编码使用的输入输出数据
8-7 AAC编码器编码
8-8 AAC编码器编码2
8-9 代码优化
8-10 代码优化2
8-11 代码优化3
第9章 视频基础知识
9-1 图像的基本概念
9-2 屏幕显示器
9-3 码流的计算
9-4 图像的显示
9-5 什么是YUV
9-6 YUV的常见格式
9-7 YUV的存储格式
9-8 YUV实战
9-9 实战从视频设备上采集数据
9-10 实战从视频设备上采集数据
第10章 H264编码原理
10-1 H264压缩码率与GOP
10-2 H264中的I帧P帧和B帧
10-3 H264中的宏块
10-4 帧间压缩技术
10-5 帧内压缩技术
10-6 H264码流结构
10-7 H264无损压缩及编解码处理流程
第11章 【实战】视频编码解码
11-1 H264中的profile和level
11-2 H264SPS中的重要参数
11-3 H264PPS与Slice-Header
11-4 H264分析工具1
11-5 H264分析工具2
11-6 实战打开视频编码器1
11-7 实战打开视频编码器2
11-8 实战准备要编码的数据
11-9 实战NV12转YUV420P
11-10 实战H264编码1
11-11 实战H264编码2
11-12 x264参数详解
第12章 【实战】RTMP传输
12-1 RTMP连接的建立
12-2 创建RTMP流
12-3 RTMP消息
12-4 RTMP抓包分析
12-5 FLV协议
12-6 FLV协议分析器
12-7 推流程序的骨架
12-8 打开FLV文件
12-9 连接RTMP流媒体服务器
12-10 向流媒体服务器推流
12-11 从FLV文件中读取tag数据1
12-12 从FLV文件中读取tag数据2
12-13 调试与优化
第13章 【实战】CDN 实现商业娱乐直播
13-1 泛娱乐化直播系统架构介绍
13-2 本机搭建RTMP服务
13-3 SRS流媒体服务器简介
13-4 SRS单机布署
13-5 RTMP中的URL与VHOST
13-6 SRS实现集群布署
13-7 CDN网络
13-8 阿里云视频直播
13-9 真实的直播架构是怎样的
第14章 课程总结
14-1 课程总结
