Skip to content

流媒体传输系统 ​

本章目标

学完本章,你应该能够:

  • 对比 RTMP / HLS / DASH / WebRTC / SRT 的延迟与适用场景;
  • 解释自适应码率(ABR)的工作原理与常见算法;
  • 理解 CDN「秒开」与多层分发架构;
  • 为社团直播选择合适协议与低延迟方案。

1. 流媒体协议对比 ​

协议传输层典型端到端延迟特点适用
RTMPTCP2–5 秒推流经典,曾被 Flash 广泛支持采集推流、传统直播
RTSP/RTPUDP/TCP1–2 秒监控/会议常用,控制能力强安防、视频会议
HLSHTTP6–30 秒(传统)苹果主导,兼容性极佳大规模分发、iOS
DASHHTTP6–30 秒(传统)开放标准,多 DRM跨平台分发
WebRTCUDP(SRTP)0.2–0.5 秒浏览器原生、双向连麦、超低延迟互动
SRTUDP0.5–2 秒抗丢包、弱网稳定远程推流、专业传输
LL-HLS/LL-DASHHTTP2–5 秒HLS/DASH 的低延迟版兼顾兼容与低延迟

协议选择逻辑

  • 社交/电商直播连麦 → WebRTC 或低延迟 RTMP(WebRTC 做观众侧互动)。
  • 大规模观众分发 → HLS / DASH(配合 CDN)。
  • 跨公网稳定推流 → SRT 或 RIST(抗丢包、端到端加密)。
  • 防盗链 → 加密 HLS(AES-128 / AES-256)或带鉴权令牌的 DASH。

2. CDN 架构与「秒开」原理 ​

  • 分层架构:源站 → 中心节点 → 边缘节点,越靠近用户命中率越高。
  • 缓存策略:TTL、热点预缓存(预热)、URL 规范化以提高命中率。
  • 「秒开」关键:
    • 多码率预分段,首屏只拉最低必要片段;
    • TCP 连接复用、TLS 复用;
    • HttpDNS 避免本地 DNS 劫持与解析慢;
    • 智能调度把用户导向最近/最空闲边缘节点。

3. 自适应码率技术(ABR) ​

ABR 把视频切成 2–10 秒的小段,并生成多档码率:

  • 算法类型:
    • 基于缓冲区:缓冲多则升档,缓冲少则降档。
    • 基于吞吐量:按实测带宽选择。
    • 混合型 / AI 驱动:综合缓冲、带宽、码率切换成本做决策。
  • 挑战:频繁档位抖动伤害观感;初始档位选择影响首屏;弱网下的欠载(卡顿)与浪费平衡。

4. 直播系统架构设计 ​

  • 最小可用系统:编码器 → 流媒体服务器(如 Nginx-RTMP、SRS、media-server)→ CDN → 播放器 SDK。
  • 大型平台:多层分发、负载均衡、协议转换网关(RTMP 收流转 HLS/DASH)、地理级调度。
  • 监控告警:推流状态、节点健康、卡顿率/首帧时长等体验指标、自动故障转移。

5. 校园实践案例 ​

社团迎新直播:平衡「低延迟」与「覆盖」
  • 推流:OBS 用 RTMP/SRT 推到自建或云服务(SRT 抗校园网抖动)。
  • 分发:服务端转封装为 HLS(LL-HLS),经 CDN 覆盖手机/网页观众。
  • 互动连麦:嘉宾端用 WebRTC 接入,延迟 < 1 秒。
  • 秒开优化:开启 CDN 预热、清单文件短 GOP、播放器预加载首段。

课程总结 / 核心要点 ​

关键结论

  • RTMP 适合推流,HLS/DASH 适合大规模分发,WebRTC/SRT 适合低延迟。
  • ABR 靠「多码率分片 + 清单文件 + 客户端决策」实现自适应,核心矛盾是抖动 vs 卡顿。
  • CDN 通过「边缘缓存 + 智能调度 + HttpDNS + 预加载」实现秒开。
  • 社团直播常采用 SRT/RTMP 推流 → HLS/LL-HLS 分发 → WebRTC 连麦 组合。

相关资源 ​