华为云用户手册

  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用 IAM 服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息,与路径参数中的项目ID相同。
  • 响应示例 状态码: 200 查询成功返回。 { "total" : 1, "room_info_list" : [ { "domain" : "603f71bdfa163e500aff1106c8xxxxxx.sparkrtc.myhuaweicloud.com", "app" : "603f71bdfa163e500aff1106c8xxxxxx", "room_id" : "ac146d0f2779916191716070xxxxxx", "state" : "RUNNING", "start_time" : "2021-04-23T09:55:30Z", "end_time" : "-" } ], "offset" : 0, "limit" : 2 } 状态码: 400 查询失败返回 { "error_code" : "DATA.100011001", "error_msg" : "Required String parameter 'app' is not present" }
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识 表5 响应Body参数 参数 参数类型 描述 total Integer 总数 limit Integer 查询结果限制 offset Integer 查询偏移量 room_info_list Array of RtcServerRoomInfo objects 房间列表信息 表6 RtcServerRoomInfo 参数 参数类型 描述 domain String 域名 app String 应用标识 room_id String 房间ID state String 房间状态,取值如下: RUNNING:开启中 CLOSED:已关闭 duration Integer 房间持续时长,单位:秒 start_time String 房间开始时间,即第一个用户加入房间时间,UTC时间,格式:YYYY-MM-DDThh:mm:ssZ,如2020-04-23T07:00:00Z end_time String 房间关闭时间,即最后一个room_uuid关闭的时间,UTC时间,格式:YYYY-MM-DDThh:mm:ssZ,如2020-04-23T07:00:00Z,若房间未关闭,则返回 “-” 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • URI GET /v1/{project_id}/rtc/rooms 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 app 是 String 应用标识 room_id 否 String 房间id state 否 String 房间状态,取值如下: RUNNING:开启中 CLOSED:已关闭 start_time 否 String 查询起始时间。UTC时间,格式:YYYY-MM-DDThh:mm:ssZ,如2020-04-23T06:00:00Z,不写默认读取过去1小时数据数据。 end_time 否 String 查询结束时间。UTC时间,格式:YYYY-MM-DDThh:mm:ssZ,如2020-04-23T07:00:00Z,不写默认为当前时间。 limit 否 Integer 查询结果条数 offset 否 Integer 查询偏移量
  • 响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表4 响应Body参数 参数 参数类型 描述 count Integer app的总数 apps Array of App objects app的列表 表5 App 参数 参数类型 描述 app_name String app名称 app_id String 应用id state AppState object app状态 scope String RTC覆盖范围。 取值如下: DOMESTIC:国内范围。 OVERSEA:海外范围。 GLOBAL:全球范围。 tenant_name String 账号名 domain String 域名,App对应域名 create_time String 创建时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC authentication AppAuth object 鉴权配置 callbacks AppCallbacks object 回调配置 auto_record_mode AppAutoRecordMode object 自动录制配置 表6 AppState 参数 参数类型 描述 state String 状态 ACTIVATION:开启 DEACTIVATION:停用 ARREARS:欠费 DELETED:已删除 update_time String app鉴权的更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC 表7 AppAuth 参数 参数类型 描述 enable Boolean 开启或关闭URL鉴权 expire Integer 接入RTC建链认证时的signature的有效期。单位:秒。默认300秒。signature由app_key生成 app_key String app鉴权秘钥 update_time String app鉴权的更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC 表8 AppCallbacks 参数 参数类型 描述 push_callback AppCallbackUrl object 转推回调 record_callback AppCallbackUrl object 录制回调 表9 AppCallbackUrl 参数 参数类型 描述 url String 回调通知url地址,url必须以http://或https://开头,需要支持POST调用。 auth_key String 回调秘钥,主要用于鉴权。如果不设置或者为空,则回调不会增加鉴权头域字段。 notify_event_subscription Array of strings 订阅云端录制通知消息。 取值如下: RECORD_NEW_FILE_START:开始创建新的录制文件。 RECORD_FILE_COMPLETE:录制文件生成完成。 update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC。 表10 AppAutoRecordMode 参数 参数类型 描述 mode String 录制模式。 AUTO_RECORD_OFF:关闭自动录制。 AUTO_INDIVIDUAL_RECORD:开启单流自动录制,此时record_rule_id必须非空。 record_rule_id String 录制规则id。 update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC。 状态码: 400 表11 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表12 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表13 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 查询应用列表 { "count" : 1, "apps" : [ { "app_name" : "example", "app_id" : "123456789abcdefghijklmno", "state" : { "state" : "ACTIVATION", "update_time" : "2020-07-26T07:03:05.075Z" }, "scope" : "DOMESTIC", "tenant_name" : "hwstaff_pub_videortc", "domain" : "123456789abcdefghijklmno.rtc.huawei.com", "create_time" : "2020-07-26T07:03:05.075Z", "authentication" : { "enable" : true, "expire" : 300, "app_key" : "12345ABCDEF12345", "update_time" : "2020-07-26T07:03:05.075Z" }, "callbacks" : { "push_callback" : { "url" : "", "auth_key" : "", "update_time" : "" }, "record_callback" : { "url" : "http://mydomain.com", "auth_key" : "78912374ae8cdb38", "update_time" : "2020-07-26T07:53:05.075Z" } }, "auto_record_mode" : { "mode" : "AUTO_RECORD_OFF", "update_time" : "2020-07-26T07:53:05.075Z" } } ] } 状态码: 400 语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 查询出错,服务器端错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
  • URI GET /v2/apps 表1 Query参数 参数 是否必选 参数类型 描述 state 否 String 应用的状态: ACTIVATION:应用开启 DEACTIVATION:应用停用 ARREARS:应用欠费 offset 否 Integer 查询结果起始编号,此处代表分页的页码,默认为0。 limit 否 Integer 查询结果集数量,此处代表每一页的条数,最小为1,最大为100。默认为100。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型。 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。
  • 操作步骤 获取用户Token,用于调用SparkRTC接口时进行认证鉴权。 在“我的凭证”页面获取username、password、domainname,调用如下接口 获取Token 。详细信息请参见构造请求。 POST https://iam.myhuaweicloud.com/v3/auth/tokens Content-Type: application/json { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", //用户名。 "password": "password", //用户登录密码。 "domain": { "name": "domainname" //用户所属的账号名。 } } } }, "scope": { "domain": { "name": "domainname" //用户所属的账号名。 } } } } 如图1所示,红框中的信息为获取用户Token。 图1 获取用户Token 调用创建应用接口创建SparkRTC应用。 选择POST请求方法并输入URI。 https://rtc-api.myhuaweicloud.com/v2/apps 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。 Request Body中传入如下参数: { "app_name" : "rtctest" } 请求响应成功后,返回已创建应用的ID。 { "app_id": "5ff9701f2346968bb306cb43", } 调用创建或更新录制规则接口,创建录制规则。 选择POST请求方法并输入URI。 https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-rules 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。 Request Body中传入如下参数: { "obs_addr": { "bucket": "obsName", "location": "cn-north-4", "object": "Record/", "project_id": "01234567890123456789012345678901" }, "record_formats": ["MP4"], "mp4_config": {} } 请求响应成功后,返回已创建的录制规则。 { "app_id": "5ff9701f2346968bb306cb43", "rule_id": "5d0ec2c53a2c15625017adb8bbbcd9ab", "create_time": "2021-04-21T10:29:33Z", "hls_config": { "record_cycle": 0, "record_max_duration_to_merge_file": 0 }, "mp4_config": { "record_cycle": 7200, "record_max_duration_to_merge_file": 0, "record_prefix": "Record/{publish_domain}/{app}/{record_type}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time}" }, "obs_addr": { "bucket": "obsName", "location": "cn-north-4", "object": "Record/", "project_id": "01234567890123456789012345678901" }, "record_formats": [ "MP4" ], "update_time": "2021-04-21T10:29:33Z" } 调用RTC增值(录制)事件回调配置接口,配置录制回调。 选择PUT请求方法并输入URI。 https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-callback 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。 Request Body中传入如下参数: { "url": "http://mydomain.com/callback", "auth_key": "8923ab8c2dcef4538923ab8c2dcef453" } 请求响应成功后,返回已创建的回调信息。 { "app_id": "5ff9701f2346968bb306cb43", "record_callback": { "auth_key": "8923ab8c2dcef4538923ab8c2dcef453", "update_time": "2021-04-07T12:05:18.0718Z", "url": "http://mydomain.com/callback", "notify_event_subscription": [ "RECORD_NEW_FILE_START", "RECORD_FILE_COMPLETE", "CLOUD_RECORD_OVER" ] } } 终端用户通过SparkRTC APP加入某个SparkRTC房间,SparkRTC APP的集成开发请参见客户端SDK。 调用启动单流任务接口,创建录制任务。 选择POST请求方法并输入URI。 https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/individual-stream-jobs 请求消息头中增加“X-Auth-Token”,值设置为步骤1中获取的用户Token。 Request Body中传入如下参数: { "room_id": "room001", "user_id": "user001", "is_record_audio": true, "video_type": "CAMERASTREAM", "resolution": "1280*720", "resolution_policy": "DOWNWARD", "max_idle_time": 30, "record_param": { "record_rule_id": "5d0ec2c53a2c15625017adb8bbbcd9ab" } } 请求响应成功后,返回录制任务信息。 { "app_id": "5ff9701f2346968bb306cb43", "create_time": "2021-04-21T10:51:55Z", "is_record_audio": true, "job_id": "607f87cf00d861eeefffa6c88054cdab", "job_unique_id": "a77bb33dbdc948d8", "max_idle_time": 30, "push_param": { "rtmp_urls": null }, "record_files": null, "record_param": { "record_rule_id": "5d0ec2c53a2c15625017adb8bbbcd9ab" }, "resolution_policy": "DOWNWARD", "resolution": "1280*720", "room_id": "room001", "start_time": "2021-04-21T10:51:55Z", "state": "INIT", "stop_time": "0001-01-01T00:00:00Z", "stream_name": "s_607f87cf00d861eeefffa6c88054cdab_room001_user001", "update_time": "2021-04-21T10:51:55Z", "user_id": "user001", "video_type": "CAMERASTREAM" } SparkRTC房间结束音视频互动后,您可以在配置的OBS桶中获取录制文件。
  • 响应示例 状态码: 200 app详细信息 { "app_id" : "123456789abcdefghijklmno", "record_callback" : { "url" : "http://mydomain.com", "auth_key" : "78912374ae8cdb38", "notify_event_subscription" : [ "RECORD_NEW_FILE_START", "RECORD_FILE_COMPLETE" ], "update_time" : "2020-07-26T07:53:05.075Z" } } 状态码: 400 语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 404 app编号不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 查询失败,服务器端错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型。 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。
  • 响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表4 响应Body参数 参数 参数类型 描述 app_id String 应用id record_callback AppCallbackUrl object 回调信息 表5 AppCallbackUrl 参数 参数类型 描述 url String 回调通知url地址,url必须以http://或https://开头,需要支持POST调用。 auth_key String 回调秘钥,主要用于鉴权。如果不设置或者为空,则回调不会增加鉴权头域字段。 notify_event_subscription Array of strings 订阅云端录制通知消息。 取值如下: RECORD_NEW_FILE_START:开始创建新的录制文件。 RECORD_FILE_COMPLETE:录制文件生成完成。 update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC。 状态码: 400 表6 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 修改成功 { "job_id" : "607824b4fa163e19fe301cc817dda855", "stream_name" : "m_607824b4fa163e19fe301cc817dda855_gigu", "app_id" : "123456789abcdefghijklmno", "room_id" : "gigu", "mix_param" : { "room_id" : "gigu", "encode_template" : "1920x1080_30_4620", "max_idle_time" : 0, "layout_template" : "nine_grids_view" }, "record_param" : { "record_rule_id" : "5f5e172b9016ed5b0961a43" }, "create_time" : "2021-04-16T16:22:44Z", "update_time" : "2021-04-16T16:22:44Z", "state" : "INIT", "start_time" : "2021-04-16T16:22:44Z", "stop_time" : "0001-01-01T00:00:00Z" } 状态码: 400 修改失败,语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 404 修改失败,应用不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 修改失败,服务器错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
  • 响应参数 状态码: 200 表7 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表8 响应Body参数 参数 参数类型 描述 job_id String 任务编号,可以用于修改、查看和停止合流任务 stream_name String 流名 app_id String 应用id room_id String 房间id mix_param MixParam object 合流参数 record_param RecordParam object 录制参数 create_time String 任务创建的时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC update_time String 任务中的布局更新的时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC state String 任务状态。 INIT:任务正在初始化 RUNNING:任务正在运行 STOPPED:任务已停止 stop_reason String 任务结束原因 TENANT_STOP EXCEED_MAX_IDLE_TIME INTERNAL_ERROR description String 状态描述,对state字段的一些补充说明,可用于人工查阅。 start_time String 任务开始时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC stop_time String 任务结束时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC 表9 MixParam 参数 参数类型 描述 room_id String 房间id encode_template String 输出编码模板名称 1920*1080_30_4620:输出流是1080p,帧率30,码率4.62Mbps 1920*1080_30_3150:输出流是1080p,帧率30,码率3.15Mbps 1920*1080_15_3460:输出流是1080p,帧率15,码率3.46Mbps 1920*1080_15_2080:输出流是1080p,帧率15,码率2.08Mbps 1280*720_30_3420:输出流是720p,帧率30,码率3.42Mbps 1280*720_30_1710:输出流是720p,帧率30,码率1.71Mbps 1280*720_15_2260:输出流是720p,帧率15,码率2.26Mbps 1280*720_15_1130:输出流是720p,帧率15,码率1.13Mbps 640*480_30_1500:输出流是480p,帧率30,码率1.50Mbps 640*480_15_500:输出流是480p,帧率15,码率500Kbps 640*480_30_1000 输出流是480p,帧率30,码率1000Kbps 480*360_30_490:输出流是360p,帧率30,码率490Kbps 480*360_15_320:输出流是360p,帧率15,码率320Kbps max_idle_time Integer 最长空闲频道时间。 取值范围:[5,43200],默认值为30。 单位:秒。 如果频道内无连麦方的状态持续超过该时间,录制程序会自动退出。退出后,再次调用start请求,会产生新的录制任务。 连麦方指:joiner或者publisher的用户。 layout_template String 视频布局模板编号,不混视频的时候,不需要带。 nine_grids_view:九宫格模板(自适应模板) screen_share_left:主视图在左边的屏幕共享模板(自适应模板) screen_share_right:主视图在右边的屏幕共享模板(自适应模板) custom:自定义布局 default_user_background_image String 默认用户背景图地址,图片先上传obs,格式s3://bucket/object,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg。默认使用等比缩放裁剪,保证铺满。 screen_background_image String 共享屏幕的背景图地址,图片先上传obs,格式s3://bucket/object,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg。 在一大多小的布局场景下,无论大窗是显示非指定用户(屏幕共享人的桌面)还是指定用户的共享桌面,都通过该字段指定背景图。 background_image String 画布背景图地址,使用背景图功能需先上传图片到obs,填写此字段要求格式为s3://bucket/object,其中bucket和object指图片所在的桶和路径,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg。默认使用等比缩放裁剪,保证铺满。 layout_panes Array of MixLayoutPane objects 需要混流的视频列表。若不需要混流视频,则可不传递该参数。 nine_grids_view模板不需要填写本字段。 user_background_images Array of MixUserBackgroundImage objects 指定用户背景图,优先级大于default_user_background_image 表10 MixLayoutPane 参数 参数类型 描述 id Integer 窗口id,从1开始编号 user_id String 加入房间的用户id video_type String 标识视频流的类型,可选摄像头流或者屏幕分享流。 CAMERASTREAM:摄像头视频流 SCREENSTREAM:屏幕分享视频流 默认为CAMERASTREAM。 x Float 坐标x,归一化百分比,画布上该画面左上角的横坐标的相对值,范围是 [0.0,1.0]。从左到右布局,0.0在最左端,1.0在最右端,小数取值范围在float内,自定义布局场景下填写本字段。 y Float 坐标y,归一化百分比,画布上该画面左上角的纵坐标的相对值,范围是 [0.0,1.0]。从上到下布局,0.0在最上端,1.0在最下端,小数取值范围在float内,自定义布局场景下填写本字段。 width Float 窗格宽,归一化百分比,小数取值范围在float内,自定义布局场景下填写本字段。 height Float 窗格高,归一化百分比,小数取值范围在float内,自定义布局场景下填写本字段。 zorder Integer 叠放顺序,0为最底层,1层在0层之上,以此类推,最大支持25层,自定义布局场景下填写本字段。 crop_mode String 裁剪模式,自定义布局场景下填写本字段,支持两种模式: KEEP_RATIO_PADDING :保持比例留边。 KEEP_RATIO_CROP :保持比例裁剪。 filling_policy String 填充策略,仅限屏幕共享模板(包括screen_share_right、screen_share_left)场景下填写本字段,支持两种模式: FIXED_USER :固定用户填充。 SHARED_SCREEN :共享屏幕填充。 表11 MixUserBackgroundImage 参数 参数类型 描述 user_id String 需要设置背景图的用户ID image_uri String 需要设置背景图的地址,图片先上传obs,格式s3://bucket/object,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg 表12 RecordParam 参数 参数类型 描述 record_rule_id String 录制规则id。 状态码: 400 表13 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表14 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表15 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表16 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表17 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表18 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型。 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 mix_param 是 UpdateMixParam object 合流参数 表4 UpdateMixParam 参数 是否必选 参数类型 描述 layout_template 否 String 视频布局模板编号,仅支持自定义模板之间的更新。 background_image 否 String 画布背景图地址,图片先上传obs。默认使用等比缩放裁剪,保证铺满。格式s3://bucket/object,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg default_user_background_image 否 String 默认用户背景图地址,图片先上传obs,格式s3://bucket/object,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg。默认使用等比缩放裁剪,保证铺满。 screen_background_image 否 String 共享屏幕的背景图地址,图片先上传obs,格式s3://bucket/object,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg。 在一大多小的布局场景下,无论大窗是显示非指定用户(屏幕共享人的桌面)还是指定用户的共享桌面,都通过该字段指定背景图。 max_idle_time 否 Integer 最长空闲频道时间。 取值范围:[5,43200],默认值为30。 单位:秒。 如果频道内无连麦方的状态持续超过该时间,录制程序会自动退出。退出后,再次调用start请求,会产生新的录制任务。 连麦方指:joiner或者publisher的用户。 layout_panes 否 Array of MixLayoutPane objects 需要混流的视频列表。若不需要视频混流,则可不传递该参数。 user_background_images 否 Array of MixUserBackgroundImage objects 指定用户背景图,优先级大于default_user_background_image 表5 MixLayoutPane 参数 是否必选 参数类型 描述 id 否 Integer 窗口id,从1开始编号 user_id 否 String 加入房间的用户id video_type 否 String 标识视频流的类型,可选摄像头流或者屏幕分享流。 CAMERASTREAM:摄像头视频流 SCREENSTREAM:屏幕分享视频流 默认为CAMERASTREAM。 x 否 Float 坐标x,归一化百分比,画布上该画面左上角的横坐标的相对值,范围是 [0.0,1.0]。从左到右布局,0.0在最左端,1.0在最右端,小数取值范围在float内,自定义布局场景下填写本字段。 y 否 Float 坐标y,归一化百分比,画布上该画面左上角的纵坐标的相对值,范围是 [0.0,1.0]。从上到下布局,0.0在最上端,1.0在最下端,小数取值范围在float内,自定义布局场景下填写本字段。 width 否 Float 窗格宽,归一化百分比,小数取值范围在float内,自定义布局场景下填写本字段。 height 否 Float 窗格高,归一化百分比,小数取值范围在float内,自定义布局场景下填写本字段。 zorder 否 Integer 叠放顺序,0为最底层,1层在0层之上,以此类推,最大支持25层,自定义布局场景下填写本字段。 crop_mode 否 String 裁剪模式,自定义布局场景下填写本字段,支持两种模式: KEEP_RATIO_PADDING :保持比例留边。 KEEP_RATIO_CROP :保持比例裁剪。 filling_policy 否 String 填充策略,仅限屏幕共享模板(包括screen_share_right、screen_share_left)场景下填写本字段,支持两种模式: FIXED_USER :固定用户填充。 SHARED_SCREEN :共享屏幕填充。 表6 MixUserBackgroundImage 参数 是否必选 参数类型 描述 user_id 是 String 需要设置背景图的用户ID image_uri 是 String 需要设置背景图的地址,图片先上传obs,格式s3://bucket/object,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg
  • 响应示例 状态码: 201 创建成功,返回应用app_id { "app_id" : "60d539ba00d861ef0802742ce404400c" } 状态码: 400 语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 请求失败,服务器端错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型。 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。 表2 请求Body参数 参数 是否必选 参数类型 描述 app_name 是 String app名称,仅支持填入utf8格式内容
  • 响应参数 状态码: 201 表3 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表4 响应Body参数 参数 参数类型 描述 app_id String 应用id 状态码: 400 表5 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表7 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • URI GET /v2/rtc-ops/buckets/objects 表1 Query参数 参数 是否必选 参数类型 描述 bucket 是 String 要查询的桶名 prefix 否 String 对象名前缀,可以理解为文件夹路径 type 是 String 查询类型。取值如下: folders:查询目录 objects:查询对象 location 是 String 查询bucket所在的region: cn-north-4 cn-north-1 cn-north-5 cn-north-6 cn-south-1 cn-east-2
  • 响应示例 状态码: 200 查询OBS桶下对象成功 { "count" : 1, "objects" : [ { "file_name" : "test file" }, { "size" : 7254700 }, { "last_modified" : "20230815085859" } ] } 状态码: 401 请求失败,携带的X-Auth-Token错误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 404 查询失败,任务编号不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 查询失败,服务器端错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
  • 响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表4 响应Body参数 参数 参数类型 描述 count Integer 对象的总数 objects Array of ObsObject objects OBS文件 表5 ObsObject 参数 参数类型 描述 file_name String 对象名 size Integer 文件大小,单位KB last_modified String 上次修改时间,格式如:2020/07/16 15:11:55 GMT+08:00 状态码: 401 表6 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应参数 状态码: 204 表3 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 状态码: 400 表4 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表6 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表8 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 400 删除配置失败,语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 404 删除配置失败,配置不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 删除配置失败,服务器端错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 内容类型。 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息。
  • 响应示例 状态码: 200 查询成功返回。 { "total" : 1000, "limit" : 10, "offset" : 0, "users" : [ { "domain" : "603f71bdfa163e500aff1106c8bxxxxx.sparkrtc.myhuaweicloud.com", "app" : "603f71bdfa163e500aff1106c8xxxxx", "room_id" : "ac146d0f27799161917160702xxxxx", "uid" : "xxxxx", "session" : "0afa1af5a41a11eb802b7d4bc77xxxxx", "state" : "ONLINE", "nick_name" : "xxxxx", "ip" : "113.140.81.xx", "region" : "陕西", "isp" : "CTCC", "device_model" : "iphone", "platform" : "web-Mac10_15_4", "sdk" : "1.4.0", "join_time" : "2021-04-23T09:55:32Z", "leave_time" : "-" } ] } 状态码: 400 查询失败返回 { "error_code" : "DATA.100011001", "error_msg" : "Required String parameter 'app' is not present" }
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识 表5 响应Body参数 参数 参数类型 描述 total Integer 总数 limit Integer 查询结果限制 offset Integer 查询偏移量 users Array of RtcUser objects 用户列表 表6 RtcUser 参数 参数类型 描述 domain String 域名 app String 应用标识 room_id String 房间ID uid String 用户id session String 会话id state String 用户状态 FAIL: 加入失败 ONLINE:在线 OFFLINE:离开 nick_name String 用户昵称 ip String 用户接入IP region String 用户接入IP所在省份 isp String 用户接入IP所在运营商 device_model String 用户设备型号 platform String 用户设备平台 sdk String 用户sdk版本 join_time String 用户加入房间时间。格式为:YYYY-MM-DDThh:mm:ssZ leave_time String 用户离开房间时间。格式为:YYYY-MM-DDThh:mm:ssZ,若用户未离开,则返回 “-” 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户Token。使用Token鉴权方式时必选。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 Authorization 否 String 使用AK/SK方式认证时必选,携带的鉴权信息。 X-Sdk-Date 否 String 使用AK/SK方式认证时必选,请求的发生时间。 X-Project-Id 否 String 使用AK/SK方式认证时必选,携带项目ID信息,与路径参数中的项目ID相同。
  • URI GET /v1/{project_id}/rtc/users 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 app 是 String 应用id room_id 否 String 房间id uid 否 String 用户id nickname 否 String 用户昵称 region 否 Array 用户省份,支持省份名或缩写,如广东或者GD isp 否 Array 用户接入运营商 state 否 Array 用户状态,取值如下: FAIL:加入失败 ONLINE:在线 OFFLINE:离开 start_time 否 String 查询起始时间。UTC时间,格式:YYYY-MM-DDThh:mm:ssZ,如2020-04-23T06:00:00Z,不写默认读取过去1小时数据数据。 end_time 否 String 查询结束时间。UTC时间,格式:YYYY-MM-DDThh:mm:ssZ,如2020-04-23T06:00:00Z,不写默认为当前时间。 limit 否 Integer 查询结果限制 offset 否 Integer 查询偏移量 type 否 String 查询模式,取值如下: detail:会话级 summary:用户级(默认)
  • 响应示例 状态码: 200 app详细信息 { "app_id" : "123456789abcdefghijklmno", "auto_record_mode" : { "mode" : "AUTO_RECORD_OFF", "update_time" : "2020-07-26T07:53:05.075Z" } } 状态码: 400 语义有误,当前请求无法被服务器理解,或参数有误 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 404 app编号不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 查询失败,服务器端错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
  • 响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表4 响应Body参数 参数 参数类型 描述 app_id String 应用id auto_record_mode AppAutoRecordMode object 自动录制配置 表5 AppAutoRecordMode 参数 参数类型 描述 mode String 录制模式。 AUTO_RECORD_OFF:关闭自动录制。 AUTO_INDIVIDUAL_RECORD:开启单流自动录制,此时record_rule_id必须非空。 record_rule_id String 录制规则id。 update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC。 状态码: 400 表6 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表8 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表10 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表11 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
共100000条