更新时间:2024-12-12 GMT+08:00
分享

查询租户所有数字人直播任务列表

功能介绍

该接口用于查询租户所有数字人智能直播任务列表。

调用方法

请参见如何调用API

URI

GET /v1/{project_id}/smart-live-jobs

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参考获取项目ID

表2 Query参数

参数

是否必选

参数类型

描述

offset

Integer

偏移量,表示从此偏移量开始查询。

取值范围:

0-2147483647

默认取值:

0

limit

Integer

每页显示的条目数量。

取值范围:

1-100

默认取值:

10

state

String

任务状态,默认所有状态。

可多个状态查询,使用英文逗号分隔。

如state=CREATING,PUBLISHED

sort_key

String

排序字段,支持的排序方式有:

  • 按创建时间排序:create_time

  • 按更新时间排序:update_time

  • 按资产排序:asset_order

sort_dir

String

排序方式。

  • asc:升序

  • desc:降序

默认asc升序。

create_since

String

过滤创建时间>=输入时间的记录。

create_until

String

过滤创建时间<=输入时间的记录。

room_name

String

按直播间名称模糊查询。

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。使用Token鉴权方式时必选。

通过调用IAM服务获取用户Token接口获取。

响应消息头中X-Subject-Token的值。

Authorization

String

使用AK/SK方式认证时必选,携带的鉴权信息。

X-Sdk-Date

String

使用AK/SK方式认证时必选,请求的发生时间。

格式为(YYYYMMDD'T'HHMMSS'Z')。

X-Project-Id

String

使用AK/SK方式认证时必选,携带项目ID信息。

X-App-UserId

String

第三方用户ID。不允许输入中文。

响应参数

状态码: 200

表4 响应Header参数

参数

参数类型

描述

X-Request-Id

String

请求ID。

表5 响应Body参数

参数

参数类型

描述

count

Integer

参数解释

数字人直播任务总数。

取值范围:

0-2147483647

smart_live_jobs

Array of SmartLiveJob objects

数字人直播任务列表。

表6 SmartLiveJob

参数

参数类型

描述

job_id

String

数字人直播任务ID。

room_id

String

直播间ID

room_name

String

直播间名称

state

String

数字人直播任务的状态。

  • WAITING: 等待

  • PROCESSING: 处理中

  • SUCCEED: 成功

  • FAILED: 失败

  • BLOCKED: 封禁

duration

Float

参数解释

数字人直播时长,单位秒。

取值范围:

0-2147483647

start_time

String

数字人直播任务开始时间。格式遵循:RFC 3339 如“2021-01-10T08:43:17Z”。

end_time

String

数字人直播任务结束时间。格式遵循:RFC 3339 如“2021-01-10T08:43:17Z”。

error_info

ErrorResponse object

数字人直播任务出错信息。

create_time

String

数字人直播任务创建时间。格式遵循:RFC 3339 如“2021-01-10T08:43:17Z”。

lastupdate_time

String

数字人直播任务最后更新时间。格式遵循:RFC 3339 如“2021-01-10T08:43:17Z”。

rtc_room_info

RTCRoomInfoList object

RTC房间信息。

live_event_report_url

String

直播事件上报地址。用户将自行获取的直播间事件上报到此地址,用于触发智能互动,自动回复话术。

live_event_callback_config

LiveEventCallBackConfig object

直播事件HTTPS回调通知配置

rtc_callback_config

RTCLiveEventCallBackConfig object

RTC回调事件配置。兼容处理,未携带配置则默认订阅LIVE_PROGRESS

stream_duration

Float

参数解释

数字人直播推流时长,单位秒。

取值范围:

0-2147483647

block_reason

String

封禁信息

cover_url

String

直播间封面图URL

co_streamer_config

CoStreamerConfig object

助播配置

live_job_log

LiveJobLog object

直播任务记录

relation_live_platform_info

PlatformLiveDetailInfo object

平台直播信息

表7 ErrorResponse

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

表8 RTCRoomInfoList

参数

参数类型

描述

app_id

String

RTC应用ID。

room_id

String

RTC房间ID。

users

Array of RTCUserInfo objects

加入RTC房间用户信息。

表9 RTCUserInfo

参数

参数类型

描述

user_type

String

