跳到主要内容
版本:4.0

播放接口概览

本文概述 实时音视频播放远程录像回放 相关的 HTTP API,说明各接口在一次完整播放中的位置与协作关系。调用约定(鉴权、URL、应答格式)见 HTTP 接口约定

应用侧集成流程与示例请参阅 应用指南概览音视频请求的生命周期

功能

播放接口组负责:

  • 向终端(或 RTSP 源)发起 实时或历史媒体流
  • 返回客户端可用的 播放地址playUrl
  • 在播放过程中 保活控制关闭 媒体请求
  • 查询播放过程中 服务端转储 的录像文件

不包含:终端录像列表查询与文件上传(见 录像上传 API)、纯终端指令下发(见 终端指令 API)。

主要概念

概念说明
reqId一次媒体请求的唯一 ID;保活、控制、关闭时使用
playUrl返回给客户端的播放地址,协议由打开请求中的 proto 决定(FLV / HLS / RTSP)
ready打开接口应答或 StrmNotif 通知中的标志,表示是否可立即加载 playUrl
async打开模式:false 同步等待终端推流;true 立即返回并依赖 WebSocket 通知
ctrl打开应答中的控制权标志;true 表示当前请求可执行切流、暂停等控制

实时播放流程

POST /login
→ POST /strm/live/open 创建实时请求,返回 reqId、playUrl
→ (异步)订阅 StrmNotif act=ready 时可播放
→ 客户端加载 playUrl FLV / HLS / RTSP 播放器
→ POST /strm/keep_alive 约每 15 秒
→ POST /strm/live/ctrl 可选:切流、暂停、恢复
→ POST /strm/close 或 live/ctrl 关闭

基本流程

dataType 可指定音视频、仅视频、监听、对讲等,见 打开实时音视频

远程回放流程

GET /strm/stored                    查询终端录像列表
→ POST /strm/replay/open 指定时间段与存储位置,打开回放
→ (异步)等待 StrmNotif ready
→ 客户端加载 playUrl
→ POST /strm/keep_alive
→ POST /strm/replay/ctrl 可选:暂停、快进、拖动
→ POST /strm/close

远程回放 不支持 同通道多会话共享;打开前须先 查询终端远程录像

同步与异步打开

模式请求返回时机WebSocket 通知
同步async: false 或不传终端推流就绪或失败后返回可选
异步async: true分配 reqId 后立即返回必须 订阅 /user/{token}/queue/strm

异步模式下须处理 StrmNotifsentfailedreadyclosedact 值。详见 音视频请求的生命周期

接口列表

共用

接口方法用途
音视频流请求保持POST /strm/keep_alive保活一个或多个 reqId,建议间隔 15 秒
关闭媒体请求POST /strm/close批量关闭媒体请求(实时或回放)
查询转储文件信息GET /strm/played_av_dump查询 saveOnServer=true 时服务端转储文件

实时音视频

接口方法用途
打开实时音视频POST /strm/live/open打开实时流;支持 JT/T 1076 终端与 RTSP 源
实时音视频控制POST /strm/live/ctrl切流、暂停、恢复、关闭等

远程录像回放

接口方法用途
打开远程录像回放POST /strm/replay/open按查询结果打开终端历史录像
远程录像回放控制POST /strm/replay/ctrl暂停、快进、拖动、关闭等

客户端协议(proto)

打开接口中的 proto 决定 playUrl 的协议类型:

proto协议典型播放器
0FLV(HTTP / WebSocket)mpegts.js / flv.js
1HLShls.js 或 Safari 原生
4RTSP原生 / 专用播放器

选型说明见 客户端播放协议的选择

相关通知(异步模式)

使用 HTTP API 且 async: true 时,须通过 STOMP WebSocket 订阅:

通知订阅地址
流媒体状态 StrmNotif/user/{token}/queue/strm

WebSocket 连接约定见 STOMP WebSocket 基本约定

v4 起也可改用 WebSocket APIstrm-js,在单连接上完成 API 调用与通知,见 HTTP 与 WebSocket API 选型

集成示例

场景示例
同步 HTTP-FLV 实时播放example-1-live
异步 HTTP-FLV 实时播放example-2-live
HLS 实时播放example-3-live-hls
远程回放example-4-replay
RTSP 摄像头example-5-rtsp-src
WebSocket API(v4)ws-example-1-live

注意事项