跳到主要内容
版本:3.4.4

StrmNotif

通知名称:流媒体状态通知

订阅地址/user/{token}/queue/strm

注:订阅地址中的{token}要用实际的令牌字符串(POST /login接口返回的authToken)代替,如token为Ge4E1xNHSfW8NYa0VJe48A,则流媒体状态通知的订阅地址为: /user/Ge4E1xNHSfW8NYa0VJe48A/queue/strm

结构

当媒体流的状态发生变更时,服务端推送本通知。结构如下:

属性数据类型必要说明
instIdstringY发出此通知的媒体服务实例ID。
actstringY通知的类型:
  • sent: 下发指令(当终端未及时推流时,服务端可能多次下发指令,因此此通知也可能多次推送)。
  • failed: 终端指令失败(终端不在线或终端应答提出指令已经失败)。
  • id: 终端开始推流。
  • ready: 流已经准备好,此时客户端可以打开流URL(URL由playUrl属性指出)。注意:用异步模式打开实时音视频播放时,如果目标通道已经有其他请求打开,则POST /strm/live/open请求返回的对象的ready将为true。返回后,服务端不会发送actready的流媒体状态通知。
  • qr: 终端媒体流网络传输质量报告。在接收终端媒体流过程中,媒体服务将定时产生此报告。企业应用可据此向终端发出实时音视频传输状态通知(0x9105)。此通知不需推送到客户端。
  • closed: 流已经关闭,如果客户端此时仍在播放,则应停止播放。具体关闭原因请检查closeCausecloseReason属性。注意:流关闭并不意味着终端已经关闭码流,如果有其他请求仍在使用码流,则终端码流将仍然保持推流,只是当前的请求ID(reqId)已经关闭、失效。
reqIdstring请求ID。
typstringY流的类型:
  • live: 表示流为直播流
  • replay: 表示流为回放流
simNostringY终端识别号
chanintY音视频逻辑通道号(参见JT/T 1076-2016 表2)
playUrlstring流媒体播放URL。仅当act == ready时有效
wsUrlstringWebSocket地址,用于对讲时客户端提交音频数据。此地址使用stomp协议。仅当请求的流类型为实时流,且数据类型(dataTyp)为2: 对讲时有效
taUrlstringWebSocket地址,用于对讲时客户端提交音频数据。此地址使用二进制websocket协议。仅当请求的流类型为实时流,且数据类型(dataTyp)为2: 对讲时有效
mediaTypstring流的媒体类型:
  • av: 音频和视频
  • a: 仅音频
  • v: 仅视频
lostRateint丢包率。0-100。仅当act == qr时有效。
closeCauseint流关闭的原因代码:
  • 1: 客户端请求关闭流
  • 2: 终端码流断开
  • 3: 连接媒体服务失败(主要用于 micro-gnss)
  • 4: 服务端发生未处理的异常
  • 5: 客户端流请求保持超时
  • 6: 终端未能在一定时间内推流
  • 7: 终端媒体格式错误或不能识别
  • 8: 终端不在线
  • 9: 终端指令失败
  • 10: 调用打开媒体API时返回失败(主要用于 micro-gnss或媒体代理服务)
  • 11: 打开媒体请求的整个处理过程超时(主要用于 micro-gnss或媒体代理服务)
  • 12: 当客户端成功请求打开一个流后,如果在配置的时间内(默认1分钟)未消费。
该属性仅当act == closed时有效
closeReasonstring流关闭的原因,文字信息。该属性仅当act == closed时有效
acint源音频编码格式。仅当act == ready时有效。为下列常量之一:
  • 65536: PCM
  • 65542: G711-U
  • 65543: G711-A
  • 69633: ADPCM
  • 69667: G726
  • 86018: AAC
vcint源视频编码格式。仅当act == ready时有效。为下列常量之一:
  • 27: H264
  • 173: H265

changeCodeStrm, pause, resume三个事件主要用于实时播放共享时提示用户,这样其他控制客户端执行切换码流、暂停流、恢复流时,当前客户端能够提示用户,使得用户能够了解码流发生变化的原因。

StrmNotif 各种通知类型使用的属性

下表表示各种类型(act)的通知是否使用reqId, playUrl, wsUrl, waUrl, taUrl, mediaTyp, lostRate, closeCause, closeReason等属性。对应格子空的,表示不使用该属性。

actreqIdplayUrlwsUrltaUrlmediaTyplostRatecloseCause/closeReasonacvc
sent使用------
failed使用------
id使用------
ready使用使用当请求为对讲时使用当请求为对讲时使用使用--使用使用
qr-----使用-
closed使用-----使用

数据示例

{
"instId": "strm-1",
"act": "ready",
"reqId": "AbctuB9sSJe8bbBzv-yr9g",
"typ": "live",
"simNo": "13320200317",
"chan": 1,
"playUrl": "http://t2.gratour.info:20022/s/13320200317_1_1?a\u003dS7rAwnY0\u0026b\u003dS91-lPEJg_yulbO6okcRQrguBqEFlUH-YmSXQewOJYSpWg8_7Jx2xZdBYiNZhWZETYFmZ3Kd8j_qguPRf10Yfvl_WB8H5tFUHkh6nILIiZU6wKN3buuvaXAKNA93QmIsk77baWYzkuY70l9TQswdvRRNOBXz9fszrWeQ5aeca6B9PXXUw_WVZiQBiUfrgF7CS2N\u0026reqId\u003dM2MyM2FmMTA3NDQyNGE1YzhlY2VkMzc3ZWU3ZDEwYTQ",
"mediaTyp": "av",
"ac": 69667,
"vc": 27
}