一、先列出会断在哪里

容灾设计的前提是知道故障点。一场直播的信号链路上有五处可能断:

环节典型故障发生概率与影响
采集与编码端推流电脑死机、编码过载、电源被碰掉中概率,影响全体
上行网络有线断网、WiFi 抖动、蜂窝信号盲区最高概率,影响全体
平台接入层推流鉴权失败、区域接入节点故障低概率,影响全体
分发层(CDN)节点异常、并发超限低概率,多影响部分地区
播放端企业微信内嵌白屏、小程序权限、终端解码能力中概率,影响部分观众

统计上,上行网络和采集端占了绝大多数事故,而很多人却把预算花在概率最低的分发层上。容灾重点应该压在前两环。

二、三档容灾方案与适用场次

档位做什么成本适用
L1 参数级 预置 2–3 个降码率配置档、备用推流地址、垫片素材 零成本 所有场次必做
L2 链路级 主用有线 + 备用蜂窝聚合(或第二条不同运营商有线),双上行热备 低(设备租赁 + 流量) 年会、发布会、重要培训
L3 平台级 双平台同时收流 + 播放端健康检测自动切换,双 CDN 分发 中高(双倍流量 + 双倍配置) 大型发布会、付费直播、不能中断的场次

三档是叠加关系,不是三选一:L1 是地基,L2 解决最高频的上行故障,L3 才去解决低概率的平台侧故障。

三、主备链路切换:预热决定成败

切换速度的差异不在技术,而在有没有提前预热。标准做法:

  1. 开播前生成主、备两条推流地址,均测试通过;
  2. 推流软件保存两个配置档(主链路档 / 备用链路档),参数一致只是地址不同;
  3. 备用链路设备开机并保持在线待推状态(蜂窝路由提前入网、信号实测);
  4. 故障时执行切换动作,计时目标 30 秒内;
  5. 切换后观察 1–2 分钟确认稳定,再逐步恢复码率。

没有预热的备链,现场再配置至少要几分钟——那几分钟观众看到的就是黑屏。所以"有备用设备"不等于"有容灾",必须演练过才算。

双链路的真伪判断:两条线若来自同一运营商、同一上联机房甚至同一条光缆,本质是单点。要求物理路由与运营商都不同(例如电信有线 + 联通蜂窝)。

四、开播前 24 小时演练清单

序演练项通过标准
1主备链路各跑 30 分钟实测上行丢帧率为 0,上行稳定
2备用推流地址与配置档测试实际推流成功并可拉流观看
3完整走一遍切换动作并计时30 秒内完成,观众侧无黑屏
4多终端播放验证手机/电脑/企业微信内嵌均可播
5垫片素材上传并确认可播放断流时可立即切换垫片
6平台方应急联系人存进手机5 分钟内能联系到人工

演练要记录实际耗时。超时就简化流程——复杂的容灾流程在真实故障时执行不了。

五、断流恢复后的两个遗留问题

回放断点:多数平台在推流中断超时后会结束当前录制分片,恢复后生成新分片,回放出现断点。要求回放完整时:本地同时录一份完整信号作母带,或选择支持断流续录自动拼接的平台(开播前确认套餐是否覆盖)。

观众流失:断流 3 分钟以上会明显掉人。恢复后主持人应主动说明"刚刚信号切换",并用互动把人拉回来——技术恢复不等于体验恢复。