跳到主要内容
版本:3.4.2

查询媒体服务状态

GET /strm/status

本接口用于查询媒体服务的状态,包括当前有效的播放请求的状态,及服务器的系统资源状态(可选返回)。

请求

GET https://n11.gratour.info:7011/strm/status?sysResStat=true&perfStat=true
Authorization: Basic YWRtaW46YWRtaW4

查询参数

参数数据类型必要说明
sysResStatboolean是否查询、返回服务器的系统资源状态。不指定时,值视为false
perfStatboolean是否查询、返回音视频性能统计数据。不指定时,值视为false

应答实体

{
"data": [
{
"instId": "test",
"rptTm": 1658125956824,
"sysStat": {
"ver": "3.4.0 (2022-07-18 14:31:06)",
"startTm": 1658125877968,
"procCpuLoad": 7.8,
"sysCpuLoad": 21.5,
"heapMemUse": {
"init": 534773760,
"used": 516846096,
"committed": 815792128,
"max": 8552185856
},
"nonHeapMemUse": {
"init": 5111808,
"used": 104727400,
"committed": 109510656,
"max": -1
},
"thdCnt": 73,
"deadLockThds": 0
},
"perfStat": {
"metricEnabled": true,
"recvFromTerm1Min": 338189,
"audioProcDelay": {
"min": 0,
"max": 3,
"mean": 0.12713921996996697,
"p50": 0.0,
"p75": 0.0,
"p95": 1.0
},
"videoProcDelay": {
"min": 0,
"max": 18,
"mean": 0.32511810173641975,
"p50": 0.0,
"p75": 1.0,
"p95": 1.0
},
"flvProcDelay": {
"min": 0,
"max": 18,
"mean": 0.9713264183765298,
"p50": 1.0,
"p75": 1.0,
"p95": 2.0
}
},
"strms": [
{
"simNo": "8888000005",
"chanId": 2,
"live": true,
"liveDataTyp": 0,
"codeStrm": 1,
"createTm": 1658125885840,
"srcDetectTm": 1658125885846,
"ready": true,
"readyTm": 1658125885846,
"recv": 963391,
"byteRate": 13865,
"sendToClnt": 770180,
"aFmt": "G.726 (8)",
"vFmt": "H.264 (2)",
"vRez": "352x288",
"frameRate": 8.333333,
"mediaTyp": "av",
"requests": [
{
"reqId": "tnf4xqt6QiO9MT6O6_NxkQ",
"userId": "",
"reqTm": 1658125885840,
"fmt": 0,
"lastKeepTm": 1658125949296
}
]
},
{
"simNo": "8888000005",
"chanId": 4,
"live": true,
"liveDataTyp": 0,
"codeStrm": 1,
"createTm": 1658125888022,
"srcDetectTm": 1658125888031,
"ready": true,
"readyTm": 1658125888031,
"recv": 2456018,
"byteRate": 34111,
"sendToClnt": 2220337,
"aFmt": "ADPCMA (26)",
"vFmt": "H.264 (2)",
"vRez": "352x288",
"frameRate": 16.0,
"mediaTyp": "av",
"requests": [
{
"reqId": "2AGgw_LVQN-7yYOrsc2yZg",
"userId": "",
"reqTm": 1658125888022,
"fmt": 0,
"lastKeepTm": 1658125949296
}
]
},
{
"simNo": "8888000002",
"chanId": 1,
"live": true,
"liveDataTyp": 0,
"codeStrm": 1,
"createTm": 1658125891231,
"srcDetectTm": 1658125891236,
"ready": true,
"readyTm": 1658125891236,
"recv": 855909,
"byteRate": 13335,
"sendToClnt": 677263,
"aFmt": "G.726 (8)",
"vFmt": "H.264 (2)",
"vRez": "352x288",
"frameRate": 8.333333,
"mediaTyp": "av",
"requests": [
{
"reqId": "EBLQJTB2SOmjK--byDnLHw",
"userId": "",
"reqTm": 1658125891232,
"fmt": 0,
"lastKeepTm": 1658125949296
}
]
},
{
"simNo": "8888000005",
"chanId": 3,
"live": true,
"liveDataTyp": 0,
"codeStrm": 1,
"createTm": 1658125887015,
"srcDetectTm": 1658125887022,
"ready": true,
"readyTm": 1658125887022,
"recv": 12882578,
"byteRate": 185428,
"sendToClnt": 12323953,
"aFmt": "G.726 (8)",
"vFmt": "H.264 (2)",
"vRez": "1280x720",
"frameRate": 15.634771,
"mediaTyp": "av",
"requests": [
{
"reqId": "ScsOUefSSmW-G80pslEMuA",
"userId": "",
"reqTm": 1658125887015,
"fmt": 0,
"lastKeepTm": 1658125949296
}
]
},
{
"simNo": "8888000005",
"chanId": 1,
"live": true,
"liveDataTyp": 0,
"codeStrm": 1,
"createTm": 1658125885215,
"srcDetectTm": 1658125885308,
"ready": true,
"readyTm": 1658125885310,
"recv": 1831989,
"byteRate": 25014,
"sendToClnt": 1609105,
"aFmt": "G.726 (8)",
"vFmt": "H.264 (2)",
"vRez": "352x288",
"frameRate": 10.416667,
"mediaTyp": "av",
"requests": [
{
"reqId": "bzrsYbB8QqSIBDN9JbsPGQ",
"userId": "",
"reqTm": 1658125885220,
"fmt": 0,
"lastKeepTm": 1658125949296
}
]
},
{
"simNo": "8888000004",
"chanId": 2,
"live": true,
"liveDataTyp": 0,
"codeStrm": 1,
"createTm": 1658125892269,
"srcDetectTm": 1658125892274,
"ready": true,
"readyTm": 1658125892274,
"recv": 11897119,
"byteRate": 185032,
"sendToClnt": 11381040,
"aFmt": "G.726 (8)",
"vFmt": "H.264 (2)",
"vRez": "1280x720",
"frameRate": 15.634771,
"mediaTyp": "av",
"requests": [
{
"reqId": "t0R9gIRsTnWSjQkcaT6y9A",
"userId": "",
"reqTm": 1658125892269,
"fmt": 0,
"lastKeepTm": 1658125949296
}
]
},
{
"simNo": "8888000002",
"chanId": 2,
"live": true,
"liveDataTyp": 0,
"codeStrm": 1,
"createTm": 1658125889990,
"srcDetectTm": 1658125889995,
"ready": true,
"readyTm": 1658125889995,
"recv": 1709104,
"byteRate": 24967,
"sendToClnt": 1501165,
"aFmt": "G.726 (8)",
"vFmt": "H.264 (2)",
"vRez": "352x288",
"frameRate": 10.416667,
"mediaTyp": "av",
"requests": [
{
"reqId": "H0OmN8P1Tgm-L2b6stPXVw",
"userId": "",
"reqTm": 1658125889990,
"fmt": 0,
"lastKeepTm": 1658125949296
}
]
},
{
"simNo": "8888000004",
"chanId": 1,
"live": true,
"liveDataTyp": 0,
"codeStrm": 1,
"createTm": 1658125889078,
"srcDetectTm": 1658125889084,
"ready": true,
"readyTm": 1658125889085,
"recv": 2220096,
"byteRate": 31054,
"sendToClnt": 1742249,
"aFmt": "G.711A (6)",
"vFmt": "H.264 (2)",
"vRez": "352x288",
"frameRate": 16.0,
"mediaTyp": "av",
"requests": [
{
"reqId": "QkKcmOj3TKmXxomys-n9jw",
"userId": "",
"reqTm": 1658125889078,
"fmt": 0,
"lastKeepTm": 1658125949296
}
]
}
]
}
],
"count": 1,
"errCode": 0,
"message": "成功。"
}

