调用 CreatePullToPushTask
接口,创建拉流转推任务,将其他直播源或点播视频以直播形式推送到指定地址,同时支持为转推视频添加水印。
如果您的直播源无推流能力或需要将点播视频通过直播形式分发,您可以通过创建拉流转推任务,将拉取的直播源或点播视频的内容推送到指定地址。转推地址支持非第三方或第三方推流地址。非第三方地址指使用已在视频直播中添加的域名生成的推流地址;如果需要推流至第三方地址,请提前获取第三方推流地址。
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | CreatePullToPushTask | 接口名称。当前 API 的名称为 CreatePullToPushTask 。 |
Version | String | 是 | 2023-01-01 | 接口版本。当前 API 的版本为 2023-01-01 。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
GroupName | String | 否 |
| 群组所属名称,您可以调用 ListPullToPushGroup 获取可用的群组。 说明
|
Title | String | 否 | task001 | 拉流转推任务的名称,默认为空表示不配置任务名称。支持由中文、大小写字母(A - Z、a - z)和数字(0 - 9)组成,长度为 1 到 20 各字符。 |
StartTime | Integer | 是 |
| 任务的开始时间,Unix 时间戳,单位为秒。 说明 拉流转推任务持续时间最长为 7 天。 |
EndTime | Integer | 是 |
| 任务的结束时间,Unix 时间戳,单位为秒。 说明 拉流转推任务持续时间最长为 7 天。 |
CallbackURL | String | 否 | http://example.com/live/callback | 接收拉流转推任务状态回调的地址,最大长度为 512 个字符,默认为空。 |
Type | Integer | 是 |
| 拉流来源类型,支持的取值及含义如下。
|
CycleMode | Integer | 否 |
| 点播视频文件循环播放模式,当拉流来源类型为点播视频时为必选参数,参数取值及含义如下所示。
|
PlayTimes | Integer | 否 |
| 点播视频文件循环播放次数,当 CycleMode 取值为 0 时,PlayTimes 取值将作为循环播放次数。 说明 PlayTimes 为冗余参数,您可以将 PlayTimes 置 0 后直接使用 CycleMode 指定点播视频文件循环播放次数。 |
DstAddr | String | 否 | rtmp://push.example.com/live/example_stream | 推流地址,即直播源或点播视频转推的目标地址。 |
Domain | String | 否 | push.example.com | 推流域名,推流地址(DstAddr)为空时必传;反之,则该参数不生效。 |
App | String | 否 | live | 推流应用名称,推流地址(DstAddr)为空时必传;反之,则该参数不生效。 |
Stream | String | 否 | example_stream | 推流的流名称,推流地址(DstAddr)为空时必传;反之,则该参数不生效。 |
SrcAddr | String | 否 | http://pull.example.com/live/example_stream.mp4 | 直播源的拉流地址,拉流来源类型为直播源时,为必传参数,最大长度为 1000 个字符。 |
SrcAddrS | Array of String | 否 |
| 点播视频播放地址列表,拉流来源类型为点播视频时,为必传参数,最多支持传入 30 个点播视频播放地址,每个地址最大长度为 1000 个字符。 说明 此字段为旧版本配置,请使用 |
Watermark | Object of Watermark | 否 | - | 为拉流转推视频添加的水印配置信息。 |
PreDownload | Integer | 否 |
| 是否开启点播预热,开启点播预热后,系统会自动将点播视频文件缓存到 CDN 节点上,当用户请求直播时,可以直播从 CDN 节点获取视频,从而提高直播流畅度。拉流来源类型为点播视频时,参数生效。
|
OffsetS | Array of Float | 否 |
| 点播文件启播时间偏移值,单位为秒,数量与拉流地址列表中地址数量相等,缺省情况下为空表示不进行偏移。拉流来源类型为点播视频时,参数生效。 说明 此字段为旧版本配置,请使用 |
ContinueStrategy | Integer | 否 |
| 续播策略,续播策略指转推点播视频进行直播时出现断流并恢复后,如何继续播放的策略,拉流来源类型为点播视频(Type 为 1)时参数生效,支持的取值及含义如下。
|
Offset | Float | 否 |
| 点播文件启播时间偏移值,单位为秒,仅当点播视频播放地址列表(SrcAddrS)只有一个地址,且未配置 Offsets 时生效,缺省情况下为空表示不进行偏移。 说明 此字段为旧版本配置,请使用 |
VodSrcAddrs | Array of VodSrcAddrs | 否 |
| 点播文件地址和开始播放、结束播放的时间设置。 说明
|
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Picture | String | 是 |
| 水印图片字符串,图片最大 2MB,最小 100Bytes,最大分辨率为 1080×1080。图片 Data URL 格式为:
|
RelativePosX | Float | 是 | 0.1 | 水平偏移,表示水印左侧边与转码流画面左侧边之间的距离,使用相对比率,取值范围为 [0,1)。 |
RelativePosY | Float | 是 | 0.1 | 垂直偏移,表示水印顶部边与转码流画面顶部边之间的距离,使用相对比率,取值范围为 [0,1)。 |
Ratio | Float | 是 | 0.1 | 水印宽度占直播原始画面宽度百分比,支持精度为小数点后两位。 |
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
StartOffset | Float | 否 | 65.0 | 当前点播文件开始播放的时间偏移值,单位为秒。默认为空时表示开始播放时间不进行偏移。 |
EndOffset | Float | 否 | 80.0 | 当前点播文件结束播放的时间偏移值,单位为秒,默认为空时表示结束播放时间不进行偏移。 |
SrcAddr | String | 是 | https://example.com/live/stream-123.mp4 | 点播文件地址。 |
下表仅列出本接口特有的返回参数。更多信息请见返回结构。
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
TaskId | String | 8fde6aa0281d9f6e15e6059a6e242365 | 任务 ID,任务的唯一标识。 |
POST https://live.volcengineapi.com?Action=CreatePullToPushTask&Version=2023-01-01 { "Title": "task001", "StartTime": 1640891476, "EndTime": 1640841476, "CallbackURL": "http://example.com/live/callback", "Type": 0, "DstAddr": "rtmp://push.example.com/live/example_stream", "SrcAddr": "http://pull.example.com/live/example_stream.mp4", "Watermark": { "Picture": "data:image/png;base64,iVBORw0KGg****mCC", "RelativePosX": "0.1", "RelativePosY": "0.1", "Ratio": "0.1" } }
{ "ResponseMetadata": { "RequestId": "202112311457430101742350380352BCB2", "Action": "CreatePullToPushTask", "Version": "2023-01-01", "Service": "live", "Region": "cn-north-1" }, "Result": { "TaskId": "8fde6aa0281d*******9a6e242365" } }
下表仅列出本接口特有的错误码。更多信息请参见公共错误码获取详细信息。
状态码 | 错误码 | 错误信息 | 说明 |
---|---|---|---|
200 | CommonErr | - | 未分类错误。建议重试,如果仍返回该错误码,请联系技术支持。 |
400 | InvalidParam | - | 输入的参数无效或不符合要求,请参照请求参数说明进行检查。 |
400 | InvalidParam.BindError | Request parameter error, please check input data | 参数未通过校验,请检查参数类型是否正确。 |
400 | InvalidParam.Format | %s format error | 参数格式错误,请检查错误消息中指定参数中是否存在非法字符或 URL 格式错误。 |
400 | InvalidParam.OutOfRange | %s should be one of {[%s]}%s should be between %d and %d | 参数超出允许范围,请检查错误消息中指定参数的取值是否超出取值范围。 |
403 | RequestForbidden | - | 请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。 |
403 | RequestForbidden.AccountIDNotAllow | this AccountID does not have permission to access the corresponding resource, please check the request parameters | 请求被拒绝,当前账号下无请求的资源(域名空间、域名、应用、配置模版、证书)。 |
403 | RequestForbidden.BillingStatus | Billing status is not available for the AccountID, please activate the service or recharge. | 未开通视频直播服务或账号欠费,造成账单不可用,请检查服务开通情况和账号欠费情况。 |
404 | ResourceNotFound | - | 未找到资源(域名空间、域名、应用、配置模版、证书)。建议重试,如果仍返回该错误码,请联系技术支持。 |
429 | RequestLimitExceeded | - | 请求创建的资源(域名空间、域名、应用、配置模版、证书)超出限制。 |
500 | InternalError | an internal error occurred, please contact the administrator. | 出现内部错误,请联系技术支持。 |
502 | InternalServiceError | an internal error occurred, please contact the administrator. | 服务间出现错误,请联系技术支持。 |
502 | InternalServiceError.BadResponse | an internal error occurred, please contact the administrator. | 服务间出现错误,请联系技术支持。 |
504 | InternalServiceTimeout | Internal Service is timeout. please contact the administrator. | 内部服务超时,请联系技术支持。 |
视频直播提供了配套的开发工具集 SDK,支持多种编程语言,帮助您更方便的调用 API。