华为云用户手册

  • 响应示例 状态码: 200 启用成功 { "app_id" : "123456789abcdefghijklmno", "state" : { "state" : "ACTIVATION", "update_time" : "2020-07-26T07:03:05.075Z" } } 状态码: 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 state AppState object 应用状态 表5 AppState 参数 参数类型 描述 state String 状态 ACTIVATION:开启 DEACTIVATION:停用 ARREARS:欠费 DELETED:已删除 update_time String app鉴权的更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC 状态码: 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 错误描述
  • 请求参数 表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信息。
  • 响应示例 状态码: 201 任务创建成功,返回job的概要信息 { "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 app编号不存在 { "error_code" : "RTC.00001003", "error_msg" : "InvalidParameterValue" } 状态码: 500 创建合流任务失败,服务器错误 { "error_code" : "RTC.00002xxx", "error_msg" : "InternalError" }
  • 响应参数 状态码: 201 表8 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表9 响应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 表10 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 表11 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 :共享屏幕填充。 表12 MixUserBackgroundImage 参数 参数类型 描述 user_id String 需要设置背景图的用户ID image_uri String 需要设置背景图的地址,图片先上传obs,格式s3://bucket/object,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg 表13 RecordParam 参数 参数类型 描述 record_rule_id String 录制规则id。 状态码: 400 表14 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表16 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表18 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表19 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 创建一个合流录制任务。房间号:room001,输出流:720p,帧率:15,码率:2.26Mbps,视频布局为九宫格,最长空闲频道时间:30秒,录制规则id:5f5e172b9016ed5b0961a43 POST https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/mix-stream-jobs { "mix_param" : { "room_id" : "room001", "encode_template" : "1280x720_15_2260", "max_idle_time" : 30, "layout_template" : "nine_grids_view" }, "record_param" : { "record_rule_id" : "5f5e172b9016ed5b0961a43" } } 创建一个合流录制任务,视频布局为屏幕共享模板,主视图在右边,主视图显示共享屏幕 POST https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/mix-stream-jobs { "mix_param" : { "room_id" : "room001", "encode_template" : "1280x720_15_2260", "max_idle_time" : 30, "layout_template" : "screen_share_right", "layout_panes" : [ { "id" : 1, "user_id" : "", "video_type" : "SCREENSTREAM", "filling_policy" : "SHARED_SCREEN" } ] }, "record_param" : { "record_rule_id" : "5f5e172b9016ed5b0961a43" } } 创建一个合流录制任务,视频布局为屏幕共享模板,主视图在右边,主视图显示摄像头 POST https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/mix-stream-jobs { "mix_param" : { "room_id" : "room001", "encode_template" : "1280x720_15_2260", "max_idle_time" : 30, "layout_template" : "screen_share_right", "layout_panes" : [ { "id" : 1, "user_id" : "user1", "video_type" : "CAMERASTREAM", "filling_policy" : "FIXED_USER" } ] }, "record_param" : { "record_rule_id" : "5f5e172b9016ed5b0961a43" } } 创建一个合流录制任务,视频布局为自定义布局 POST https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/mix-stream-jobs { "mix_param" : { "room_id" : "room001", "encode_template" : "1280x720_15_2260", "max_idle_time" : 30, "layout_template" : "custom", "layout_panes" : [ { "id" : 1, "user_id" : "user1", "video_type" : "CAMERASTREAM", "x" : 0, "y" : 0, "width" : 0.666, "height" : 0.333, "crop_mode" : "KEEP_RATIO_CROP" }, { "id" : 2, "user_id" : "user2", "video_type" : "CAMERASTREAM", "x" : 0.666, "y" : 0, "width" : 0.333, "height" : 0.666, "crop_mode" : "KEEP_RATIO_CROP" } ] }, "record_param" : { "record_rule_id" : "5f5e172b9016ed5b0961a43" } }
  • 请求参数 表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 是 MixParam object 合流参数 record_param 否 RecordParam object 录制参数 表4 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 表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 表7 RecordParam 参数 是否必选 参数类型 描述 record_rule_id 是 String 录制规则id。
  • 功能介绍 调用此接口创建合流转码任务。 支持纯音频录制和音视频录制: 纯音频录制 encode_template填audio_only,音频合流会动态选择最大三方的声音。 layout_template、layout_panes以及其他视频相关参数都不填,填就忽略。 音视频录制(包括共享桌面) encode_template非audio_only,layout_template、layout_panes必须非空。 音频合流会动态选择最大三方的声音。 API触发合流录制流名规则:{jobtype}_{jobid}_{roomid},其中jobtype取值为'm'代表合流录制。
  • 响应示例 状态码: 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" } 状态码: 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参数 参数 参数类型 描述 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 表5 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 表6 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 :共享屏幕填充。 表7 MixUserBackgroundImage 参数 参数类型 描述 user_id String 需要设置背景图的用户ID image_uri String 需要设置背景图的地址,图片先上传obs,格式s3://bucket/object,如:s3://rtc-bucket-cn-north-4/img/testImg.jpg 表8 RecordParam 参数 参数类型 描述 record_rule_id String 录制规则id。 状态码: 404 表9 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表11 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表12 响应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信息。
  • 响应示例 状态码: 200 查询成功返回。 { "quality" : [ { "date" : "2020-06-04", "join_success_rate" : 0.99 } ] } 状态码: 400 查询失败返回 { "error_code" : "DATA.100011001", "error_msg" : "Required String parameter 'app' is not present" }
  • URI GET /v1/{project_id}/rtc/history/quality 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 app 是 String 应用标识 metric 是 Array 查询的数据类型 JoinSuccessRate:加入房间成功率 JoinSuccess5SecsRate:5秒加入成功率 VideoFreezeRate:视频卡顿率 AudioFreezeRate:音频卡顿率 FirstVideoRecvTime:首帧视频接收耗时 FirstAudioRecvTime:首帧音频接收耗时 PullStreamSuccessRate:拉流成功率 PushStreamSuccessRate:推流成功率 VideoUpstreamExcellentTransRate:客户端视频上行优质传输率 AudioUpstreamExcellentTransRate:客户端音频上行优质传输率 VideoExcellentTransRate:端到端视频优质传输率 AudioExcellentTransRate:端到端音频优质传输率 VideoTransDelay:端到端视频网络时,单位为毫秒,取当天所有用户网络延迟的中位数 AudioTransDelay:端到端音频网络时延,单位为毫秒,取当天所有用户网络延迟的中位数 start_date 否 String 查询起始时间。UTC时间,格式:YYYY-MM-DD,如2020-04-23,不写默认读取过去1天数据数据。 end_date 否 String 查询结束时间。UTC时间,格式:YYYY-MM-DD,如2020-04-23
  • 请求参数 表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 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识 表5 响应Body参数 参数 参数类型 描述 quality Array of RtcHistoryQualityTimeValue objects 时间戳及相应时间的指标数值列表 表6 RtcHistoryQualityTimeValue 参数 参数类型 描述 date String 采样时间。日期格式按照ISO8601表示法,并使用UTC时间。格式为YYYY-MM-DD join_success_rate Double 加入房间成功率参数取值,取值为1代表成功率100% join_success_in5secs_rate Double 5s内加入房间成功率参数取值,取值为1代表成功率100% video_freeze_rate Double 视频卡顿率参数取值,取值为1代表卡顿率100% audio_freeze_rate Double 音频卡顿率参数取值,取值为1代表卡顿率100% first_video_recv_time Long 首帧视频接收耗时,单位毫秒 first_audio_recv_time Long 首帧音频接收耗时,单位毫秒 pull_stream_success_rate Double 拉流成功率参数取值,取值为1代表成功率100% push_stream_success_rate Double 推流成功率参数取值,取值为1代表成功率100% video_upstream_excellent_trans_rate Double 客户端视频上行优质传输率,取值为1代表传输率100% audio_upstream_excellent_trans_rate Double 客户端音频上行优质传输率,取值为1代表传输率100% video_excellent_trans_rate Double 端到端视频优质传输率,取值为1代表传输率100% audio_excellent_trans_rate Double 端到端音频优质传输率,取值为1代表传输率100% video_trans_delay Double 端到端视频网络时延,单位为毫秒,取当天所有用户网络延迟的中位数。 audio_trans_delay Double 端到端音频网络时延,单位为毫秒,取当天所有用户网络延迟的中位数。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识 表5 响应Body参数 参数 参数类型 描述 scale Array of RtcHistoryScaleTimeValue objects 时间戳及相应时间的指标数值列表 表6 RtcHistoryScaleTimeValue 参数 参数类型 描述 date String 采样时间。日期格式按照ISO8601表示法,并使用UTC时间。格式为YYYY-MM-DD user_count Long 通话人数,指总的uid个数 session_count Long 通话人次,指总的session个数 room_count Long 房间数 max_online_user_count Long 最大同时在线人数 max_online_room_count Long 最大同时在线房间数 communication_duration Long 音视频通话总时长,单位秒 video_communication_duration Long 视频通话总时长,单位秒 audio_communication_duration Long 音频通话总时长,单位秒 状态码: 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相同。
  • 响应示例 状态码: 200 查询成功返回。 { "scale" : [ { "date" : "2020-06-04", "user_count" : 1, "session_count" : 1, "room_count" : 3, "max_online_user_count" : 5, "max_online_room_count" : 4, "communication_duration" : 123, "video_communication_duration" : 234, "audio_communication_duration" : 132 } ] } 状态码: 400 查询失败返回 { "error_code" : "DATA.100011001", "error_msg" : "Required String parameter 'app' is not present" }
  • URI GET /v1/{project_id}/rtc/history/scale 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 app 是 String 应用标识 metric 是 Array 查询的数据类型 UserCount:通话人数,不同频道中的相同用户ID计为多人 SessionCount:通话人次,用户每次加入频道计为一个通话人次 RoomCount:房间数,从有用户加入房间到所有用户离开房间计为一个通话房间 MaxOnlineUserCount:最大同时在线人数 MaxOnlineRoomCount:最大同时在线房间数 CommunicationDuration:音视频通话总时长 VideoCommunicationDuration:视频通话总时长 AudioCommunicationDuration:音频通话总时长 start_date 否 String 查询起始时间。UTC时间,格式:YYYY-MM-DD,如2020-04-23,不写默认读取过去1天数据。 end_date 否 String 查询结束时间。UTC时间,格式:YYYY-MM-DD,如2020-04-23。
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识 表5 响应Body参数 参数 参数类型 描述 dimensions Array of RealtimeScaleDimensionValue objects 维度分布信息 表6 RealtimeScaleDimensionValue 参数 参数类型 描述 dimension String 维度值,如查询维度为region,则此处取值可能为GD online_users Long 在线观众数 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • 响应示例 状态码: 200 查询成功返回。 { "dimensions" : [ { "dimension" : "GD", "online_users" : 10 } ] } 状态码: 400 查询失败返回 { "error_code" : "DATA.100011001", "error_msg" : "Required String parameter 'app' is not present" }
  • URI GET /v1/{project_id}/rtc/realtime/scale/dimension 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 app 是 String 应用标识 room_id 否 String 房间ID metric 是 String 查询的数据类型 OnlineUsers:在线用户数 dimension 是 String 维度类型: region:省份 access_net:网络类型 platform:系统平台 sdk:SDK版本 time 是 String 查询时刻。UTC时间,格式:YYYY-MM-DDThh:mm:ssZ
  • 请求参数 表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 表7 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表8 响应Body参数 参数 参数类型 描述 rule_id String 规则id,由服务端返回。创建或修改规则的时候不携带 app_id String 应用id obs_addr RecordObsFileAddr object 保存录制文件所在的桶信息 record_formats Array of strings 录制格式:HLS格式或者MP4格式 hls_config HLSRecordConfig object hls格式录制规则管理 mp4_config MP4RecordConfig object mp4格式录制规则管理 create_time String 创建时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC update_time String 更新时间,形如“2006-01-02T15:04:05.075Z”,时区为:UTC 表9 RecordObsFileAddr 参数 参数类型 描述 location String OBS Bucket所在RegionID cn-north-4 project_id String OBS Bucket所在Region的项目ID bucket String OBS的bucket名称 object String OBS对象路径,遵守OBS Object定义。如果为空则保存到根目录 表10 HLSRecordConfig 参数 参数类型 描述 record_cycle Integer 周期录制时长。 取值范围:[60,43200]或者0,如果为0则整个流录制为一个文件。 单位:秒。 record_prefix String 录制m3u8文件含路径和文件名的前缀 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_slice_duration Integer 录制HLS时ts的切片时长,非必填。 取值范围:[2,60],缺省为10。 单位:秒。 record_max_duration_to_merge_file Integer 录制HLS文件拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[-1,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。 如果为-1则表示流中断恢复后追加到原来的文件中(相隔不超过30天)。 表11 MP4RecordConfig 参数 参数类型 描述 record_cycle Integer 周期录制时长。 取值范围:[60,10800]。 单位:秒。 record_prefix String 录制文件含路径和文件名的前缀。 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_max_duration_to_merge_file Integer 录制MP4拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[0,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。 状态码: 400 表12 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表13 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表14 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表15 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表16 响应Header参数 参数 参数类型 描述 X-request-Id String 此字段携带请求ID号,以便任务跟踪。 表17 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 更新指定应用id和规则id的录制规则,区域为北京四,obs桶名为obsName,录制格式为MP4,录制周期为60秒 PUT https://rtc-api.myhuaweicloud.com/v2/apps/{app_id}/record-rules/{rule_id} { "obs_addr" : { "bucket" : "obsName", "location" : "cn-north-4", "object" : "Record/", "project_id" : "ad7456ce8ef89adf567" }, "record_formats" : [ "MP4" ], "mp4_config" : { "record_cycle" : 60, "record_max_duration_to_merge_file" : 0 } }
  • 响应示例 状态码: 200 配置成功 { "app_id" : "123456abc", "rule_id" : "456789abc", "create_time" : "2006-01-02T15:04:05.075Z", "obs_addr" : { "bucket" : "obsName", "location" : "cn-north-4", "object" : "Record/", "project_id" : "ad7456ce8ef89adf567" }, "record_formats" : [ "MP4" ], "mp4_config" : { "record_cycle" : 60, "record_max_duration_to_merge_file" : 0 }, "update_time" : "2006-01-02T15:04:05.075Z" } 状态码: 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信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 obs_addr 是 RecordObsFileAddr object 保存录制文件所在的桶信息 record_formats 是 Array of strings 录制格式:支持HLS格式和MP4格式(HLS和MP4为大写)。 若配置HLS则必须携带HLSRecordConfig参数 若配置MP4则需要携带MP4RecordConfig hls_config 否 HLSRecordConfig object HLS格式录制规则管理 mp4_config 否 MP4RecordConfig object MP4格式录制规则管理 表4 RecordObsFileAddr 参数 是否必选 参数类型 描述 location 是 String OBS Bucket所在RegionID cn-north-4 project_id 是 String OBS Bucket所在Region的项目ID bucket 是 String OBS的bucket名称 object 否 String OBS对象路径,遵守OBS Object定义。如果为空则保存到根目录 表5 HLSRecordConfig 参数 是否必选 参数类型 描述 record_cycle 是 Integer 周期录制时长。 取值范围:[60,43200]或者0,如果为0则整个流录制为一个文件。 单位:秒。 record_prefix 否 String 录制m3u8文件含路径和文件名的前缀 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_slice_duration 否 Integer 录制HLS时ts的切片时长,非必填。 取值范围:[2,60],缺省为10。 单位:秒。 record_max_duration_to_merge_file 否 Integer 录制HLS文件拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[-1,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。 如果为-1则表示流中断恢复后追加到原来的文件中(相隔不超过30天)。 表6 MP4RecordConfig 参数 是否必选 参数类型 描述 record_cycle 是 Integer 周期录制时长。 取值范围:[60,10800]。 单位:秒。 record_prefix 否 String 录制文件含路径和文件名的前缀。 默认{app_id}/{record_format}/{stream}_{file_start_time}/{stream}_{file_start_time} 可自定义以下特殊变量: {app_id}:应用id {record_format}:录制格式 {stream}:流名 {file_start_time}:文件生成时间 record_max_duration_to_merge_file 否 Integer 录制MP4拼接时长,如果流中断超过该时间,则生成新文件。 取值范围:[0,300],缺省为0。 单位:秒。 如果为0表示流中断就生成新文件。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 详细的公共请求消息头字段请参见表3。 表3 公共请求消息头 名称 描述 是否必选 示例 Host 请求的服务器信息,从服务API的URL中获取。值为hostname[:port]。端口缺省时使用默认的端口,https的默认端口为443。 否 使用AK/SK认证时该字段必选。 code.test.com or code.test.com:443 Content-Type 消息体的类型(格式)。推荐用户使用默认值application/json,有其他取值时会在具体接口中专门说明。 是 application/json Content-Length 请求body长度,单位为Byte。 否 3495 X-Project-Id project id,项目编号。请参考获取项目ID章节获取项目编号。 否 如果是专属云场景采用AK/SK认证方式的接口请求,或者多project场景采用AK/SK认证的接口请求,则该字段必选。 e9993fc787d94b6c886cbaa340f9c0f4 X-Auth-Token 用户Token。 用户Token也就是调用获取用户Token接口的响应值,该接口是唯一不需要认证的接口。 请求响应成功后在响应消息头(Headers)中包含的“X-Subject-Token”的值即为Token值。 否 使用Token认证时该字段必选。 注:以下仅为Token示例片段。 MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ API同时支持使用AK/SK认证,AK/SK认证使用SDK对请求进行签名,签名过程会自动往请求中添加Authorization(签名认证信息)和X-Sdk-Date(请求发送的时间)请求头。 AK/SK认证的详细说明请参见认证鉴权的“AK/SK认证”。 对于管理员创建IAM用户接口,使用AK/SK方式认证时,添加消息头后的请求如下所示。 1 2 3 4 POST https://iam.cn-north-1.myhuaweicloud.com/v3.0/OS-USER/users Content-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=****************
  • 请求消息体(可选) 该部分可选。请求消息体通常以结构化格式(如JSON或XML)发出,与请求消息头中Content-Type对应,传递除请求消息头之外的内容。若请求消息体中的参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于管理员创建IAM用户接口,您可以从接口的请求部分看到所需的请求参数及参数说明,将消息体加入后的请求如下所示,其中加粗的字段需要根据实际值填写。 accountid为IAM用户所属的账号ID。 username为要创建的IAM用户名。 email为IAM用户的邮箱。 **********为IAM用户的登录密码。 POST https://iam.cn-north-4.myhuaweicloud.com/v3.0/OS-USER/users Content-Type: application/json X-Sdk-Date: 20240416T095341Z Authorization: SDK-HMAC-SHA256 Access=****************, SignedHeaders=content-type;host;x-sdk-date, Signature=**************** { "user": { "domain_id": "accountid", "name": "username", "password": "**********", "email": "email", "description": "IAM User Description" } } 到这里为止这个请求需要的内容就具备齐全了,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。对于获取用户Token接口,返回的响应消息头中的“X-Subject-Token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务您正在请求什么类型的操作。 表2 HTTP方法 方法 说明 GET 请求服务器返回指定资源。 PUT 请求服务器更新指定资源。 POST 请求服务器新增资源或执行特殊操作。 DELETE 请求服务器删除指定资源,如删除对象等。 HEAD 请求服务器资源头部。 PATCH 请求服务器更新资源的部分内容。 当资源不存在的时候,PATCH可能会去创建一个新的资源。 在管理员创建IAM用户的URI部分,您可以看到其请求方法为“POST”,则其请求为: 1 POST https://iam.cn-north-1.myhuaweicloud.com/v3.0/OS-USER/users
共100000条