华为云用户手册

  • URI GET /v1/{project_id}/stream/snapshot 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 domain 是 String 域名 app_name 否 String 应用名称 limit 否 Integer 每页记录数 取值范围[1,100] 默认值:10 offset 否 Integer 偏移量,表示从此偏移量开始查询,offset大于等于0
  • 请求参数 表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信息。
  • 请求示例 修改域名HLS配置。 PUT https://{endpoint}/v1/{project_id}/domain/hls { "push_domain" : "push.example.com", "application" : [ { "name" : "live", "hls_fragment" : 2, "hls_ts_count" : 3, "hls_min_frags" : 3 } ] }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 push_domain String 推流域名 application Array of PushDomainApplication objects 推流域名APP配置 表6 PushDomainApplication 参数 参数类型 描述 name String 应用名,默认为live hls_fragment Integer HLS切片时长,单位:s。 hls_ts_count Integer 每个M3U8文件内ts切片个数 hls_min_frags Integer 每个M3U8文件内最小ts分片数 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg 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参数 参数 是否必选 参数类型 描述 push_domain 是 String 推流域名 application 是 Array of PushDomainApplication objects 推流域名APP配置 表4 PushDomainApplication 参数 是否必选 参数类型 描述 name 否 String 应用名,默认为live hls_fragment 否 Integer HLS切片时长,单位:s。 hls_ts_count 否 Integer 每个M3U8文件内ts切片个数 hls_min_frags 否 Integer 每个M3U8文件内最小ts分片数
  • 调用API获取项目ID 您还能通过调用查询指定条件下的项目信息API获取项目ID。 获取项目ID的接口为“GET https://{Endpoint}/v3/projects/”,其中{Endpoint}为IAM的终端节点可以从地区和终端节点获取。接口的认证鉴权请参见认证鉴权。 响应示例如下,其中projects下的“id”即为项目ID。 { "projects": [ { "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "region01", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true } ], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 响应示例 状态码: 400 操作失败 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal" } 状态码: 404 记录不存在 { "error_code" : "LIVE.100011001", "error_msg" : "The resource to access is not exists" }
  • 响应参数 状态码: 200 表5 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 状态码: 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 错误描述 状态码: 404 表8 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。 格式为 request_id-timestamp-hostname(request_id在服务器端生成UUID, timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • URI POST /v1/{project_id}/record/control 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 action 是 String 操作行为。 (在停止录制命令下发之后,再次对相同流下发开始录制命令的时间间隔必须在10秒以上) 取值如下: START:对指定流开始录制,必须在直播流已经推送情况下才能正常启动,使用此命令启动录制的直播流如果发生了断流且超出断流时长,就会停止录制,并且重新推流后不会自动启动录制。 STOP:对指定流停止录制。
  • 请求参数 表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信息。 表4 请求Body参数 参数 是否必选 参数类型 描述 publish_domain 是 String 直播推流域名 app 是 String 应用名 stream 是 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" }
  • 请求示例 创建直播转码模板,应用名称为live,转码质量为SD,转码编码格式为H264,宽为1920像素,高为1080像素。 POST https://{endpoint}/v1/{project_id}/template/transcodings { "domain" : "play.example.com", "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 } ] }
  • 请求参数 表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 应用名称 trans_type 否 String 转码流触发模式。 play:拉流触发转码。 publish:推流触发转码。 默认为play quality_info 是 Array of QualityInfo objects 视频质量信息 表4 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帧对齐。
  • 响应示例 状态码: 200 处理成功返回。 { "time" : "2024-06-06T08:00:00Z", "data_list" : [ { "play_domain" : "play.example.com", "stream" : "test_stream_01", "bandwidth" : 1245, "online" : 123, "protocol" : "hls" }, { "play_domain" : "play.example.com", "stream" : "test_stream_02", "bandwidth" : 1025, "online" : 60, "protocol" : "hls" }, { "play_domain" : "play.example01.com", "stream" : "test_stream_03", "bandwidth" : 3242, "online" : 546, "protocol" : "flv" } ] } 状态码: 400 处理失败返回。 { "error_code" : "LIVE.100011001", "error_msg" : "Invalid request parameter: domains" }
  • 请求参数 表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参数 参数 参数类型 描述 time String 采样时间。日期格式按照ISO8601表示法,并使用UTC时间。 格式为:YYYY-MM-DDThh:mm:ssZ。 data_list Array of PlayDomainStreamInfo objects 采样数据列表 表6 PlayDomainStreamInfo 参数 参数类型 描述 play_domain String 播放域名 stream String 播放流名 protocol String 播放协议,支持FLV、HLS和RTMP。 bandwidth Long 1分钟粒度的带宽值,单位为bps。 online Long 1分钟粒度的在线人数。 状态码: 400 表7 响应Header参数 参数 参数类型 描述 X-Request-Id String 请求的唯一标识。 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误描述。
  • URI GET /v2/{project_id}/stats/stream/play-info 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,获取方法请参考获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 play_domains 否 Array of strings 播放域名列表,最多支持查询10个域名, 多个域名 以逗号分隔。 如果不传入域名,则查询租户下所有播放域名的流数据。 time 是 String 查询数据的时间点,精确到分钟。 日期格式按照ISO8601表示法,并使用UTC时间。 格式为:YYYY-MM-DDThh:mm:ssZ,最大查询周期七天。 时间必须为时间粒度整时刻点,如:2024-02-02T08:01:00Z。
  • 响应参数 状态码: 200 表4 响应Header参数 参数 参数类型 描述 X-Request-Id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 状态码: 400 表5 响应Header参数 参数 参数类型 描述 X-Request-Id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg 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参数 参数 是否必选 参数类型 描述 domain 是 String 推流域名或播放域名 auth_type 是 String 鉴权类型。 包含如下取值: WHITE:IP白名单鉴权。 BLACK:IP黑名单鉴权。 NONE:不鉴权。 ip_auth_list 是 String IP黑名单列表,IP之间用;分隔,如192.168.0.0;192.168.0.8,最多支持配置100个IP。支持IP网段添加,例如127.0.0.1/24表示采用子网掩码中的前24位为有效位,即用32-24=8bit来表示主机号,该子网可以容纳2^8 - 2 = 254 台主机。故127.0.0.1/24 表示IP网段范围是:127.0.0.1~127.0.0.255
  • 响应示例 状态码: 200 查询Referer黑白名单成功 { "domain" : "play.example.huawei.com", "guard_switch" : "true", "referer_config_empty" : "true", "referer_white_list" : "false", "referer_auth_list" : [ "^http://test.*com$", "abc.com" ] } 状态码: 400 查询Referer黑白名单失败 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal" }
  • 请求参数 表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参数 参数 参数类型 描述 domain String 直播域名 guard_switch String referer防盗链开关:true表示开启;false表示关闭 referer_config_empty String 是否包含referer头域:true表示包含;false表示不包含;guard_switch为true则必填 referer_white_list String 是否为referer白名单:true表示白名单;false表示黑名单;guard_switch为true则必填 referer_auth_list Array of strings 域名列表,域名为正则表达式;最多支持配置100个域名,以英文“;”进行分隔;guard_switch为true则必填 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述
  • 响应参数 状态码: 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 直播域名创建成功 { "domain" : "play.example.com", "domain_type" : "pull", "domain_cname" : "play.example.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
  • 请求参数 表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信息。
  • 响应参数 状态码: 204 表3 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 状态码: 400 表4 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg String 错误描述 状态码: 404 表6 响应Header参数 参数 参数类型 描述 X-request-id String 此字段携带请求ID号,以便任务跟踪。格式为:request_id-timestamp-hostname(request_id在服务器端生成UUID,timestamp为当前时间戳,hostname为处理当前接口的服务器名称) 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 error_msg 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参数 参数 是否必选 参数类型 描述 domain 是 String 直播域名,不允许修改 status 否 String 直播域名状态,通过修改此字段,实现域名的启用和停用;域名处于“配置中”状态时,不允许对该域名执行启停操作 enterprise_project_id 否 String 企业项目ID
  • 响应参数 状态码: 200 表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 错误描述
  • 响应示例 状态码: 200 直播域名修改成功 { "domain" : "play.example.com", "domain_type" : "pull", "domain_cname" : "play.example.com.c.cdnhwc3.com", "region" : "region1", "status" : "off", "create_time" : "2020-01-19T02:57:00Z" } 状态码: 400 参数错误 { "error_code" : "LIVE.100011001", "error_msg" : "Request Illegal" }
共100000条