用户类型。

  • CAPTURE: 直播助手,将摄像头获取视频流推送到RTC房间

  • ANIMATION: VDS服务,从RTC房间拉视频流生成动作数据

  • RENDER: 渲染服务,将动作数据渲染成数字人动画

  • PLAYER: 普通观看方,可选择原始视频流或者数字人动画视频流观看

  • INFERENCE_USER: 数字人推理端用户。从RTC房间接收音频流,并推送视频流到RTC房间

  • END_USER: 端侧用户。从推送音频流到RTC房间,并从RTC房间接收视频流

user_id

String

RTC用户ID。

signature

String

RTC鉴权token。

ctime

Long

有效期。时间戳,单位:秒。

取值范围:

0-4294967295

表10 LiveEventCallBackConfig

参数

参数类型

描述

live_event_type_callback_url

String

参数解释

直播事件回调地址,为https地址。

约束限制

不涉及。

取值范围

字符长度0-2048位。

默认取值

不涉及。

auth_type

String

参数解释

认证类型。

约束限制

不涉及。

取值范围

  • NONE:URL中自带认证。

  • MSS_A:HMACSHA256签名模式,在URL中追加参数hwSecret、hwTime。

    取值方式:hwSecret=hmac_sha256(Key, URI(live_event_callback_url)+ hwTime)&hwTime=hex(timestamp)

  • MSS_A_HEAD:HMACSHA256签名模式,参数hwSecret、hwTime放置在Head中。

    取值方式:x-hw-mss-secret=hmac_sha256(Key, URI(live_event_callback_url)+ hwTime)

    x-hw-mss-time=hex(timestamp)

  • MEITUAN_DEFAULT:仅用于美团平台调用回调使用。

默认取值:

NONE

key

String

参数解释

密钥Key。

约束限制

不涉及。

取值范围

字符长度0-32位。

默认取值

不涉及。

callback_event_type

Array of strings

参数解释

回调的直播事件类型列表。

约束限制

不涉及。

取值范围

当前仅支持如下取值:

  • SHOOT_SCRIPT_SWITCH:剧本段落切换事件。

  • RTMP_STREAM_STATE_CHANGE:RTMP链接发生变化回调事件。

  • REPLY_COMMAND_FINISH:回复播放完成通知。

回调事件结构体定义:

  • event_type:事件类型。

  • message:事件描述。

    • SHOOT_SCRIPT_SWITCH事件回调定义如下:

      {
        "event_type":  "SHOOT_SCRIPT_SWITCH",
        "message":"{\"room_id\":\"26f065244f754b3aa853b649a21aaf66\",\"job_id\":\"e87104f76d7546ce8a46ac6b04c49c3c\",\"scene_script_name\":\"商品1\",\"shoot_script_sequence_no\":\"2\",\"shoot_script_title\":\"段落2\"}"
      }
    • RTMP_STREAM_STATE_CHANGE回调定义如下:

      {
        "event_type":  "RTMP_STREAM_STATE_CHANGE",
        "message":"{\"room_id\":\"26f065244f754b3aa853b649a21aaf66\",\"job_id\":\"e87104f76d7546ce8a46ac6b04c49c3c\",\"output_url\":\"rtmp://xxx/xx/xx\",\"stream_key\":\"xxxxx\",\"state\":\"CONNECTED\"}"
      }

      其中state取值:CONNECTING链路连接中;CONNECTED链路已连接;DISCONNECTED链路已断开,RECONNECTING链路重连中;END联络不再重连,链路已结束。

    • REPLY_COMMAND_FINISH回调定义如下:

      {
        "event_type":  "REPLY_COMMAND_FINISH",
        "message":"{\"room_id\":\"26f065244f754b3aa853b649a21aaf66\",\"job_id\":\"e87104f76d7546ce8a46ac6b04c49c3c\",\"reply_id\":\"e87104f76d7546ce8a46ac6b04c49c3c"}"
      }
表11 RTCLiveEventCallBackConfig

参数

参数类型

描述

rtc_callback_event_type

Array of strings

RTC回调的直播事件类型列表。

当前仅支持如下取值:

  • LIVE_PROGRESS:直播剧本进度通知。

  • REPLY_COMMAND_FINISH:回复播放完成通知。

回调事件结构体定义:

  • message_type:消息类型。

  • data:消息描述。

    • LIVE_PROGRESS事件回调定义如下:

      {
          "message_type": "live_progress_notify",
          "data": {
              "script_name": "场景一",
              "shoot_script_sequence_no": 2,
              "shoot_script_title": "引导语",
              "offset": "247",
              "reply_id": "e87104f76d7546ce8a46ac6b04c49c3c"
          }
      }
    • REPLY_COMMAND_FINISH回调定义如下:

      {
        "message_type": "reply_command_finish_notify",
        "data":"{
          "reply_id":"e87104f76d7546ce8a46ac6b04c49c3c"
        }"
      }
