| 服务器 | 擅长 | 短板 | 适合 |
|---|---|---|---|
| SRS | 协议全、社区大、集群成熟 | 功能多导致配置面大 | 中大型平台主力 |
| Nginx-RTMP | 轻、稳、随 Nginx 生态 | 功能基本停更,转码靠外挂 | 纯转发小规模场景 |
| MediaMTX | 单二进制、部署极简、支持 SRT/WebRTC | 集群和运营工具链薄 | 原型验证与小规模 |
一个务实的路径:用 MediaMTX 两周出原型验证推拉流通路,定型后迁到 SRS 做长期承载。两套软件的推流地址格式接近,迁移成本主要是配置而非业务改造。
容量规划一个粗公式:出口带宽(Gbps)= 峰值并发观看数 × 码率(Mbps)÷ 1000。1 万人看 720p(2 Mbps)就是 20 Gbps 出口,单机扛不住,必须靠CDN分发边缘节点分摊。压测别用厂商工具自测,用真实推流源加分布式拉流工具,观察三个指标:卡顿率、首屏时间、CPU 峰值。首屏时间超过 3 秒,观众流失率翻倍。
直播服务不可用时没有降级方案,观众等不了。高可用三件套:源站主备,推流地址双写、备机热切换,切换窗口控制在 10 秒内;边缘节点多 CDN 互备,主 CDN 故障时 DNS 切换;推流、转码、分发三段各自独立的探活告警,定位故障不用猜在哪一段。演练别省——每季度做一次主动断源演练,验证切换真的会发生。没演练过的高可用设计,默认按没有设计处理。
低延迟场景对服务器的额外要求——UDP 缓冲、SFU 能力——在低延迟实现路径的 WebRTC 章节有展开。