查询媒体服务状态
GET /strm/status
本接口用于查询媒体服务的状态,包括当前有效的播放请求的状态,及服务器的系统资源状态(可选返回)。
请求
GET https://n11.gratour.info:7011/strm/status?sysResStat=true&perfStat=true
Authorization: Basic YWRtaW46YWRtaW4
查询参数
参数 | 数据类型 | 必要 | 说明 |
---|---|---|---|
sysResStat | boolean | 是否查询、返回服务器的系统资源状态。不指定时,值视为false 。 | |
perfStat | boolean | 是否查询、返回音视频性能统计数据。不指定时,值视为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": "成功。"
}
应答实体属性
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
errCode | int | Y | 错误码。 |
message | string | Y | 错误信息。 |
data | array[QryServerStatusResult] | 返回的结果对象数组。元素为QryServerStatusResult类型,见下。 | |
count | int | 返回的记录数。 |
QryServerStatusResult
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
instId | string | Y | 媒体服务的运行实例ID。 |
rptTm | long | Y | 本查询结果产生时间。 Epoch milli-seconds。 |
error | string | 查询成功时,无此属性。查询失败时,本属性为查询媒体服务状态过程中遇到的错误。 | |
sysStat | StrmServerStat | 服务器系统资源状态数据。为StrmServerStat结构,见下。如果没有指定sysResStat 查询参数或参数值为false ,或本结构出现了error 属性,则不出现本属性。 | |
perfStat | StrmPerfStat | 媒体发生统计数据。为StrmPerfStat结构,见下。如果没有指定perfStat 查询参数或参数值为false ,或结构出现error 属性,则不出现本属性。 | |
strms | array[StrmStatus] | 当前有效的播放请求状态数组。元素为StrmStatus,见下。如果本结构出现error 属性,则不出现本属性。 |
StrmServerStat
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
ver | string | Y | 媒体服务版本号。 |
startTm | long | Y | 媒体服务的启动时间。 Epoch milli-seconds。 |
sysLoadAvg | double | 媒体服务所在服务器系统平均负载。如果该数据尚不可用则无此属性。 | |
procCpuLoad | double | 媒体服务进程的CPU占用。如果该数据尚不可用则无此属性。 | |
sysCpuLoad | double | 媒体服务所在服务器的总CPU占用。如果该数据尚不可用则无此属性。 | |
heapMemUse | MemoryUsage | Y | Heap内存使用。为MemoryUsage结构,见下。 |
nonHeapMemoUse | Memoryusage | Y | 非Heap内存使用。为MemoryUsage结构,见下。 |
thdCnt | int | Y | 媒体服务的线程数。 |
deadLockThds | int | Y | 媒体服务内发生死锁的线程数。为0时表示无死锁。 |
MemoryUsage
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
init | long | Y | Java虚拟机初始向操作系统申请的内存量,单位:字节。当此数据不可用时,为-1。 |
used | long | Y | 已经使用的内存量,单位:字节。 |
committed | long | Y | 已经提交的内存量,单位:字节。 |
max | long | Y | 最大可用内存量,单位:字节。当此数据不可用时,为-1。 |
StrmPerfStat
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
metricEnabled | boolean | Y | 性能测量是否已经启用。 |
recvFromTerm1Min | long | 平均过去一分钟从终端接收的码流数据量,单位:字节。当metricEnabled 为false 时,无此属性。 | |
audioProcDelay | StrmStatSampling | 音频处理延时统计(毫秒),为StrmStatSampling结构,见下。当metricEnabled 为false 时,无此属性。 | |
videoProcDelay | StrmStatSampling | 视频处理延时统计(毫秒),为StrmStatSampling结构,见下。当metricEnabled 为false 时,无此属性。 | |
flvProcDelay | StrmStatSampling | 从源码流解包完成到FLV推送的总延时统计(毫秒),为StrmStatSampling结构,见下。当metricEnabled 为false 时,无此属性。 |
StrmStatSampling
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
min | long | Y | 统计期内的最小值 |
max | long | Y | 统计期内的最大值 |
mean | double | Y | 统计期内的平均值 |
p50 | double | Y | 统计期内样本的中位数 |
p75 | double | Y | 统计期内的75%样本小于此值 |
p95 | double | Y | 统计期内的75%样本小于此值 |
StrmStatus
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
simNo | string | Y | 终端识别号 |
chanId | int | Y | 音视频逻辑通道号。参见JT/T 1078标准定义的车载视频逻辑通道号定义表 |
live | boolean | Y | 是否实时音视频,为false 时表远程录像回放 |
liveDataTyp | int | 实时音视频的数据类型:
live 为false 时无此属性。 | |
codeStrm | int | Y | 码流类型:
|
createTm | long | Y | 流的创建时间。Epoch milli-seconds。 |
srcDetectTm | long | 媒体源成功识别时间。Epoch milli-seconds。终端尚未推流或码流未尚未识别时无此属性。 | |
ready | boolean | Y | 媒体是否已经可以播放 |
readyTm | long | 媒体可用(可播放)时间。Epoch milli-seconds。当ready 为false 时,无此属性。 | |
closeTm | long | 媒体关闭时间。Epoch milli-seconds。当媒体流未关闭时,无此属性。 | |
recv | long | Y | 已经从终端接收的码流数据量。单位:字节。 |
byteRate | long | Y | 终端码流的数据速率。单位:字节/秒。 |
sendToClnt | long | Y | 发送到客户端的码流数据量。不包括封装数据。单位:字节。 |
aFmt | string | 码流的音频格式。不能识别时为空或无此属性。 | |
aNotSupport | boolean | 码流的音频格式是否不被支持。未识别流(无srcDetectTm 属性)时无此属性。被支持时也无此属性。 | |
vFmt | string | 码流的视频格式。不能识别时为空或无此属性。 | |
vNotSupport | boolean | 码流的视频格式是否不被支持。未识别流(无srcDetectTm 属性)时无此属性。被支持时也无此属性。 | |
vRez | string | 视频的分辨率。字符串格式:{宽}x{高},如:1280x720 。 | |
frameRate | float | 视频的帧率。此数据不一定准确。此数据未检测到时无此属性,或为0。 | |
mediaTyp | string | 媒体类型:
| |
requests | array[StrmReqStatus] | Y | 此媒体的当前活动客户端请求数据。元素为StrmReqStatus,见下。 |
StrmReqStatus
属性 | 数据类型 | 必要 | 说明 |
---|---|---|---|
reqId | string | Y | 媒体请求ID。 |
userId | string | 用户ID。此数据源自于POST /strm/open 接口的user 属性的userId 属性。未提供时则无此属性。 | |
reqTm | long | Y | 请求时间。Epoch milli-seconds。 |
fmt | int | Y | 媒体流格式代码:
|
lastKeepTm | long | Y | 客户端最后一次保持调用时间。Epoch milli-seconds。初始时,lastKeepTm为请求创建时间。随着后续调用`POST /strm/keep接口,此时间被更新为keep接口调用时间。 |
readyTm | long | 通知该请求媒体可用的时间。Epoch milli-seconds。未通知时,无此属性。 | |
closeTm | long | 该请求关闭时间。Epoch milli-seconds。 请求未关闭时无此属性。 | |
closeCause | int | 请求关闭原因代码。
|