You need to enable JavaScript to run this app.
导航
DescribeLiveBatchPushStreamMetrics - 查询多路推流监控数据
最近更新时间:2025.04.22 19:10:54首次发布时间:2023.09.25 14:36:18
我的收藏
有用
有用
无用
无用

调用 DescribeLiveBatchPushStreamMetrics 接口,查询指定时间范围内指定推流域名下所有直推流或指定直推流的音视频帧率、码率等监控数据,用于判断直播流的健康程度。

注意事项

  • 使用限制:支持查询已删除域名产生的历史推流数据。
  • 请求频率:单用户请求频率限制为 30 次/秒
  • 数据延迟:数据延迟为 30 秒

请求说明

  • 请求方式:POST
  • 请求地址:https://live.volcengineapi.com?Action=DescribeLiveBatchPushStreamMetrics&Version=2023-01-01

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

Query

参数类型是否必选示例值描述
ActionStringDescribeLiveBatchPushStreamMetrics接口名称。当前 API 的名称为 DescribeLiveBatchPushStreamMetrics
VersionString2023-01-01接口版本。当前 API 的版本为 2023-01-01

Body

参数类型是否必选示例值描述
DomainStringpush.example.com推流域名,您可以调用 ListDomainDetail 接口或在视频直播控制台的域名管理页面,查看直播流使用的推流域名。

App

String

live

应用名称,取值与直播流地址中的 AppName 字段取值相同,查询流粒度数据时必传,且需同时传入 Stream。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 30 个字符。

说明

查询流粒度的监控数据时,需同时指定 AppStream 来指定直播流。

Stream

String

example_stream

流名称,预置与直播流地址中的 StreamName 字段取值相同,查询流粒度数据时必传,且需同时传入 Stream。支持由大小写字母(A - Z、a - z)、数字(0 - 9)、下划线(_)、短横线(-)和句点(.)组成,长度为 1 到 100 个字符。

说明

查询流粒度的监控数据时,需同时指定 AppStream 来指定直播流。

AggType

String

max

数据聚合时间粒度内,动态指标的聚合算法,取值及含义如下所示。

  • max:(默认值)计算聚合时间粒度内的最大值;
  • avg:计算聚合时间粒度内的平均值。

StartTime

String

2021-08-16T00:00:00+08:00

查询的开始时间,RFC3339 格式的时间戳,精度为秒。

说明

单次查询最大时间跨度为 1 天,历史查询最大时间范围为 366 天。

EndTimeString2021-08-16T00:01:59+08:00查询的结束时间,RFC3339 格式的时间戳,精度为秒。

Aggregation

Integer

5

数据聚合的时间粒度,单位为秒,支持的时间粒度如下所示。

  • 5:5 秒;
  • 30:30 秒;
  • 60:(默认值)1 分钟。

返回参数

下表仅列出本接口特有的返回参数。更多信息请见返回结构

参数类型示例值描述
DomainStringpush.example.com推流域名。
AppStringlive应用名称。
StreamStringexample_stream流名称。

AggType

String

max

数据聚合时间粒度内,动态指标的聚合算法,取值及含义如下所示。

  • max:(默认值)计算聚合时间粒度内的最大值;
  • avg:计算聚合时间粒度内的平均值。
StartTimeString2021-08-16T00:00:00+08:00查询的开始时间,RFC3339 格式的时间戳,精度为秒。
EndTimeString2021-08-16T00:01:59+08:00查询的结束时间,RFC3339 格式的时间戳,精度为秒。

Aggregation

Integer

5

数据聚合的时间粒度,单位为秒。

  • 5:5 秒;
  • 30:30 秒;
  • 60:1 分钟。
StreamMetricListArray of StreamMetricList-直推流的信息,包含域名、应用名称、流名称和监控数据。

StreamMetricList

参数类型示例值描述
DomainStringpush.example.com推流域名。
AppStringlive应用名称。
StreamStringexample_stream流名称。
SessionIDString1961227fe2ab4da7a3f28标记一路推流的唯一 ID。
MetricListArray of MetricList-按指定时间粒度聚合的监控数据。

MetricList

参数类型示例值描述
TimeStampString2022-04-13T00:00:00+08:00数据按时间粒度聚合时,每个时间粒度的开始时间,RFC3339 格式的时间戳,精度为秒。
BitrateFloat20数据聚合时间粒度内,按聚合算法得出的视频码率,单位为 kbps。
FramerateFloat20数据聚合时间粒度内,按聚合算法得出的视频帧率,单位为 fps。
AudioFramerateFloat20数据聚合时间粒度内,按聚合算法得出的音频帧率(每秒传输的音频数据包个数)。
AudioBitrateFloat20数据聚合时间粒度内,按聚合算法得出的音频码率,单位为 kbps。
AudioPtsDouble9558439数据聚合时间粒度内,最后一个音频帧的显示时间戳 PTS(Presentation Time Stamp),单位为毫秒。
VideoPtsDouble9558438数据聚合时间粒度内,最后一个视频帧的显示时间戳 PTS(Presentation Time Stamp),单位为毫秒。
PtsDeltaFloat1数据聚合时间粒度内,按聚合算法得出的音视频帧显示时间戳差值,即所有 AudioPts 与 VideoPts 差值的最大值,单位为毫秒。
AudioFrameGapFloat20数据聚合时间粒度内,按聚合算法得出的相邻音频帧显示时间戳差值,单位为毫秒。
VideoFrameGapFloat20数据聚合时间粒度内,按聚合算法得出的相邻视频帧显示时间戳差值,单位为毫秒。
StreamBeginTimeLong1723726121000推流开始时间,使用 Unix 时间戳表示,单位为毫秒。
FirstFrameTimeInteger10从推流建立连接开始算起,收到首帧的耗时,单位为毫秒。
ClientIpString127.0.0.1推流客户端的 IP 地址。
ServerIpString127.0.0.1推流服务端 IP。
ResolutionString1280x720推流画面分辨率。
ACodecStringAAC音频编码格式。
VCodecStringH264视频编码格式。

请求示例

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": "AAC"
                    }
                ],
                "SessionID": "1961227fe2ab4da7a3f28"
            }
        ],
        "AggType": "max"
    }
}

错误码

下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。

状态码错误码错误信息说明
400InvalidParam-输入的参数无效或不符合要求,请参照请求参数说明进行检查。
403RequestForbidden-请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
500InternalErroran internal error occurred, please contact the administrator.出现内部错误,请联系技术支持

服务端 SDK

视频直播提供了配套的开发工具集 SDK,支持多种编程语言,帮助您更方便的调用 API。