You need to enable JavaScript to run this app.
导航

创建拉流转推任务

最近更新时间2024.02.04 18:00:36

首次发布时间2023.09.25 14:34:06

调用 CreatePullToPushTask 接口,创建拉流转推任务。

使用说明

  • 如果您的直播源无推流能力或需要将点播视频通过直播形式分发,您可以通过创建拉流转推任务,将拉取的直播源或点播视频的内容推送到指定地址。

  • 转推地址支持非第三方或第三方推流地址。非第三方地址指使用已在视频直播中添加的域名生成的推流地址;如果需要推流至第三方地址,请提前获取第三方推流地址。

  • 支持为拉流转推的视频添加水印。

  • 拉流转推为付费功能,费用参考拉流转推计费

注意事项

请求频率:单用户请求频率限制为 10 次/秒

请求说明

  • 请求方式:POST
  • 请求地址:https://live.volcengineapi.com?Action=CreatePullToPushTask&Version=2023-01-01

调试

请求参数

下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数

Query

参数类型是否必选示例值描述
ActionStringCreatePullToPushTask接口名称。当前 API 的名称为 CreatePullToPushTask
VersionString2023-01-01接口版本。当前 API 的版本为 2023-01-01

Body

参数类型是否必选示例值描述
TitleStringtask001拉流转推任务的名称,由 1 到 20 位中文、大小写字母和数字组成,默认为空,表示不配置任务名称。

StartTime

Integer

1640891476

任务的开始时间,Unix 时间戳,单位为秒。

说明

拉流转推任务持续时间最长为 7 天。

EndTime

Integer

1640841476

任务的结束时间,Unix 时间戳,单位为秒。

说明

拉流转推任务持续时间最长为 7 天。

CallbackURLStringhttp://example.mtime.cn/live/example/callbackapi接收拉流转推任务状态回调的地址,最大长度为 2000 个字符,默认为空。

Type

Integer

0

拉流来源类型,支持的取值及含义如下。

  • 0:直播源;
  • 1:点播视频。

CycleMode

Integer

-1

点播视频文件循环播放模式,当拉流来源类型为点播视频(Type 为 1)时为必选参数,参数取值及含义如下所示。

  • -1:无限循环,至任务结束;
  • 0:有限次循环,循环次数为 PlayTimes 取值为准。
PlayTimesInteger3点播视频文件循环播放次数,当循环播放模式为有限次循环(CycleMode为0)时为必选参数。
DstAddrStringrtmp://example.mtime.cn/Video/2022/02/04/mp4/190204084208765161.mp4推流地址,即直播源或点播视频转推的目标地址。
DomainStringexample.mtime.cn推流域名,推流地址(DstAddr)为空时必传;反之,则该参数不生效。
AppStringlive推流应用名称,推流地址(DstAddr)为空时必传;反之,则该参数不生效。
StreamStringstream-123推流的流名称,推流地址(DstAddr)为空时必传;反之,则该参数不生效。
SrcAddrStringhttp://example.mtime.cn/Video/2003/02/04/mp4/190204084208765161.mp4直播源的拉流地址,拉流来源类型为直播源(Type 为 0)时,为必选参数,最大长度为 1000 个字符。
SrcAddrSArray of String["https://pull.example.com/live/stream-123"]点播视频播放地址列表,拉流来源类型为点播视频(Type 为 1)时,为必选参数,最多支持传入 30 个点播视频播放地址,每个地址最大长度为 1000 个字符。
WatermarkObject of Watermark-为拉流转推视频添加的水印配置信息。

PreDownload

Integer

1

是否开启点播预热,开启点播预热后,系统会自动将点播视频文件缓存到 CDN 节点上,当用户请求直播时,可以直播从 CDN 节点获取视频,从而提高直播流畅度。
拉流来源类型为点播视频(Type 为 1)时,参数生效。

  • 0:不开启;
  • 1:开启(默认值)。

OffsetS

Array of Float

[1.1]

点播文件启播时间偏移值,单位为秒,数量与拉流地址列表中地址数量相等,缺省情况下为空表示不进行偏移。
拉流来源类型为点播视频(Type 为 1)时,参数生效。

ContinueStrategy

Integer

9

