音视频编解码学习笔记
适合目标:系统掌握音视频编解码基础,理解编码为什么存在、常见编码标准、软硬编解码差异以及在直播和会议系统中的作用。
学习定位:这一份偏“底层原理入门 + 工程应用理解”。
学习原则:先理解为什么要压缩,再认识主流编码格式,最后理解它们和业务系统的关系。
目录
- 编解码到底是什么
- 为什么要编码
- 视频编码基础
- 音频编码基础
- 常见编码标准
- 软编解码与硬编解码
- 编解码对直播和会议系统的影响
- 高频面试题
- 一页总结
1. 编解码到底是什么
编码:
把原始音视频数据压缩成更适合存储和传输的格式。
解码:
把压缩后的数据恢复成可播放的音视频数据。
2. 为什么要编码
因为原始音视频数据非常大。
例如:
- 原始视频帧体积很大
- 原始 PCM 音频数据也很大
如果不编码:
- 传输成本极高
- 存储成本极高
- 网络根本扛不住
3. 视频编码基础
视频编码常见优化思路:
- 空间压缩
- 时间压缩
- 帧内预测
- 帧间预测
常见关键概念:
- I 帧
- P 帧
- B 帧
- GOP
- 码率
- 帧率
- 分辨率
4. 音频编码基础
音频编码常见关注点:
- 采样率
- 位深
- 声道数
- 码率
会议系统里非常常见的音频编码是:
- Opus
- AAC
5. 常见编码标准
5.1 视频
- H.264
- H.265
- VP8
- VP9
- AV1
5.2 音频
- AAC
- Opus
- MP3
5.3 如何粗略理解它们
- H.264 应用最广
- H.265 压缩率更高但生态和授权更复杂
- VP8/VP9 常见于 WebRTC/Google 生态
- AV1 更先进但计算开销更高
- Opus 很适合实时语音
6. 软编解码与硬编解码
6.1 软编解码
- 用 CPU 做
- 兼容性广
- 但 CPU 占用较高
6.2 硬编解码
- 用 GPU 或专用单元
- 性能和功耗表现更好
- 平台差异更大
7. 编解码对直播和会议系统的影响
7.1 对直播
影响:
- 带宽成本
- 清晰度
- 转码成本
7.2 对会议
影响:
- 实时性
- CPU 占用
- 发热和功耗
- 弱网下的体验
8. 高频面试题
8.1 为什么要编码
因为原始音视频数据体积太大,必须压缩才能高效存储和传输。
8.2 H.264 和 H.265 的区别
H.265 压缩率更高,但实现复杂度和生态适配成本通常也更高。
8.3 软编解码和硬编解码区别
软编解码更灵活但更耗 CPU;硬编解码性能更好但平台适配更复杂。
8.4 为什么会议系统很关心编解码
因为编解码直接影响会议系统的延迟、流畅度、CPU 占用和网络带宽。
9. 一页总结
9.1 编解码关键词
压缩、I/P/B 帧、GOP、码率、分辨率、软编解码、硬编解码。
9.2 记忆口诀
编码解决压缩,解码负责播放;直播看带宽,会议看实时和 CPU。