1.
1) 估算并发量与带宽:根据历史数据和活动预期,估算最高并发、峰值并发和日均带宽。用公式:带宽(Gbps)=并发数×单路平均码率(bps)/1e9,留至少30%-50%余量。
2) 明确延迟与画质目标:定义关键指标(启动时间<3s、卡顿率<1%、分辨率范围等),用于后续优化判断。
2.
1) CDN特性筛选:优先选择拥有大量POP、TCP/UDP/QUIC支持、边缘转码或边缘缓存策略、DDoS/WAF能力的供应商。
2) 多CDN与负载均衡:配置两到三家CDN做主备或按地域分发,使用DNS智能解析或流量调度平台自动切换,设置较短但安全的DNS TTL以快速切换。
3.
1) 推流协议与分辨率:使用RTMP/RTMPS或SRT推送至直播平台,输出HLS(DASH)兼容的多码率流(例如1080p@4Mbps、720p@2.5Mbps、480p@1Mbps、360p@600kbps)。
2) GOP与关键帧:关键帧间隔设置为2秒,切片长度推荐2~4秒以平衡延迟与缓存效率。使用CMAF+LL-HLS可进一步降低延迟。
3) 编码参数:x264/x265:profile设置为main或high,preset选“medium/fast”,开启b-frames但控制延迟,设置CBR或受控VBR。为移动端增加i-frame interval设置。
4.
1) 源站与回源:部署独立的高可用回源(至少两台),开启源站自动扩容或云主机弹性伸缩;启用“origin shield”减少回源压力。
2) 缓存策略:对M3U8索引文件设置短缓存(例如10-30秒),对TS/分段资源设置合理缓存(30s-2min),使用“Cache-Control”和“Surrogate-Key”便于精确清理。
3) 预热/预拉取:使用CDN提供的预热API在活动前60~120分钟调用,或通过批量请求预拉分片并把常用分辨率预加载到边缘。
5.
1) 签名URL/Token:为防盗链与突发刷流,使用带过期时间的签名URL或鉴权Token,设定合理过期(秒级或分钟级),并测试时间同步问题。
2) 边缘防护:开启WAF与DDoS防护,设置突发流量限速规则以及IP白名单/黑名单策略,启用请求频率限制。
6.
1) 指标与面板:实时采集并发连接数、平均带宽、丢包率、RTT、播放启动时长、卡顿率等,构建Grafana面板。
2) 自动告警与回滚:对关键阈值(如卡顿率>1%、回源QPS过高)设置短信/钉钉告警,预定义自动化脚本(如切换主CDN、增加编码实例)。
3) 日志与抓包:开启边缘和源站访问日志,发生问题时抓取播放器日志、边缘抓包,定位是上行推流、回源还是CDN传输问题。
7.
1) 压测工具与流程:使用k6、wrk、tsung或自研脚本模拟并发播放器请求;用多个推流器(ffmpeg)模拟多个主播并发。
2) 灰度与演练:先在小范围灰度演练,验证CDN切换、鉴权、边缘缓存与回源压力;再逐步放大到目标并发的80%以上做总演练。
3) 预案演练表:准备回滚步骤(切回上版本编码参数、切换主CDN、增加回源节点),并演练最坏场景下的手动切换流程。
8.
1) ABR与缓冲策略:播放器启用自适应码率,初始缓冲设置为1~3片段,动态调整缓冲区大小以减少首次播放时间和卡顿。
2) 兼容性与fallback:支持HLS/DASH并提供WebRTC或低延迟方案作为重要场景的备用链路;实现快速降级策略(分辨率优先降级)。
9.
问:活动开始瞬间出现大量卡顿,如何快速定位并处置?
答:先查看CDN边缘和回源QPS与错误率,若边缘CPU/带宽正常但回源QPS暴增,立刻启用origin shield或增加回源实例;若边缘错误率高,触发多CDN切换并联系CDN厂商排查POP问题,同时临时降低编码码率以减小带宽压力。
10.
问:如何在保证画质的同时控制带宽成本?
答:采用多码率ABR并优化码率阶梯(避免过多中间档)、启用H.265或AV1在可控终端上使用、合理设置关键帧与切片时长、启用边缘转码对热点分辨率做二次压缩,同时通过监控动态调整目标码率。
11.
问:活动后如何做复盘与持续优化?
答:整理监控数据与日志,统计关键指标(启动时长、卡顿率、丢包、回源QPS峰值),分析瓶颈点(编码、回源或CDN),归档演练与变更记录,调整下次活动的预热参数、CDN厂商权重和编码策略,并与CDN/云厂商签订SLA以确保未来支持。
