华为云用户手册

  • 请求参数 表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信息。
  • 请求参数 表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信息。
  • 请求示例 POST https://{endpoint}/v1/{project_id}/stream/snapshot{ "domain" : "play.example.huawei.com", "app_name" : "live", "time_interval" : 5, "object_write_mode" : 1, "obs_location" : { "bucket" : "cls-test", "location" : "region1", "object" : "/ffff/aa/" }}
  • 请求参数 表2 请求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信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 domain 是 String 直播推流域名 app_name 是 String 应用名称 auth_key 否 String 回调鉴权密钥值 长度范围:[32-128] 若需要使用回调鉴权功能,请配置鉴权密钥,否则,留空即可。 time_interval 是 Integer 截图频率 取值范围:[5-3600] 单位:秒 object_write_mode 是 Integer 在OBS桶存储截图的方式: 0:实时截图,以时间戳命名截图文件,保存所有截图文件到OBS桶。例:snapshot/{domain}/{app_name}/{stream_name}/{UnixTimestamp}.jpg 1:覆盖截图,只保存最新的截图文件,新的截图会覆盖原来的截图文件。例:snapshot/{domain}/{app_name}/{stream_name}.jpg obs_location 是 ObsFileAddr object OBS存储位置信息 call_back_enable 否 String 是否启用回调通知 on:启用。 off:不启用。 call_back_url 否 String 通知服务器地址,必须是合法的URL且携带协议,协议支持http和https。截图完成后直播服务会向此地址推送截图状态信息。 表4 ObsFileAddr 参数 是否必选 参数类型 描述 bucket 是 String OBS的bucket名称 location 是 String OBS Bucket所在的区域,且必须保持与使用的直播服务区域保持一致。 object 是 String OBS对象路径,遵守OSS Object定义 当用于指示input时,需要指定到具体对象 当用于指示output时,只需指定到转码结果期望存放的路径
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 否 String 用户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参数 参数 是否必选 参数类型 描述 publish_domain 是 String 推流域名 app 是 String 应用名 stream 是 String 流名 start_time 是 String 开始时间。格式为:YYYY-MM-DDTHH:mm:ssZ(UTC时间),开始时间与结束时间的间隔最大为12小时。 end_time 是 String 结束时间。格式为:YYYY-MM-DDTHH:mm:ssZ(UTC时间),开始时间与结束时间的间隔最大为12小时。结束时间不允许大于当前时间。 object 否 String m3u8文件在OBS中的储存路径。支持下列字符串的转义 - {publish_domain} - {app} - {stream} - {start_time} - {end_time} - {start_time_unix} - {end_time_unix}其中{start_time},{end_time},{start_time_unix},{end_time_unix}为返回结果的实际时间。 默认值为Index/{publish_domain}/{app}/{stream}/{stream}-{start_time}-{end_time}
  • 请求示例 POST https://{endpoint}/v1/{project_id}/record/indexes{ "publish_domain" : "push.example.com", "app" : "live", "stream" : "index", "start_time" : "2022-07-25T16:20:00+08:00", "end_time" : "2022-07-25T16:30:00+08:00", "object" : "Index/{publish_domain}/{app}/{stream}/{stream}-{start_time}-{end_time}"}
  • 响应示例 状态码: 201 创建录制视频索引操作成功 { "index_url" : "http://obs***.com/push.test.com/live/stream01-20220901000000-20220901001000.m3u8", "duration" : 600, "height" : 1080, "width" : 720, "publish_domain" : "push.test.com", "app" : "live", "stream" : "stream01", "start_time" : "2022-09-01T00:00:00Z", "end_time" : "2022-09-01T00:10:00Z", "bucket" : "obs_bucket_name", "location" : "cn-north-5", "object" : "push.test.com/live/stream01-20220901000000-20220901001000.m3u8"} 状态码: 400 创建录制视频索引操作失败 { "error_code" : "LIVE.100011001", "error_msg" : "参数校验失败"}
  • 响应参数 状态码: 201 表4 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。 格式为 request_id-timestamp-hostname(request_id在服务器端生成UUID, timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表5 响应Body参数 参数 参数类型 描述 index_url String 索引文件地址 publish_domain String 直播推流域名 app String 应用名 stream String 录制的流名 start_time String 开始时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。(实际视频的开始时间) end_time String 结束时间。格式为:yyyy-MM-ddTHH:mm:ssZ(UTC时间)。(实际视频的结束时间) duration Integer 录制时长。 单位:秒。 width Integer 视频宽 height Integer 视频高 location String OBS Bucket所在RegionID bucket String 桶名称 object String m3u8文件路径。默认Index/{publish_domain}/{app}/{stream}-{start_time}-{end_time} 状态码: 400 表6 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。 格式为 request_id-timestamp-hostname(request_id在服务器端生成UUID, timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 201 直播域名创建成功 { "domain" : "play.example.huawei.com", "domain_type" : "pull", "domain_cname" : "play.example.huawei.com.c.cdnhwc3.com", "region" : "region1", "status" : "configuring", "create_time" : "2020-01-19T02:57:00Z"} 状态码: 400 参数错误 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal"}
  • 请求参数 表2 请求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信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 domain 是 String 直播域名 domain_type 是 String 域名类型 pull:播放域名 push:推流域名 region 是 String 直播所属的直播中心 service_area 否 String 域名加速区域 mainland_china:中国大陆 outside_mainland_china:中国大陆境外 global:全球加速 enterprise_project_id 否 String 企业项目ID
  • 响应参数 状态码: 201 表4 响应Body参数 参数 参数类型 描述 domain String 直播域名 domain_type String 域名类型 pull:播放域名 push:推流域名 domain_cname String 直播域名的CNAME region String 直播所属直播中心 status String 直播域名的状态 create_time String 域名创建时间,格式:yyyy-mm-ddThh:mm:ssZ,UTC时间 status_describe String 状态描述 service_area String 域名加速区域 mainland_china:中国大陆 outside_mainland_china:中国大陆境外 global:全球加速 enterprise_project_id String 企业项目ID 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应参数 状态码: 201 表4 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表5 响应Body参数 参数 参数类型 描述 id String 配置规则ID,在创建配置规则成功后服务端返回 publish_domain String 直播推流域名 app String app名称。如果需要匹配任意应用则需填写*。录制规则匹配的时候,优先精确app匹配,如果匹配不到,则匹配* notify_callback_url String 录制回调通知url地址 notify_event_subscription Array of strings 订阅录制通知消息。消息类型。RECORD_NEW_FILE_START开始创建新的录制文件。RECORD_FILE_COMPLETE录制文件生成完成。RECORD_OVER录制结束。RECORD_FAILED表示录制失败。如果不填写,默认订阅RECORD_FILE_COMPLETE sign_type String 加密类型,包含如下取值 HMACSHA256 MD5 create_time String 创建时间,格式:yyyy-mm-ddThh:mm:ssZ,UTC时间。 在查询的时候返回 update_time String 修改时间,格式:yyyy-mm-ddThh:mm:ssZ,UTC时间。 在查询的时候返回 状态码: 400 表6 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 POST https://{endpoint}/v1/{project_id}/record/callbacks{ "publish_domain" : "publish.xxx.com", "app" : "**", "notify_callback_url" : "https://mycallback.com.cn/record_notify", "notify_event_subscription" : [ "RECORD_FILE_COMPLETE" ]}
  • 请求参数 表2 请求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信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 publish_domain 是 String 直播推流域名 app 是 String app名称。如果需要匹配任意应用则需填写*。录制规则匹配的时候,优先精确app匹配,如果匹配不到,则匹配* notify_callback_url 否 String 录制回调通知url地址 notify_event_subscription 否 Array of strings 订阅录制通知消息。消息类型。RECORD_NEW_FILE_START开始创建新的录制文件。RECORD_FILE_COMPLETE录制文件生成完成。RECORD_OVER录制结束。RECORD_FAILED表示录制失败。如果不填写,默认订阅RECORD_FILE_COMPLETE sign_type 否 String 加密类型,包含如下取值 HMACSHA256 MD5 不填写时,取默认值HMACSHA256 key 否 String 回调秘钥,主要用于鉴权。为了保护用户数据信息安全,建议填写。
  • 请求参数 表2 请求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信息。 表3 请求Body参数 参数 是否必选 参数类型 描述 pull_domain 是 String 直播播放域名 push_domain 是 String 直播播放域名关联的推流域名
  • 响应示例 状态码: 200 直播域名映射成功 { "pull_domain" : "play.example.huawei.com", "push_domain" : "publish.example.huawei.com"} 状态码: 404 直播域名映射失败 { "error_code" : "LIVE.103011019", "error_msg" : "Request Illegal"}
  • 响应示例 状态码: 200 查询成功 { "cdn_ips" : [ { "ip" : "192.168.1.1", "region" : "Sichuan", "platform" : null, "isp" : "Dianxin", "belongs" : true }, { "ip" : "192.168.1.2", "region" : "Unknown", "platform" : null, "isp" : null, "belongs" : false } ]} 状态码: 400 参数错误 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal"} 状态码: 500 服务内部错误 { "error_code" : "LIVE.100011005", "error_msg" : "Server internal error, please try again later or contact customer service staff to help solve"}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 cdn_ips Array of CdnIp objects IP归属信息列表。 表5 CdnIp 参数 参数类型 描述 ip String 需查询的IP地址。 belongs Boolean 是否是华为云CDN节点。 true:是华为云CDN节点 false:不是华为云CDN节点 region String IP归属地省份。Unknown:表示未知归属地 isp String 运营商名称。如果IP归属地未知,该字段返回null。 platform String 平台名称。如果平台名称未知,该字段返回null。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 格式1:多个IP地址参数使用"&"拼接 GET https://{endpoint}/v1/{project_id}/cdn/ip-info?ip=192.168.1.1&ip=192.168.1.2 格式2:IP地址列表以“,”分割 GET https://{endpoint}/v1/{project_id}/cdn/ip-info?ip=192.168.1.1,192.168.1.2
  • 请求参数 表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信息。
  • 请求参数 表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信息。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 查询结果的总元素数量 domain String 播放域名 templates Array of AppQualityInfo objects 转码模板 表5 AppQualityInfo 参数 参数类型 描述 app_name String 应用名称 quality_info Array of QualityInfo objects 视频质量信息 表6 QualityInfo 参数 参数类型 描述 quality String 包含如下取值: lud: 超高清,系统缺省名称; lhd: 高清,系统缺省名称; lsd: 标清,系统缺省名称; lld: 流畅,系统缺省名称; userdefine: 视频质量自定义。填写userdefine时,templateName字段不能为空。 templateName String 自定义模板名称。 仅在quality参数为userdefine时必填;quality参数不为userdefine时,templateName字段无效; 多个自定义模板名称之间不能重复; 自定义模板名称不能与其他模板的quality参数重复。 PVC String 是否使用窄带高清转码,模板组里不同模板的PVC选项必须相同。 on:启用。 off:不启用。 默认为off hdlb String 是否启用高清低码,较PVC相比画质增强。 on:启用。 off:不启用。 默认为off。 codec String 视频编码格式,模板组里不同模板的编码格式必须相同。 H264:使用H.264。 H265:使用H.265。 默认为H264。 width Integer 视频宽度(单位:像素) H264 取值范围:32-3840,必须为2的倍数 。 H265 取值范围:320-3840 ,必须为4的倍数。 height Integer 视频高度(单位:像素) H264 取值范围:32-2160,必须为2的倍数。 H265 取值范围:240-2160,必须为4的倍数。 bitrate Integer 转码视频的码率(单位:Kbps)。 取值范围:40-30000。 video_frame_rate Integer 转码视频帧率(单位:fps)。 取值范围:0-60,0表示保持帧率不变。 protocol String 转码输出支持的协议类型。当前只支持RTMP和HLS,且模板组里不同模板的输出协议类型必须相同。 RTMP HLS DASH 默认为RTMP。 iFrameInterval Integer I帧间隔(单位:帧)。 取值范围:0-500。 默认为25。 gop Integer 按时间设置I帧间隔,与“iFrameInterval”选择一个设置即可。 取值范围:[0,10] 默认值:4 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 直播转码模板查询成功 { "domain" : "play.example.huawei.com", "total" : 1, "templates" : [ { "app_name" : "live", "quality_info" : [ { "PVC" : "off", "bitrate" : 4500, "codec" : "H264", "height" : 1080, "protocol" : "HLS", "quality" : "SD", "video_frame_rate" : 20, "width" : 1920 }, { "PVC" : "off", "bitrate" : 4500, "codec" : "H264", "height" : 1080, "protocol" : "HLS", "quality" : "HD", "video_frame_rate" : 20, "width" : 1920 } ] } ]} 状态码: 400 直播转码模板查询失败 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal"}
  • URI GET /v1/{project_id}/template/transcodings 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 domain 是 String 推流域名 app_name 否 String 应用名称 page 否 Integer 分页编号,默认为0。 size 否 Integer 每页记录数。 取值范围:1-100。 默认为10。
  • 流监控接口 表12 流监控接口 接口 说明 GET /v2/{project_id}/stats/stream/framerate 查询推流帧率数据 GET /v2/{project_id}/stats/stream/bitrate 查询推流码率数据 GET /v2/{project_id}/stats/stream-detail 查询流监控数据 GET /v2/{project_id}/stats/up-stream/detail 查询CDN上行推流质量数据
  • 录制管理接口 表7 录制管理接口 接口 说明 POST /v1/{project_id}/record/rules 创建录制规则 GET /v1/{project_id}/record/rules 查询录制规则列表 PUT /v1/{project_id}/record/rules/{id} 修改录制规则 DELETE /v1/{project_id}/record/rules/{id} 删除录制规则 GET /v1/{project_id}/record/rules/{id} 查询录制规则配置 POST /v1/{project_id}/record/control 提交录制控制命令 POST /v1/{project_id}/record/indexes 创建录制视频索引文件
  • 数据统计分析接口 表11 数据统计分析接口 接口 说明 GET /v2/{project_id}/stats/bandwidth/detail 查询播放带宽趋势 GET /v2/{project_id}/stats/traffic/detail 查询播放流量趋势 GET /v2/{project_id}/stats/bandwidth/peak 查询播放带宽峰值 GET /v2/{project_id}/stats/traffic/summary 查询播放流量汇总 GET /v2/{project_id}/stats/user 查询观众趋势 GET /v2/{project_id}/stats/httpcodes 查询直播拉流HTTP状态码 GET /v2/{project_id}/stats/transcode 查询转码用量 GET /v2/{project_id}/stats/record 查询录制用量 GET /v2/{project_id}/stats/snapshot 查询截图用量 GET /v2/{project_id}/stats/up-bandwidth/detail 查询上行带宽数据 GET /v2/{project_id}/stats/stream-count 查询域名维度推流路数 GET /v2/{project_id}/stats/history/streams 查询历史推流列表 GET /v2/{project_id}/stats/stream-portraits 查询播放画像信息 GET /v2/{project_id}/stats/area/detail 查询直播各区域指标分布
  • 流管理接口 表3 流管理接口 接口 说明 POST /v1/{project_id}/stream/blocks 禁止直播推流 GET /v1/{project_id}/stream/blocks 查询禁止直播推流列表 DELETE /v1/{project_id}/stream/blocks 禁推恢复 PUT /v1/{project_id}/stream/blocks 修改禁推属性 GET /v1/{project_id}/realtime/streams 查询直播中的流信息
  • 录制回调管理接口 表8 录制回调管理接口 接口 说明 POST /v1/{project_id}/record/callbacks 创建录制回调配置 GET /v1/{project_id}/record/callbacks 查询录制回调配置列表 PUT /v1/{project_id}/record/callbacks/{id} 修改录制回调配置 GET /v1/{project_id}/record/callbacks/{id} 查询录制回调配置 DELETE /v1/{project_id}/record/callbacks/{id} 删除录制回调配置
  • HTTPS证书管理接口 表9 HTTPS证书管理接口 接口 说明 PUT /v1/{project_id}/guard/https-cert 修改指定域名的HTTPS证书配置 GET /v1/{project_id}/guard/https-cert 查询指定域名的HTTPS证书配置 DELETE /v1/{project_id}/guard/https-cert 删除指定域名的HTTPS证书配置
共100000条