调用 DescribeLiveBatchPushStreamMetrics
接口,查询指定时间范围内指定推流域名下所有直推流或指定直推流的音视频帧率、码率等监控数据,用于判断直播流的健康程度。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | DescribeLiveBatchPushStreamMetrics | 接口名称。当前 API 的名称为 DescribeLiveBatchPushStreamMetrics 。 |
Version | String | 是 | 2023-01-01 | 接口版本。当前 API 的版本为 2023-01-01 。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Domain | String | 是 | push.example.com | 推流域名,您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看直播流使用的推流域名。 |
App | String | 否 |
| 应用名称,取值与直播流地址中的 AppName 字段取值相同,查询流粒度数据时必传,且需同时传入 说明 查询流粒度的监控数据时,需同时指定 |
Stream | String | 否 |
| 流名称,预置与直播流地址中的 StreamName 字段取值相同,查询流粒度数据时必传,且需同时传入 说明 查询流粒度的监控数据时,需同时指定 |
AggType | String | 否 |
| 数据聚合时间粒度内,动态指标的聚合算法,取值及含义如下所示。
|
StartTime | String | 是 |
| 查询的开始时间,RFC3339 格式的时间戳,精度为秒。 说明 单次查询最大时间跨度为 1 天,历史查询最大时间范围为 366 天。 |
EndTime | String | 是 | 2021-08-16T00:01:59+08:00 | 查询的结束时间,RFC3339 格式的时间戳,精度为秒。 |
Aggregation | Integer | 否 |
| 数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。
|
下表仅列出本接口特有的返回参数。更多信息请见返回结构。
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
Domain | String | push.example.com | 推流域名。 |
App | String | live | 应用名称。 |
Stream | String | example_stream | 流名称。 |
AggType | String |
| 数据聚合时间粒度内,动态指标的聚合算法,取值及含义如下所示。
|
StartTime | String | 2021-08-16T00:00:00+08:00 | 查询的开始时间,RFC3339 格式的时间戳,精度为秒。 |
EndTime | String | 2021-08-16T00:01:59+08:00 | 查询的结束时间,RFC3339 格式的时间戳,精度为秒。 |
Aggregation | Integer |
| 数据聚合的时间粒度,单位为秒。
|
StreamMetricList | Array of StreamMetricList | - | 直推流的信息,包含域名、应用名称、流名称和监控数据。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
Domain | String | push.example.com | 推流域名。 |
App | String | live | 应用名称。 |
Stream | String | example_stream | 流名称。 |
SessionID | String | 1961227fe2ab4da7a3f28 | 标记一路推流的唯一 ID。 |
MetricList | Array of MetricList | - | 按指定时间粒度聚合的监控数据。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
TimeStamp | String | 2022-04-13T00:00:00+08:00 | 数据按时间粒度聚合时,每个时间粒度的开始时间,RFC3339 格式的时间戳,精度为秒。 |
Bitrate | Float | 20 | 数据聚合时间粒度内,按聚合算法得出的视频码率,单位为 kbps。 |
Framerate | Float | 20 | 数据聚合时间粒度内,按聚合算法得出的视频帧率,单位为 fps。 |
AudioFramerate | Float | 20 | 数据聚合时间粒度内,按聚合算法得出的音频帧率(每秒传输的音频数据包个数)。 |
AudioBitrate | Float | 20 | 数据聚合时间粒度内,按聚合算法得出的音频码率,单位为 kbps。 |
AudioPts | Integer | 9558439 | 数据聚合时间粒度内,最后一个音频帧的显示时间戳 PTS(Presentation Time Stamp),单位为毫秒。 |
VideoPts | Integer | 9558438 | 数据聚合时间粒度内,最后一个视频帧的显示时间戳 PTS(Presentation Time Stamp),单位为毫秒。 |
PtsDelta | Integer | 1 | 数据聚合时间粒度内,按聚合算法得出的音视频帧显示时间戳差值,即所有 AudioPts 与 VideoPts 差值的最大值,单位为毫秒。 |
AudioFrameGap | Integer | 20 | 数据聚合时间粒度内,按聚合算法得出的相邻音频帧显示时间戳差值,单位为毫秒。 |
VideoFrameGap | Integer | 20 | 数据聚合时间粒度内,按聚合算法得出的相邻视频帧显示时间戳差值,单位为毫秒。 |
StreamBeginTime | Long | 1723726121000 | 推流开始时间,使用 Unix 时间戳表示,单位为毫秒。 |
FirstFrameTime | Integer | 10 | 从推流建立连接开始算起,收到首帧的耗时,单位为毫秒。 |
ClientIp | String | 127.0.0.1 | 推流客户端的 IP 地址。 |
ServerIp | String | 127.0.0.1 | 推流服务端 IP。 |
Resolution | String | 1280x720 | 推流画面分辨率。 |
ACodec | String | ACC | 音频编码格式。 |
VCodec | String | H264 | 视频编码格式。 |
POST https://live.volcengineapi.com?Action=DescribeLiveBatchPushStreamMetrics&Version=2023-01-01 { "Domain": "push.example.com", "App": "live", "Stream": "example_stream", "StartTime": "2021-08-16T00:00:00+08:00", "EndTime": "2021-08-16T00:01:59+08:00", "Aggregation": 5, "AggType": "max" }
{ "ResponseMetadata": { "RequestId": "20230604110420****100232280022D31", "Action": "DescribeLiveBatchPushStreamMetrics", "Version": "2023-01-01", "Service": "live", "Region": "cn-north-1" }, "Result": { "Domain": "push.example.com", "App": "live", "Stream": "example_stream", "StartTime": "2021-08-16T00:00:00+08:00", "EndTime": "2021-08-16T00:01:59+08:00", "Aggregation": 5, "StreamMetricList": [ { "Domain": "push.example.com", "App": "live", "Stream": "example_stream", "MetricList": [ { "TimeStamp": "2022-04-13T00:00:00+08:00", "Bitrate": 20, "Framerate": 20, "AudioFramerate": 20, "AudioBitrate": 20, "AudioPts": 9558439, "VideoPts": 9558438, "PtsDelta": 1, "AudioFrameGap": 20, "VideoFrameGap": 20, "FirstFrameTime": 1, "ClientIp": "127.0.0.1", "ServerIp": "127.0.0.1", "Resolution": "1280x720", "StreamBeginTime": 1723726121000, "VCodec": "H264", "ACodec": "ACC" } ], "SessionID": "1961227fe2ab4da7a3f28" } ], "AggType": "max" } }
下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。
状态码 | 错误码 | 错误信息 | 说明 |
---|---|---|---|
200 | CommonErr | - | 未分类错误。建议重试,如果仍返回该错误码,请联系技术支持。 |
400 | InvalidParam | - | 输入的参数无效或不符合要求,请参照请求参数说明进行检查。 |
400 | InvalidParam.BindError | Request parameter error, please check input data | 参数未通过校验,请检查参数类型是否正确。 |
403 | RequestForbidden | - | 请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。 |
404 | ResourceNotFound | - | 未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持。 |
500 | InternalError | an internal error occurred, please contact the administrator. | 出现内部错误,请联系技术支持。 |
502 | InternalServiceError | an internal error occurred, please contact the administrator. | 服务间出现错误,请联系技术支持。 |
502 | InternalServiceError.BadResponse | an internal error occurred, please contact the administrator. | 服务间出现错误,请联系技术支持。 |
504 | InternalServiceTimeout | Internal Service is timeout. please contact the administrator. | 内部服务超时,请联系技术支持。 |
视频直播提供了配套的开发工具集 SDK,支持多种编程语言,帮助您更方便的调用 API。