文档首页/ 视频直播 Live/ 云直播API参考/ 拉流管理/ 创建直播拉流转推任务 - CreatePullTask
更新时间:2025-12-09 GMT+08:00
分享

创建直播拉流转推任务 - CreatePullTask

功能介绍

根据租户指定的拉流源以及拉流任务信息创建直播拉流转推任务

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,需具备如下身份策略权限。

    授权项

    访问级别

    资源类型(*为必须)

    条件键

    别名

    依赖的授权项

    live:stream:createPullTask

    Write

    -

    -

    -

    -

URI

POST /v1/{project_id}/pull/stream/task

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方法请参考获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token,使用Token鉴权方式时必填。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

region

String

任务执行区域,如果指定推流域名,则region需要与推流域名直播源站一致,缺省为租户归属region

source_type

String

拉流源类型

PullLivePushLive:拉转推(拉直播推直播)

PullVodPushLive:轮播(拉点播推直播)

source_urls

Array of strings

拉流源URL

当 source_type 为 PullLivePushLive 时,只能填写一个URL

当 source_type 为 PullVodPushLive 时,可以指定多个轮播源文件URL

domain

String

推流域名

app_name

String

推流app

stream_name

String

推流流名

push_args

String

推流参数

destination_url

String

完整的目标URL。

如果指定此参数,domain、app_name和stream_name需要传入空字符串或不传。

start_time

String

任务启动时间,时间格式:

"2006-01-02T15:04:05Z"

必须小于结束时间,缺省为当前时间

end_time

String

任务结束时间,时间格式:

"2006-01-02T15:04:05Z"

必须大于开始时间,至多为开始时间+7天

vod_loop_time

String

轮播播放次数,仅当source_type为PullVodPushLive生效。缺省值”-1”。-1:无限轮播,以结束时间为准;N:按文件列表播放N轮,以播放完成和结束时间先到的为准。不传、为空("")时按缺省值生效

vod_refresh_type

String

轮播文件播放形式,仅当source_type为PullVodPushLive生效。缺省值immediate_new_source

immediate_new_source:立即播放新的文件源

continue_from_file_start:从上次断流URL文件重新播放(更新任务时有效)

continue_from_break_point:从上次断流URL文件断流位置重新播放(更新任务时有效)

vod_start_video_index

Integer

指定播放文件的下标,仅当source_type为PullVodPushLive生效。缺省值 0,从0开始表示第一个文件,最大值 len(source_urls)-1

vod_start_video_time

Integer

缺省值 0,指定从上述指定文件的第几秒开始播放,仅当source_type为PullVodPushLive生效

backup_source_type

String

备源的类型

  • PullLivePushLive:直播

注意事项:

  1. 仅当source_type为PullVodPushLive生效。

  2. 主直播源拉流中断时,自动使用备源进行拉流。

backup_source_urls

Array of strings

备源URL,仅当source_type为PullVodPushLive生效。

callback_events

Array of strings

要回调的事件列表(不填则回调全部)

  • TaskStart:任务启动回调

  • TaskExit:任务停止回调

  • VodSourceFileStart:仅PullVodPushLive可用,文件启动切换

  • VodSourceFileFinish:仅PullVodPushLive可用,文件播放完毕

  • ResetTaskConfig:仅PullVodPushLive可用,任务更新

  • TaskAlarm:用于告警事件通知

callback_url

String

回调接收地址

src_area

String

指定拉流就近区域

dst_area

String

指定推流就近区域

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

task_id

String

任务id

request_id

String

请求id

状态码:400

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

request_id

String

请求id

请求示例

POST https://{endpoint}/v1/{project_id}/pull/stream/task

{
  "region" : "cn-north-4",
  "source_type" : "PullLivePushLive",
  "source_urls" : [ "rtmp://play.example.huawei.com/live/stream1" ],
  "domain" : "publish.example.huawei.com",
  "app_name" : "live",
  "stream_name" : "test",
  "start_time" : "2018-05-19T18:00:00Z",
  "end_time" : "2018-05-19T21:00:00Z",
  "push_args" : "arg1=value1",
  "callback_events" : [ "TaskStart", "TaskExit", "TaskAlarm" ],
  "callback_url" : "callback.example.com",
  "backup_source_type" : "PullLivePushLive",
  "backup_source_urls" : [ "rtmp://play.example.huawei.com/live/stream1_bak" ]
}

响应示例

状态码:200

创建拉流转推任务成功

{
  "task_id" : "7864b3dc-e92f-42db-a754-08e627b6d8dd",
  "request_id" : "85968475-e92f-42db-a754-08e627b6d8dd"
}

状态码:400

创建转推三方任务失败

{
  "error_code" : "LIVE.100011001",
  "error_msg" : "Request Illegal",
  "request_id" : "85968475-e92f-42db-a754-08e627b6d8dd"
}

状态码

状态码

描述

200

创建拉流转推任务成功

400

创建转推三方任务失败

错误码

请参见错误码

相关文档