AKStream.Next · 文档中心

打开实时画面并选择播放协议

打开实时画面并选择播放协议

实时预览不是摄像机直接把画面送进浏览器。先由 MediaServer 建立源流,再生成浏览器能使用的播放地址。排障时也要按这个顺序检查。

双击视频或点击播放器全屏按钮时,只显示视频画布,协议切换、播放地址和提示不再占用高度。外层控制容器全屏和浏览器原生 <video> 全屏都会把播放器根节点、画布和活动视频层固定到完整可用视口,解除普通页面的 16:9、紧凑高度和 URL 行布局;原生控制条下方不会再残留普通页面空白。视频按原始比例居中;屏幕比例不同产生的对称黑边是正常现象,不会为了填满而裁掉画面或拉伸变形。退出全屏后恢复原有协议与地址区域。

画面经过哪里

flowchart LR
    A[摄像机] --> B[RTSP / GB28181 / ONVIF 地址]
    B --> C[MediaServer 中的流]
    C --> D{浏览器播放协议}
    D --> E[HLS]
    D --> F[HTTP-FLV / fMP4]
    D --> G[WebRTC / WHEP]

第一次预览

  1. 在资源树或资产详情中选中一个已激活通道。
  2. 点击实时预览,等待拉流命令完成。
  3. 确认对象检查器显示通道在线,并记录承载流的 MediaServer 节点。
  4. 等画面出现后观察首帧时间、声音和时间戳是否持续前进。
  5. 关闭预览,再确认按需流能按策略释放。

如果没有画面,先问:MediaServer 中有没有这路流?有流再查浏览器,没有流先查设备接入。

协议怎么选

协议 典型延迟 适合 主要限制
HLS 3–15 秒 兼容性优先、多人分发 分片会增加延迟
HTTP-FLV / fMP4 1–3 秒 PC 端低延迟预览 依赖 MSE 和长连接
WebRTC / WHEP 亚秒到数秒 低延迟监看与互动 需要 HTTPS、ICE、STUN/TURN
RTSP 低 VLC、NVR、SDK、服务间 浏览器不能原生播放
RTMP 低 推流器和服务间 浏览器不能原生播放

摄像机 GOP、转码、网络和播放器缓冲都会影响最终延迟。需要“低延迟”时要测端到端结果,不能只看协议名称。

切到后台后怎样回到实时画面

浏览器标签进入后台后可能冻结 video、MSE 或 flv.js,旧数据仍留在缓冲区。返回前台时,实时预览、管理视频墙、独立显示墙和参数预览会主动重建直播连接,丢弃离开期间积压的数据,从当前 live edge 重新开始。多画面会在 1.2 秒内错峰恢复,避免十六路同时重连冲击浏览器和 MediaServer。

如果用户在离开前主动暂停,播放器会保留暂停状态,不自动重连。这个行为只处理页面后台冻结;网络持续丢包、源流本身延迟或代理缓存仍需按播放链路继续排查。

多节点和反向代理

播放地址必须使用当前承载流节点的对外域名与端口;API 域名不一定也是媒体域名。

  • HLS 要允许播放列表和分片,并正确配置 HTTPS 与 CORS。
  • HTTP-FLV/fMP4 要关闭不合适的代理缓冲,放宽长连接超时。
  • WebSocket 要传递 Upgrade 头。
  • MP4 回放要保留 Range 和 Content-Length。
  • HTTPS 页面不能加载 HTTP 媒体资源。

普通 HTTP 反向代理不会自动代理 RTSP、RTMP、RTP 或 ICE 媒体端口。

第三方页面多路播放 HLS 时,每个播放器都可以生成独立的 UUID v4 ak_viewer,并在该播放器的播放列表与分片请求中保持不变。真正的播放权限仍由短时 ak_ticket 决定,不能把票据写进日志或永久链接。

做完后这样验收

  • 从真实用户网络连续播放至少 15 分钟。
  • 测试断网恢复、页面切后台再返回和浏览器刷新。
  • 按最大画面数同时播放,CPU、带宽和节点连接数可接受。
  • 低权限账号不能播放未授权通道。
  • 关闭页面后,播放器、票据和按需流按策略释放。

仍然失败时进入 没有画面或播放失败。