普通延迟直播系统学习笔记
适合目标:系统掌握传统直播系统的整体架构、推流拉流链路、CDN 分发、延迟来源和常见面试题。
学习定位:这一份偏“传统直播、秒级延迟、一对多分发”。
学习原则:先理解直播链路,再理解延迟来源和 CDN 架构。
目录
- 普通直播是什么
- 直播系统总体架构
- 推流、转码、分发、播放链路
- 常见协议
- 为什么会有延迟
- CDN 在直播里的作用
- 延迟、成本、并发的取舍
- 高频面试题
- 一页总结
1. 普通直播是什么
普通延迟直播通常指:
以大规模一对多观看为主,可以接受秒级甚至十几秒延迟的直播系统。
常见场景:
- 秀场直播
- 电商直播
- 体育转播
- 教育大班课
2. 直播系统总体架构
主播端采集
-> 编码
-> 推流到接入服务
-> 可选转码
-> 分发到 CDN
-> 用户端拉流播放
3. 推流、转码、分发、播放链路
3.1 推流端
负责:
- 摄像头/麦克风采集
- 音视频编码
- 推流到服务端
3.2 接入服务
负责:
- 接收主播流
- 验证推流权限
- 转发到转码或分发模块
3.3 转码服务
负责:
- 多码率生成
- 多分辨率转码
- 不同终端适配
3.4 CDN 分发
负责:
- 大规模缓存和边缘分发
- 提高可扩展性
- 降低源站压力
3.5 播放端
负责:
- 拉流
- 解封装
- 解码
- 渲染和播放
4. 常见协议
4.1 RTMP
常见于:
- 推流
- 部分拉流场景
4.2 HLS
特点:
- 兼容性好
- 易于 CDN 分发
- 延迟通常较高
4.3 HTTP-FLV
特点:
- 延迟通常低于 HLS
- 播放链路较直接
5. 为什么会有延迟
直播延迟主要来自:
- 采集缓冲
- 编码缓冲
- 推流传输
- 服务端转码与分发
- CDN 缓存
- 播放端缓冲
一句话:
普通直播为了抗抖动、抗弱网和支持大规模分发,通常会主动引入一定缓冲,所以延迟更高。
6. CDN 在直播里的作用
- 提供边缘缓存
- 提供大规模分发能力
- 降低源站压力
- 提高跨地域访问质量
7. 延迟、成本、并发的取舍
普通直播通常优先:
- 并发能力
- 成本控制
- 播放稳定性
而不会把“极低延迟”放第一位。
8. 高频面试题
8.1 普通直播系统链路是什么
主播采集编码后推流到服务端,服务端接入和转码,再通过 CDN 分发到观众端,观众端再拉流解码播放。
8.2 为什么普通直播延迟高
因为链路中有多层缓冲、切片、转码和 CDN 缓存,这是为了稳定性和大规模分发能力。
8.3 HLS 和 FLV 有什么区别
HLS 更适合大规模稳定分发,但延迟更高;HTTP-FLV 延迟通常更低。
9. 一页总结
9.1 普通直播关键词
推流、转码、CDN、拉流、秒级延迟、大规模分发。
9.2 记忆口诀
普通直播看分发,延迟换稳定,并发靠 CDN。