续播策略,续播策略指转推点播视频进行直播时出现断流并恢复后,如何继续播放的策略,拉流来源类型为点播视频(Type 为 1)时参数生效,支持的取值及含义如下。

  • 0:从断流处续播(默认值);
  • 1:从断流处+自然流逝时长处续播。
OffsetFloat30点播文件启播时间偏移值,单位为秒,仅当点播视频播放地址列表(SrcAddrS)只有一个地址,且未配置 Offsets 时生效,缺省情况下为空表示不进行偏移。

Watermark

参数类型是否必选示例值描述

Picture

String

data:image/png;base64,iVBORw0KGg\*\*\*\*mCC

水印图片字符串,图片最大 2MB,最小 100Bytes,最大分辨率为 1080×1080。图片 Data URL 格式为:data:image/<mediatype>;base64,<data>

  • mediatype:图片类型,支持 png、jpg、jpeg 格式;
  • data:base64 编码的图片字符串。
    例如,data:image/png;base64,iVBORw0KGg****mCC
RelativePosXFloat0.1水平偏移,表示水印左侧边与转码流画面左侧边之间的距离,使用相对比率,取值范围为 [0,1)。
RelativePosYFloat0.1垂直偏移,表示水印顶部边与转码流画面顶部边之间的距离,使用相对比率,取值范围为 [0,1)。
RatioFloat0.1水印宽度占直播原始画面宽度百分比,支持精度为小数点后两位。

返回参数

下表仅列出本接口特有的返回参数。更多信息请见返回结构

参数类型示例值描述
TaskIdString8fde6aa0281d9f6e15e6059a6e242365任务 ID,任务的唯一标识。

请求示例

POST https://live.volcengineapi.com?Action=CreatePullToPushTask&Version=2023-01-01
{
    "Type":0,
    "DstAddr": "rtmp://example.mtime.cn/Video/2022/02/04/mp4/190204084208765161.mp4",
    "EndTime": 1640881476,
    "SrcAddr": "http://example.mtime.cn/Video/2003/02/04/mp4/190204084208765161.mp4",
    "StartTime": 1640841476,
    "Title": "sutest001",
    "CallbackURL":"http://example.mtime.cn/live/test/callbackapi"
}

返回示例

{
  "ResponseMetadata": {
    "RequestId": "202112311457430101742350380352BCB2",
    "Action": "CreatePullToPushTask",
    "Version": "2023-01-01",
    "Service": "live",
    "Region": "cn-north-1"
  },
  "Result": {
    "TaskId": "8fde6aa0281d*******9a6e242365"
  }
}

错误码

下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。

状态码错误码错误信息说明
200CommonErr-未分类错误。建议重试,如果仍返回该错误码,请联系技术支持
400InvalidParam-输入的参数无效或不符合要求,请参照请求参数说明进行检查。
400InvalidParam.BindErrorRequest parameter error, please check input data参数未通过校验,请检查参数类型是否正确。
400InvalidParam.Format%s format error参数格式错误,请检查错误消息中指定参数中是否存在非法字符或 URL 格式错误。
400InvalidParam.OutOfRange%s should be one of {[%s]}%s should be between %d and %d参数超出允许范围,请检查错误消息中指定参数的取值是否超出取值范围。
403RequestForbidden-请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.AccountIDNotAllowthis AccountID does not have permission to access the corresponding resource, please check the request parameters请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。
403RequestForbidden.BillingStatusBilling status is not available for the AccountID, please activate the service or recharge.未开通视频直播服务或账号欠费,造成账单不可用,请检查服务开通情况和账号欠费情况。
404ResourceNotFound-未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持
429RequestLimitExceeded-请求创建的资源(域名空间、域名、应用、配置模版、证书)超出限制。
500InternalErroran internal error occurred, please contact the administrator.出现内部错误,请联系技术支持
502InternalServiceErroran internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
502InternalServiceError.BadResponsean internal error occurred, please contact the administrator.服务间出现错误,请联系技术支持
504InternalServiceTimeoutInternal Service is timeout. please contact the administrator.内部服务超时,请联系技术支持

服务端 SDK

视频直播提供了配套的开发工具集 SDK,支持多种编程语言,帮助您更方便的调用 API。