常见问题包括:播放端无法拉流(尤其是 HLS 或 RTMP)、跨域(CORS)限制、鉴权参数不一致、以及对编码格式支持不完整。不同CDN对 H.264 profile、音频编码(如 AAC)或分片时长(HLS segment)要求不同,可能造成在某些设备或浏览器上卡顿或无法播放。
建议采用通用稳定的编码参数:视频使用 H.264(Baseline/Main),关键帧间隔(GOP)设置为2秒,音频使用 AAC-LC。分辨率和码率按平台分级:720p 2500kbps、480p 1200kbps、360p 600kbps。若目标包含移动端,避免使用过高的profile或B帧以降低兼容性问题。
常见方法有三种:1) 使用云端转推/分发(把流推到源站由CDN分发);2) 在推流端(如 OBS)使用多路推流插件或多实例同时向多个RTMP地址推送;3) 使用第三方转推服务(如Restream类服务)进行聚合分发。推荐把复杂的转发逻辑放在服务器端或CDN上以减轻主播端负担。
排查步骤:1)检查网络和防火墙是否阻挡常用端口(RTMP 1935、RTMPS 443);2)核对推流地址与流密钥是否正确且未过期;3)用 ffmpeg 在本地测试推流以排除OBS设置问题;4)查看CDN或源站的日志(鉴权失败、带宽限流、IP白名单);5)尝试改用RTMPS或调整编码参数(码率降低、关闭B帧)观察是否稳定。
实践技巧包括:使用CDN提供的多协议输出(同时支持RTMP/HLS/DASH);配置边缘转码以降低不同终端的兼容性问题;在推流端启用冗余路径(备用推流地址);设置合理的流媒体鉴权与防盗链策略,注意时延与转码所带来的权衡;当需同时推送多平台时优先使用云端或CDN侧的分发能力,减少主播端上行带宽与CPU消耗。
