更新时间:2024-05-08 GMT+08:00

新建转动图任务

功能介绍

创建动图任务,用于将完整的视频文件或视频文件中的一部分转换为动态图文件,暂只支持输出GIF文件。 待转动图的视频文件需要存储在与媒体处理服务同区域的OBS桶中,且该OBS桶已授权。

调用方法

请参见如何调用API

URI

POST /v1/{project_id}/animated-graphics

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

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

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

Authorization

String

使用AK/SK方式认证时必选,携带的鉴权信息。

X-Project_Id

String

使用AK/SK方式认证时必选,携带项目ID信息, 与路径参数中的项目ID相同。

X-Sdk-Date

String

使用AK/SK方式认证时必选,请求的发生时间。

表3 请求Body参数

参数

是否必选

参数类型

描述

input

ObsObjInfo object

源文件信息。

说明:
  • 在转动图、同步解析、同步截图等场景,暂不支持m3u8格式的视频。

output

ObsObjInfo object

输出文件信息。

user_data

String

用户自定义数据。

output_param

AnimatedGraphicsOutputParam object

动图输出参数。

表4 ObsObjInfo

参数

是否必选

参数类型

描述

bucket

String

OBS的bucket名称。

location

String

OBS桶所在的区域,且必须与使用的MPC区域保持一致。

object

String

OBS对象路径,遵守OSS Object定义。

  • 当用于指示input时,需要指定到具体对象。

  • 当用于指示output时,只需指定到转码结果期望存放的路径。

在字幕场景下,字幕文件名称中禁止携带特殊符号,否则会导致转码任务失败,如:[

  • 正确示例: demo.srt

  • 错误示例: [demo.srt

file_name

String

文件名

  • 当指定了此参数时,输出的对象名为object/file_name。

  • 当不指定此参数时,输出的对象名为object/xxx,其中xxx由MPC指定。

在作为输出文件名时:

  • 在转封装场景有效,需要指定输出文件名称

  • 在转码场景下,如果需要指定输出的文件名称,请使用output_filenames参数

  • 在解析场景有效,解析场景如果指定文件名,则将解析参数写入指定文件名,通过查询接口响应json数据获取文件元数据信息

  • 在截图场景无效

  • 在转动图场景无效

  • 输出文件为HLS格式时,文件名称不能命名为index,示例:index.m3u8,否则会导致播放失败。

表5 AnimatedGraphicsOutputParam

参数

是否必选

参数类型

描述

format

String

动图格式,目前仅支持取值 gif

width

Integer

输出动图的宽。

取值范围:0,-1或[32,3840]之间2的倍数。

说明:
  • 若设置为-1, 则宽根据高来自适应,此时“height”不能取-1或0。

  • 若设置为0,则取原始视频的宽,此时“height”只能取0。

height

Integer

输出动图的高。

取值范围:0,-1或[32,2160]之间2的倍数。

说明:
  • 若设置为-1, 则高根据宽来自适应,此时“width”不能取-1或0。

  • 若设置为0,则取原始视频的高,此时“width”只能取0。

start

Integer

起始时间。 单位:毫秒

end

Integer

结束时间。

单位:毫秒。

end、start差值最多60秒。

frame_rate

Integer

动图帧率。

取值范围:[1,75]

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

task_id

String

任务ID

状态码: 400

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

请求示例

创建动图任务,用于将完整的视频文件或视频文件中的一部分转换为动态图文件,暂只支持输出GIF文件。

POST https://{endpoint}/v1/{project_id}/animated-graphics

{
  "input" : {
    "bucket" : "example-bucket",
    "location" : "region01",
    "object" : "example-path/input.mp4"
  },
  "output" : {
    "bucket" : "example-bucket",
    "location" : "region01",
    "object" : "example-path/output",
    "file_name" : "test_mpc.gif"
  },
  "output_param" : {
    "format" : "gif",
    "width" : 480,
    "height" : 360,
    "frame_rate" : 15,
    "start" : 100,
    "end" : 250
  }
}

响应示例

状态码: 200

新建动图任务成功。

{
  "task_id" : 100211
}

状态码: 400

新建动图任务失败。

{
  "error_code" : "MPC.10202",
  "error_msg" : "Invalid request parameter."
}

状态码

状态码

描述

200

新建动图任务成功。

400

新建动图任务失败。

错误码

请参见错误码