更新时间:2026-07-10 17:27:20
本文介绍如何排查 CDNetworks Media Acceleration Live Broadcast 中常见的推流和播放问题。请先选择与实际现象最相符的章节,依次完成检查;如果问题仍未解决,请收集相关信息并联系 CDNetworks 技术支持。
添加推流域名后,CDNetworks 会为该域名分配一个 CNAME 目标域名。请在 DNS 服务商处为推流域名添加相应的 CNAME 记录。
确认编码器中填写了正确的服务器 URL 和推流密钥。以 OBS Studio 及同类编码器为例:
wsTime 和 wsSecret。如果条件允许,请使用其他编码器进行对比测试,以判断问题是否来自原编码器或其配置。
直播通常使用 H.264 视频编码和 AAC 音频编码。可以使用 FFmpeg 检查直播流:
ffmpeg -i "rtmp://<推流域名>/<app-name>/<stream-name>"
请将占位符替换为实际的推流域名、AppName 和 StreamName,并检查输出信息中的编码格式以及连接、鉴权或解码错误。
同一 AppName 下,两个发布端不能同时使用相同的 StreamName 推流。如果编码器提示 Server error: Failed to publish,请确认是否有其他编码器或进程正在发布相同的直播流,然后重试。
启用 URL 鉴权后,推流 URL 必须包含有效且未过期的鉴权参数。参数缺失、拼写错误、无效或过期,都可能导致推流失败并出现 I/O error。请检查 wsTime、wsSecret 等参数;如有必要,请重新生成鉴权 URL。
在控制台的流禁播任务列表中,检查该直播流或发布端 IP 地址是否被禁止推流。如果需要恢复推流,请遵循组织内部的变更流程,或联系具有相应权限的管理员。
如果连接测试失败,请检查本地防火墙、代理、路由和 ISP 限制。
播放 URL 通常包含分发域名、AppName 和 StreamName。URL 路径和扩展名因协议而异,例如:
rtmp://play.example.com/app/stream
https://play.example.com/app/stream.flv
https://play.example.com/app/stream/playlist.m3u8
请检查域名、AppName、StreamName、协议、路径、扩展名和字母大小写。如果启用了鉴权,还需要确认所有必需参数均已添加且未过期。
使用 DNS 查询工具确认播放域名已解析到 CDNetworks 分配的 CNAME 目标域名。如果没有,请修正 DNS 记录或联系 DNS 管理员。
如果源流未发布,播放将会失败。请确认编码器已连接并持续发送数据,然后按照无法发布直播流中的步骤完成检查。
使用支持当前播放协议的其他播放器进行测试。如果直播流可以在其他播放器中正常播放,请检查原播放器支持的协议、媒体编码格式及其配置。
对于基于浏览器的播放,请在浏览器控制台中检查跨域错误。当播放器页面和直播流来自不同源时,播放响应必须包含所需的 CORS 响应头。
使用其他设备或网络进行对比测试。如果只有一名观众受到影响,请检查该观众的网络连接、防火墙、代理、浏览器和播放器环境。
请按照从推流到播放的顺序进行检查:
检查源流的音频编码,并确认目标 HLS 播放器支持该编码。使用 RTMP 或 HTTP-FLV 播放同一直播流进行对比。如果只有 HLS 没有声音,请使用 AAC 音频编码重新测试。
如果问题仍未解决,请向 CDNetworks 技术支持提供以下信息:
请勿提供未经隐藏处理的登录凭据、推流密钥、Token 或鉴权密钥。