AKStream.Next · 文档中心

没有画面或播放失败

没有画面或播放失败

这类故障用四层判断最快:通道、真实流、媒体地址、播放器。找到第一个失败层再处理。

flowchart LR
    A[1 通道可用?] --> B[2 MediaServer 有流?]
    B --> C[3 媒体地址可访问?]
    C --> D[4 浏览器能解码播放?]

第 1 层:通道是否可用

  • 通道存在、启用且未被软删除。
  • 当前账号有播放权限。
  • 设备在线或源地址可访问。
  • 启动操作没有被授权在线流额度拒绝。
  • 异步命令已到最终成功,不是仅接受请求。

第 2 层:MediaServer 是否有真实流

按媒体节点与 vhost/app/stream 查询。没有流时:

  • ONVIF/RTSP:检查 StreamUri、凭据、TCP/UDP、设备连接上限。
  • GB28181:检查 INVITE、SDP、RTP IP/端口和是否收到包。
  • 自定义推流:检查推流端、鉴权和目标节点。

API 返回成功但 MediaServer 无流,问题还没到浏览器层。

第 3 层:直接媒体地址能否访问

使用与最终用户相同网络测试正确节点的 HLS/FLV/RTSP/WHEP 地址。常见问题:

  • 多节点使用了错误媒体域名;
  • app/stream/vhost 不一致;
  • 代理路径、Host 或端口拼接错误;
  • 播放票据过期或权限范围不对;
  • HTTPS 页面加载 HTTP/WS 被浏览器阻止;
  • CORS、Range、代理缓冲或超时不正确。

第 4 层:播放器与编码

如果直接地址在一个客户端可播、目标浏览器不可播,检查:

  • 浏览器是否支持目标协议和 codec;
  • HLS 是否已经产生分片与关键帧;
  • HTTP-FLV 是否有 MSE,代理是否保持长连接;
  • WebRTC ICE、TURN、SDP 和安全上下文;
  • 自动播放策略是否要求用户手势;
  • 页面控制台和 Network/Media/ WebRTC 日志。

浏览器不能原生播放 RTSP,必须选择转换后的浏览器协议。

症状速查

症状 第一检查
404 流是否在线,标识是否一致
HLS 长时间等待 关键帧、HLS 开关、分片目录
FLV 频繁断开 源流稳定性、代理超时与缓冲
只有 HTTPS 页面失败 混合内容、证书、CORS
只有公网 RTC 失败 candidate、TURN、UDP/TCP
多节点偶发错误地址 流到 mediaServerId 的路由
有声音无画面 视频 codec、轨道、关键帧

恢复后验证

连续播放至少 15 分钟,测试短暂断网与重连,关闭页面后确认播放器和按需流释放。记录首次失败层与修复项,避免把偶然重连当作根因解决。