应答实体属性

属性数据类型必要说明
errCodeintY错误码。
messagestringY错误信息。
dataarray[QryServerStatusResult]返回的结果对象数组。元素为QryServerStatusResult类型,见下。
countint返回的记录数。

QryServerStatusResult

属性数据类型必要说明
instIdstringY媒体服务的运行实例ID。
rptTmlongY本查询结果产生时间。 Epoch milli-seconds。
errorstring查询成功时,无此属性。查询失败时,本属性为查询媒体服务状态过程中遇到的错误。
sysStatStrmServerStat服务器系统资源状态数据。为StrmServerStat结构,见下。如果没有指定sysResStat查询参数或参数值为false,或本结构出现了error属性,则不出现本属性。
perfStatStrmPerfStat媒体发生统计数据。为StrmPerfStat结构,见下。如果没有指定perfStat查询参数或参数值为false,或结构出现error属性,则不出现本属性。
strmsarray[StrmStatus]当前有效的播放请求状态数组。元素为StrmStatus,见下。如果本结构出现error属性,则不出现本属性。

StrmServerStat

属性数据类型必要说明
verstringY媒体服务版本号。
startTmlongY媒体服务的启动时间。 Epoch milli-seconds。
sysLoadAvgdouble媒体服务所在服务器系统平均负载。如果该数据尚不可用则无此属性。
procCpuLoaddouble媒体服务进程的CPU占用。如果该数据尚不可用则无此属性。
sysCpuLoaddouble媒体服务所在服务器的总CPU占用。如果该数据尚不可用则无此属性。
heapMemUseMemoryUsageYHeap内存使用。为MemoryUsage结构,见下。
nonHeapMemoUseMemoryusageY非Heap内存使用。为MemoryUsage结构,见下。
thdCntintY媒体服务的线程数。
deadLockThdsintY媒体服务内发生死锁的线程数。为0时表示无死锁。

