1.
在迅雷CDN控制台开通直播服务,确认已有运营商权限、域名认证资料(备案/证书)和支付方式。准备好:推流域名(push.example.com)、播放域名(play.example.com)、源站地址(若使用自建源)。确保控制台能新增域名并生成 CNAME。
2.
在迅雷控制台新增域名->选择“直播(推流/播放)”->记录控制台给出的CNAME(如 push.xunlei-cdn.com)。到你的 DNS 服务商添加 CNAME 记录:push.example.com CNAME push.xunlei-cdn.com;play.example.com CNAME play.xunlei-cdn.com。使用 dig 检查:dig +short push.example.com,确认解析生效。
3.
控制台会给出推流模板:rtmp://push.example.com/live/streamKey 或 rtmp://push.example.com/live/room123。约定 streamKey(或 streamId)格式并在推流端(如 OBS/FFmpeg)填入。推荐将 secretKey 存入私有配置并开启推流鉴权(token 或 obs 内置鉴权)。
4.

OBS:在“设置->推流”选择“自定义”,填写服务器 rtmp://push.example.com/live,流密钥填写 room123?token=xxx。FFmpeg 命令示例:ffmpeg -re -i input.mp4 -c copy -f flv "rtmp://push.example.com/live/room123?token=abc&ts=1600000000&sign=xxxx"
5.
播放通常使用:RTMP(rtmp://play.example.com/live/room123)、FLV(http://play.example.com/live/room123.flv)、HLS(http://play.example.com/live/room123.m3u8)。对外提供域名时优先使用 HTTPS(HLS over HTTPS 或 HTTPS-FLV via WebSocket)。
6.
在控制台启用 token 鉴权或 URL 签名,示例:?token=xxx&ts=TIMESTAMP&sign=MD5(secret+path+ts)。设置防盗链白名单、IP黑名单、回源鉴权(源站到 CDN 的鉴权)以及 HLS 的 m3u8、ts 缓存时间与刷新策略,保证直播实时性和带宽控制。
7.
若使用自建 origin,在控制台填写源站地址(如 origin.example.com:1935 或 http://origin.example.com/hls/)。配置 nginx-rtmp 或 SRS 等为回源,确保 origin 的防火墙开放 CDN 回源 IP 列表端口(通常 1935/80/443)。开启日志便于回溯。
8.
接入后在 CDN 控制台查看推流状态、并发人数、丢帧率、平均延迟。接入第三方监控或埋点。优化:使用多码率分发(ABR)、启用边缘缓存分片(减少回源)、开启 HTTP2/QUIC(若支持)。
9.
DNS:dig +short play.example.com;连通性:telnet play.example.com 1935;RTMP连通:使用 ffprobe/ffplay:ffprobe rtmp://push.example.com/live/room123;查看 HTTP 头:curl -I http://play.example.com/live/room123.m3u8。根据返回的 404/403/401/502 等码定位是域名、鉴权还是回源问题。
10.
问:为什么 OBS 推流时提示“连接超时/验证失败”?
答:先检查 DNS CNAME 是否生效(dig),推流地址是否和控制台一致;确认推流端口(1935/443)被防火墙放通;若启用鉴权,确认 streamKey/token 与时戳签名正确且未过期;查看 CDN 控制台的推流日志,获取错误码并据此调整。
11.
问:播放端卡顿或延迟过高怎么排查?
答:确认 CDN 节点负载与带宽是否饱和(控制台监控);检查编码端是否有丢帧(OBS stats);缩短 m3u8 的分片时长(例如从 6s 降到 2-3s)、使用更低初始缓冲、开启多线路回源或回源加速;必要时联系 CDN 支持扩容。
12.
问:播放或拉流返回 403/401/404,我该如何快速定位?
答:404 多为播放路径或域名不匹配,检查 play 域名 CNAME 与路径(roomId);401/403 常与鉴权或防盗链相关,核对 token 签名算法、参数顺序与时间戳是否同步(服务器时间误差会导致签名失效);查看 CDN 回源日志判断是否回源被拦截或鉴权失败。