表12 CoStreamerConfig

参数

参数类型

描述

voice_config

VoiceConfig object

语音配置参数。

streamer_action

String

参数解释

助播出声时主播行为设置。

约束限制

不涉及

取值范围

  • SILENCE:静默

  • VOLUME_DOWN:音量降低

默认取值

不涉及。

表13 VoiceConfig

参数

参数类型

描述

voice_asset_id

String

参数解释

音色资产ID,可以从资产库中查询。

约束限制

不涉及。

取值范围

字符长度1-256位。

默认取值

不涉及。

speed

Integer

参数解释

语速。50表示0.5倍语速,100表示正常语速,200表示2倍语速。

当取值为“100”时,表示一个成年人的正常语速,约为250字/分钟。

约束限制

不涉及。

取值范围:

50-200

默认取值:

100

pitch

Integer

参数解释

音高。

约束限制

不涉及。

取值范围:

50-200

默认取值:

100

volume

Integer

参数解释

音量。

约束限制

不涉及。

取值范围:

90-240

默认取值:

140

表14 LiveJobLog

参数

参数类型

描述

interaction_records_url

String

直播互动记录文件地址

表15 PlatformLiveDetailInfo

参数

参数类型

描述

platform_id

String

直播平台ID。

platform

String

直播平台。美团填写meituan

account

String

授权账号信息。

美团平台对应:opBizCode

live_id

String

直播ID。如果配置,则段落切换回调中会携带该信息。

美团对应liveId

状态码: 400

表16 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

状态码: 401

表17 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

状态码: 500

表18 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

请求示例

GET https://metastudio.cn-north-4.myhuaweicloud.com/v1/70b76xxxxxx34253880af501cdxxxxxx/smart-live-rooms/24bad716-87b1-45e5-8912-6102f7693265/smart-live-jobs

响应示例

状态码: 200

成功。

{
  "count" : 1,
  "smart_live_jobs" : [ {
    "job_id" : "26f06524-4f75-4b3a-a853-b649a21aaf66",
    "state" : "WAITING",
    "start_time" : "2022-01-18T16:29:36Z",
    "end_time" : "2022-01-18T16:30:36Z",
    "duration" : 60
  } ]
}

状态码: 400

{
  "error_code" : "MSS.00000003",
  "error_msg" : "Invalid parameter"
}

状态码: 401

{
  "error_code" : "MSS.00000001",
  "error_msg" : "Unauthorized"
}

状态码: 500

{
  "error_code" : "MSS.00000004",
  "error_msg" : "Internal Error"
}

SDK代码示例

SDK代码示例如下。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.metastudio.v1.region.MetaStudioRegion;
import com.huaweicloud.sdk.metastudio.v1.*;
import com.huaweicloud.sdk.metastudio.v1.model.*;


public class ListSmartLiveJobsSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");
        String projectId = "{project_id}";

        ICredential auth = new BasicCredentials()
                .withProjectId(projectId)
                .withAk(ak)
                .withSk(sk);

        MetaStudioClient client = MetaStudioClient.newBuilder()
                .withCredential(auth)
                .withRegion(MetaStudioRegion.valueOf("<YOUR REGION>"))
                .build();
        ListSmartLiveJobsRequest request = new ListSmartLiveJobsRequest();
        try {
            ListSmartLiveJobsResponse response = client.listSmartLiveJobs(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkmetastudio.v1.region.metastudio_region import MetaStudioRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkmetastudio.v1 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]
    projectId = "{project_id}"

    credentials = BasicCredentials(ak, sk, projectId)

    client = MetaStudioClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(MetaStudioRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = ListSmartLiveJobsRequest()
        response = client.list_smart_live_jobs(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    metastudio "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/metastudio/v1/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")
    projectId := "{project_id}"

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        WithProjectId(projectId).
        Build()

    client := metastudio.NewMetaStudioClient(
        metastudio.MetaStudioClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListSmartLiveJobsRequest{}
	response, err := client.ListSmartLiveJobs(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

成功。

400

请求传参异常,包含错误码及对应描述。

401

未鉴权或鉴权失败。

500

内部服务错误。

错误码

请参见错误码

相关文档