MemoryUsage

属性数据类型必要说明
initlongYJava虚拟机初始向操作系统申请的内存量,单位:字节。当此数据不可用时,为-1。
usedlongY已经使用的内存量,单位:字节。
committedlongY已经提交的内存量,单位:字节。
maxlongY最大可用内存量,单位:字节。当此数据不可用时,为-1。

StrmPerfStat

属性数据类型必要说明
metricEnabledbooleanY性能测量是否已经启用。
recvFromTerm1Minlong平均过去一分钟从终端接收的码流数据量,单位:字节。当metricEnabledfalse时,无此属性。
audioProcDelayStrmStatSampling音频处理延时统计(毫秒),为StrmStatSampling结构,见下。当metricEnabledfalse时,无此属性。
videoProcDelayStrmStatSampling视频处理延时统计(毫秒),为StrmStatSampling结构,见下。当metricEnabledfalse时,无此属性。
flvProcDelayStrmStatSampling从源码流解包完成到FLV推送的总延时统计(毫秒),为StrmStatSampling结构,见下。当metricEnabledfalse时,无此属性。

StrmStatSampling

属性数据类型必要说明
minlongY统计期内的最小值
maxlongY统计期内的最大值
meandoubleY统计期内的平均值
p50doubleY统计期内样本的中位数
p75doubleY统计期内的75%样本小于此值
p95doubleY统计期内的75%样本小于此值

StrmStatus

属性数据类型必要说明
simNostringY终端识别号
chanIdintY音视频逻辑通道号。参见JT/T 1078标准定义的车载视频逻辑通道号定义表
livebooleanY是否实时音视频,为false时表远程录像回放
liveDataTypint实时音视频的数据类型:
  • 0: 音视频
  • 1: 视频
  • 2: 双向对讲
  • 3: 监听
  • 4: 中心广播(暂不支持)
  • 5: 透传(暂不支持)
livefalse时无此属性。
codeStrmintY码流类型:
  • 0: 主码流
  • 1: 子码流。
createTmlongY流的创建时间。Epoch milli-seconds。
srcDetectTmlong媒体源成功识别时间。Epoch milli-seconds。终端尚未推流或码流未尚未识别时无此属性。
readybooleanY媒体是否已经可以播放
readyTmlong媒体可用(可播放)时间。Epoch milli-seconds。当readyfalse时,无此属性。
closeTmlong媒体关闭时间。Epoch milli-seconds。当媒体流未关闭时,无此属性。
recvlongY已经从终端接收的码流数据量。单位:字节。
byteRatelongY终端码流的数据速率。单位:字节/秒。
sendToClntlongY发送到客户端的码流数据量。不包括封装数据。单位:字节。
aFmtstring码流的音频格式。不能识别时为空或无此属性。
aNotSupportboolean码流的音频格式是否不被支持。未识别流(无srcDetectTm属性)时无此属性。被支持时也无此属性。
vFmtstring码流的视频格式。不能识别时为空或无此属性。
vNotSupportboolean码流的视频格式是否不被支持。未识别流(无srcDetectTm属性)时无此属性。被支持时也无此属性。
vRezstring视频的分辨率。字符串格式:{宽}x{高},如:1280x720
frameRatefloat视频的帧率。此数据不一定准确。此数据未检测到时无此属性,或为0。
mediaTypstring媒体类型:
  • av: 音视频
  • a: 音频
  • v: 视频
如果采用码流检测媒体类型,则在检测完成前,无此属性。
requestsarray[StrmReqStatus]Y此媒体的当前活动客户端请求数据。元素为StrmReqStatus,见下。

StrmReqStatus

属性数据类型必要说明
reqIdstringY媒体请求ID。
userIdstring用户ID。此数据源自于POST /strm/open接口的user属性的userId属性。未提供时则无此属性。
reqTmlongY请求时间。Epoch milli-seconds。
fmtintY媒体流格式代码:
  • 0: FLV
  • 1: HLS
lastKeepTmlongY客户端最后一次保持调用时间。Epoch milli-seconds。初始时,lastKeepTm为请求创建时间。随着后续调用`POST /strm/keep接口,此时间被更新为keep接口调用时间。
readyTmlong通知该请求媒体可用的时间。Epoch milli-seconds。未通知时,无此属性。
closeTmlong该请求关闭时间。Epoch milli-seconds。 请求未关闭时无此属性。
closeCauseint请求关闭原因代码。
  • 1: 客户端请求关闭流
  • 2: 终端码流断开
  • 3: (此关闭原因代码已经不再使用)
  • 4: 服务端发生未处理的异常
  • 5: 客户端流请求保持超时
  • 6: 终端未能在一定时间内推流
  • 7: 媒体格式错误
  • 8: 终端不在线
请求未关闭时无此属性。