华为云用户手册

  • 步骤一:创建云服务资源(业务VPC、E CS 、ER) 本步骤指导您创建业务VPC、ECS以及ER服务资源,云服务资源的总体规划说明,请参见表5。 创建企业路由器。 创建企业路由器,具体方法请参见创建企业路由器。 创建业务VPC。 创建VPC及子网,具体方法请参见创建虚拟私有云和子网。 创建业务ECS。 本示例中1个业务ECS主要用于验证云上VPC和线下IDC通信使用,数量和配置仅供参考,请您根据实际需要创建业务ECS。 创建ECS,具体方法请参见购买方式概述。
  • 前提条件 云侧 请确认 虚拟私有云VPC 已经创建完成。如何创建虚拟私有云VPC,请参见创建虚拟私有云和子网。 请确认虚拟私有云VPC的安全组规则已经配置,ECS通信正常。如何配置安全组规则,请参见安全组规则。 如果通过企业路由器ER关联VPN网关,请确认企业路由器ER已经创建完成。如何创建企业路由器ER,请参见企业路由器ER相关资料。 数据中心侧 用户数据中心的VPN设备已经完成IPsec连接相关配置。相关操作步骤请参见管理员指南。
  • 数据规划 表1 规划数据 类别 规划项 规划值 VPC 待互通子网 192.168.0.0/16 VPN网关 互联子网 用于VPN网关和VPC通信,请确保选择的互联子网存在3个及以上可分配的IP地址。 192.168.2.0/24 已创建/剩余连接数 0/10 EIP地址 EIP地址在购买EIP时由系统自动生成。 本示例假设EIP地址生成如下:11.xx.xx.11 服务端 本端网段 192.168.0.0/24 服务端证书 cert-server(使用 云证书管理服务 托管的服务端证书名称) 客户端 SSL参数 协议:TCP 端口:443 加密算法:AES-128-GCM 认证算法:SHA256 是否压缩:否 客户端网段 172.16.0.0/16 客户端认证类型 选择“证书认证”,单击上传CA证书。 名称:ca-cert-client 内容: -----BEGIN CERTIFICATE----- od2VC7zXq7vmsVS5ZuyzeZA9CG+kzHsznZnmMjK+L9ddtRrLolRKIlE7VgWSVvn NCnGre6nQErWV688fsKJFIJ7xEBpt+S10zNuuk42OA36RsSauJWtLtebvhTav5df -----END CERTIFICATE-----
  • 检查防火墙路由表 确认存在目标地址为华为云VPC子网的路由信息: 确认配置去往华为云目标网络的路由信息,路由表或VPN路由表中存在路由信息。 确认路由转发表状态正常。 路由易错配置: 目的网段与华为云VPC网段不一致,导致前往华为云的流量无法路由到配置IPsec策略的公网口。 配置静态路由时指定出接口,而非指定下一跳。 在ethernet类型的网络中,出接口会因为无法学习到对端的ARP信息而导致路由转发失败。 将路由的下一跳地址指定为华为云端的VPN网关地址。 部分友商设备会因为路由信息无法自动迭代而不可行;由于VPN流量是要从公网口发出的,因此下一跳地址必须是运营商提供的网关地址。
  • 请求参数 表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信息。
  • 流监控接口 表13 流监控接口 接口 说明 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上行推流质量数据
  • 数据统计分析接口 表12 数据统计分析接口 接口 说明 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 查询直播各区域指标分布 GET /v2/{project_id}/stats/stream/play-info 查询播放域名下的流数据
  • HTTPS证书管理接口 表10 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证书配置
  • 录制回调管理接口 表9 录制回调管理接口 接口 说明 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} 删除录制回调配置
  • 截图管理接口 表6 截图管理接口 接口 说明 POST /v1/{project_id}/stream/snapshot 创建直播截图配置 PUT /v1/{project_id}/stream/snapshot 修改直播截图配置 GET /v1/{project_id}/stream/snapshot 查询直播截图配置 DELETE /v1/{project_id}/stream/snapshot 删除直播截图配置
  • 鉴权管理接口 表5 鉴权管理接口 接口 说明 PUT /v1/{project_id}/guard/referer-chain 设置Referer防盗链黑白名单 DELETE /v1/{project_id}/guard/referer-chain 删除Referer防盗链黑白名单 GET /v1/{project_id}/guard/referer-chain 查询Referer防盗链黑白名单 GET /v1/{project_id}/guard/ip 查询IP黑/白名单 PUT /v1/{project_id}/guard/ip 修改IP黑/白名单 POST /v1/{project_id}/auth/chain 生成URL鉴权串 GET /v1/{project_id}/domain/geo-blocking 查询播放域名的地域限制列表 PUT /v1/{project_id}/domain/geo-blocking 修改播放域名的地域限制配置 GET /v1/{project_id}/guard/key-chain 查询指定域名的Key防盗链配置 PUT /v1/{project_id}/guard/key-chain 更新指定域名的Key防盗链配置 DELETE /v1/{project_id}/guard/key-chain 删除指定域名的Key防盗链配置
  • 录制管理接口 表8 录制管理接口 接口 说明 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 创建录制视频索引文件
  • 转码模板管理接口 表2 转码模板管理接口 接口 说明 POST /v1/{project_id}/template/transcodings 创建直播转码模板 DELETE /v1/{project_id}/template/transcodings 删除直播转码模板 PUT /v1/{project_id}/template/transcodings 修改直播转码模板 GET /v1/{project_id}/template/transcodings 查询直播转码模板
  • 流管理接口 表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 查询直播中的流信息
  • 域名管理接口 表1 域名管理接口 接口 说明 POST /v1/{project_id}/domain 创建直播域名 DELETE /v1/{project_id}/domain 删除直播域名 PUT /v1/{project_id}/domain 修改直播域名 GET /v1/{project_id}/domain 查询直播域名 PUT /v1/{project_id}/domains_mapping 域名映射 DELETE /v1/{project_id}/domains_mapping 删除直播域名映射关系 PUT /v1/{project_id}/domain/ipv6-switch 配置域名IPV6开关 GET /v1/{project_id}/cdn/ip-info 查询IP归属信息 PUT /v1/{project_id}/domain/delay 修改播放域名延时配置 GET /v1/{project_id}/domain/delay 查询播放域名延时配置 PUT /v1/{project_id}/domain/hls 修改域名HLS配置 GET /v1/{project_id}/domain/hls 查询域名HLS配置 PUT /v1/{project_id}/domain/pull-sources 修改直播拉流回源配置 GET /v1/{project_id}/domain/pull-sources 查询直播拉流回源配置
  • 响应示例 状态码: 200 直播转码模板查询成功 { "domain" : "play.example.com", "total" : 1, "templates" : [ { "app_name" : "live", "quality_info" : [ { "quality" : "lsd", "hdlb" : "off", "codec" : "H264", "width" : 1920, "height" : 1080, "bitrate" : 4500, "video_frame_rate" : 20, "gop" : 4 }, { "quality" : "userdefine", "templateName" : "yourTemplateName", "hdlb" : "off", "codec" : "H264", "width" : 1920, "height" : 1080, "bitrate" : 4500, "video_frame_rate" : 20, "gop" : 4 } ] } ] } 状态码: 400 直播转码模板查询失败 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 查询结果的app数量 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参数重复。 若quality不为userdefine,请勿填写此字段。 PVC String 是否使用窄带高清转码。 注意:该字段已不再维护,建议使用hdlb。 包含如下取值: off:不启用。 on:启用。 默认值:off。 hdlb String 是否启用高清低码,较PVC相比画质增强。 提示:使用hdlb字段开启高清低码时,PVC字段不生效。 包含如下取值: off:不开启高清低码。 on:开启高清低码。 默认值:off。 codec String 视频编码格式。 包含如下取值: H264:使用H.264。 H265:使用H.265。 默认为H264。 width Integer 视频的长边。其中,横屏为宽,即长边,竖屏为高。单位:像素。 包含如下取值: codec的取值为H264时,width建议取值范围为[32,3840],且必须为2整数倍。 codec的取值为H265时,width建议取值范围为[320,3840],且必须为2的整数倍。 注意:width和height全为0时,输出的分辨率和源保持一致;width和height只有一个为0时,输出的分辨率按非0项的比例进行缩放。 默认值:0。 height Integer 视频的短边。其中,横屏为宽,竖屏为高,即短边。单位:像素。 包含如下取值: codec的取值为H264时,height建议取值范围为[32,2160],且必须为2的整数倍。 codec的取值为H265时,height建议取值范围为[240,2160],且必须为2的整数倍。 注意:width和height全为0时,输出的分辨率和源保持一致;width和height只有一个为0时,输出的分辨率按非0项的比例进行缩放。 默认值:0。 bitrate Integer 转码视频的码率。 单位:Kbps 取值范围:40-30000。 video_frame_rate Integer 转码视频帧率。 单位:fps 取值范围:0-60,0表示保持帧率不变。 默认值:0。 protocol String 转码输出支持的协议类型。默认为RTMP。当前只支持RTMP。 包含如下取值: RTMP iFrameInterval Integer 最大I帧间隔。 单位:帧数 取值范围:[0, 500],默认值:50。 注意:若希望通过iFrameInterval设置i帧间隔,请将gop设为0,或不传gop参数。 gop Integer 按时间设置I帧间隔。 单位:秒 取值范围:[0,10],默认值:2。 注意:gop不为0时,则以gop设置i帧间隔,iFrameInterval字段不生效。 bitrate_adaptive String 自适应码率参数。 包含如下取值: off:关闭码率自适应,目标码率按设定的码率输出。 minimum:目标码率按设定码率和源文件码率最小值输出(即码率不上扬)。 adaptive:目标码率按源文件码率自适应输出。 默认值:off。 i_frame_policy String 编码输出I帧策略。 包含如下取值: auto:I帧按设置的gop时长输出。 strictSync:编码输出I帧完全和源保持一致(源是I帧则编码输出I帧,源不是I帧则编码非I帧),设置该参数后gop时长设置无效。 默认值:auto。 注意:多码率场景下建议开启I帧随源,保障多码率I帧对齐。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 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。
  • 请求参数 表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 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表5 响应Body参数 参数 参数类型 描述 total Integer 查询结果的总元素数量 callback_config Array of RecordCallbackConfig objects 录制回调配置列表 表6 RecordCallbackConfig 参数 参数类型 描述 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 表7 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应示例 状态码: 200 查询录制回调成功 { "total" : 1, "callback_config" : [ { "id" : "e2fe84def7e476651034ec4b9e92bc30", "publish_domain" : "publish.xxx.com", "app" : "*", "notify_callback_url" : "http://100.95.129.234:8456/base_record_notify", "notify_event_subscription" : [ "RECORD_FILE_COMPLETE", "RECORD_NEW_FILE_START" ], "create_time" : "2020-03-02T08:59:45Z", "update_time" : "2020-03-09T08:59:45Z" } ] } 状态码: 400 查询录制回调失败 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal" }
  • URI GET /v1/{project_id}/record/callbacks 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 publish_domain 否 String 直播推流域名 app 否 String 流应用名称 offset 否 Integer 偏移量,表示从此偏移量开始查询,offset大于等于0 limit 否 Integer 每页记录数,取值范围[1,100],默认值10
  • 请求参数 表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 查询录制配置成功 { "id" : "e2fe84def7e476651034ec4b9e92bc30", "publish_domain" : "publish.xxx.com", "app" : "*", "notify_callback_url" : "http://100.95.129.234:8456/base_record_notify", "notify_event_subscription" : [ "RECORD_FILE_COMPLETE", "RECORD_NEW_FILE_START" ], "create_time" : "2020-03-02T08:59:45Z", "update_time" : "2020-03-09T08:59:45Z" } 状态码: 404 记录不存在 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal" }
  • 响应参数 状态码: 200 表3 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表4 响应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时间。 在查询的时候返回 状态码: 404 表5 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 请求示例 创建禁止直播推流属性。 POST https://{endpoint}/v1/{project_id}/stream/blocks { "domain" : "publish.example.huawei.com", "app_name" : "live", "stream_name" : "huawei", "resume_time" : "2018-05-19T21:10:15Z" }
  • 响应示例 状态码: 200 处理成功返回。 { "traffic_list" : [ { "value" : 2300, "domain" : "livepull-test.huaweicloud.com" } ] } 状态码: 400 处理失败返回。 { "error_code" : "LIVE.100011001", "error_msg" : "Invalid request parameter: play_domains" }
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识。 表5 响应Body参数 参数 参数类型 描述 traffic_list Array of TrafficSummaryData objects 域名对应的流量汇总列表。 表6 TrafficSummaryData 参数 参数类型 描述 value Long 流量,单位为byte。 domain String 域名。 状态码: 400 表7 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识。 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • URI GET /v2/{project_id}/stats/traffic/summary 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 play_domains 否 Array 播放域名列表,最多支持查询100个域名, 多个域名 以逗号分隔。 如果不传入域名,则查询租户下所有播放域名的流量汇总。 app 否 String 应用名称。 stream 否 String 流名。 region 否 Array 区域列表。具体取值请参考省份名称缩写,不填写查询所有区域。 isp 否 Array 运营商列表。取值如下: CMCC :移动 CTCC : 电信 CUCC :联通 OTHER :其他 不填写查询所有运营商。 protocol 否 String 请求协议 start_time 否 String 起始时间。日期格式按照ISO8601表示法,并使用UTC时间。 格式为:YYYY-MM-DDThh:mm:ssZ。最大查询跨度31天,最大查询周期一年。 若参数为空,默认查询7天数据。 end_time 否 String 结束时间。日期格式按照ISO8601表示法,并使用UTC时间。格式为:YYYY-MM-DDThh:mm:ssZ。 若参数为空,默认为当前时间。结束时间需大于起始时间。 service_type 否 String 服务类型,取值如下: Live :标准直播 LLL :低时延直播 ALL :所有服务类型 不填写默认查询所有服务类型的数据。 说明: 该参数只对2022年12月15日后的数据生效。
  • 请求参数 表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相同。
共100000条