简介
数据工作流是对象存储推出的数据处理服务,旨在将大部分多媒体处理功能流程化、标准化,用户可提前编排任务处理流程,对多媒体文件按照特定工作流模板进行处理,避免用户重复、繁琐的调用接口。
数据工作流特点
如果您有以下多媒体处理需求时,或者您期望实现一个 弹性、易用、低成本、灵活支持处理逻辑 的多媒体处理系统,那么数据工作流则是您期待的最佳解决方案。
-
支持大量的并发处理。需要同时对一批多媒体文件做多种处理。
- 比如转码成不同规格的视频,适配不同终端设备播放。
-
提供丰富的计算处理原子服务,如转码、拼接、截图、水印,后期将接入内容审核、智能标签等AI能力。
-
支持串行化处理,上一步的输出作为下一步的输入,通过多个步骤的计算处理,从而将源文件转化成符合业务需求的输出。
- 比如先锐智转码、加水印,再对转码后的文件添加固定的片头/片尾。
-
对上传到 kodo 空间的文件,自动触发工作流,发起任务处理请求。
-
工作流模板可固化工作流,减少重复工作,统一业务处理流程标准。
当前数据工作流中,已支持的处理能力:
处理能力 | 描述 |
---|---|
普通转码 | 提供丰富的转码处理功能,将一个音视频文件转换成另一个或多个音视频文件,以适应不同网络带宽、不同终端设备和不同的用户需求。 |
锐智转码 | 锐智转码在编码过程中可以更加高效地分配比特,在保持总体码率不变情况下改善编码视频的视觉质量。通过加入这种场景内容自适应技术,原有的分辨率和码率组合会更加精简,从而有效降低内容提供商的存储和分发成本。 |
视频水印 | 在视频的编解码过程中将图片、文字等信息压制到视频流中合并输出一个带图文水印的新的视频文件。 |
视频截图 | 在指定视频特定的位置进行图像截取,并生成图片文件。 |
音视频拼接 | 用于把多个视频/音频拼接在一起,输出成一个格式、编码、分辨率相同的新视频。 |
自定义节点 | 为了满足更多的多媒体文件处理需求,工作流模板支持更高阶的 自定义节点 ,通过填写命令的方式来覆盖更多的处理场景,自定义节点支持填写以下2种类型处理命令: 1. 智能多媒体音视频处理、画质增强、图片处理等官方应用处理, 见官方API文档 2. 自定义数据处理,即 ufop |
功能概览
您可通过导航栏进入各功能页面,以完成功能的配置、使用。
-
预设集管理:创建工作流模板时,您通常需要设置一系列处理参数,使用预设集能简化操作,可以让配置重复使用。您可以直接使用系统预设,也可以自定义预设。
-
工作流模板:是预先编排好的一系列媒体处理流程(如转码、截图、视频拼接等各类处理),您可以在工作流配置中选择系统预设或自定义预设。之后在创建任务时指定工作流模板即可执行媒体处理操作。
-
任务触发器:任务触发器与空间绑定,将对符合规则策略的上传文件自动触发多媒体处理,并将结果文件保存到目标路径。
-
任务管理:针对待上传文件或已存储在空间中文件,您可以创建任务,发起多媒体数据处理。
任务创建
您可以通过以下几种方式来创建任务:
方式一:使用任务触发器
-
对符合规则策略的上传文件自动触发
:在具体空间下,选择任务与工作流,进入任务触发器页面,点击新建 任务触发器;创建完成后,需要开启 上传触发开关,然后通过左侧文件管理或 API/SDK 上传文件到触发器指定的输入路径;将对符合规则策略的上传文件自动触发多媒体处理,并将结果文件保存到目标路径。
方式二:使用对象存储控制台
-
上传文件手动触发
:在具体空间下, 上传文件 时,指定工作流模板 。 -
指定文件手动触发
:有两种指定单个文件创建任务的入口-
第一个入口:在具体空间下,在文件列表中指定文件,在操作栏【更多】中点击【创建多媒体任务】。
注意:仅对音视频/gif动图/webp动图文件提供该操作。
-
第二个入口:在具体空间下,选择任务与工作流,进入任务管理页面,点击【新建任务】。
-
方式三:使用API
资源上传时手动触发
:可以在构造上传凭证时在上传策略中,设置相关字段,在资源文件上传时触发处理。对已有资源手动触发
:可以在调用 持久化数据处理(pfop) 时,设置相关字段,对已存在空间中的资源文件发起处理。
方式四:使用SDK
- 查看各语言 SDK 使用指南中
持久化数据处理
章节,可在七牛官方SDK 进行下载。
任务查询
通过【工作流模板】 创建的任务,您可以使用以下2种方式进行查询:
任务通知
在创建工作流模板时,支持设置回调地址URL,支持对任务处理后的结果,及时进行消息通知。任务通知是异步进行的,不影响正常的操作。回调内容的字段名称、类型、描述,见 任务状态查询API。
示例
如果请求成功,返回包含如下内容的JSON字符串(已格式化,便于阅读):
{
"id": "16864pauo1vc9nhp12",
"code": 0,
"creationDate": "2024-08-27T19:02:44.664312968+08:00",
"desc": "The fop was completed successfully",
"inputKey": "sample.mp4",
"inputBucket": "dutest",
"items": [
{
"cmd": "avthumb/mp4/r/30/vb/256k/vcodec/libx264/ar/22061/ab/64k/acodec/libmp3lame",
"code": 0,
"desc": "The fop was completed successfully",
"error": "",
"hash": "FrPNF2qz66Bt14JMdgU8Ya7axZx-",
"key": "v-PtT-DzpyCcqv6xNU25neTMkcc=/FjgJQXuH7OresQL4zgRqYG5bZ64x",
"returnOld": 0
},
{
"cmd": "avthumb/iphone_low",
"code": 0,
"desc": "The fop was completed successfully",
"error": "",
"hash": "FmZ5PbHMYD5uuP1-kHaLjKbrv-75",
"key": "tZ-w8jHlQ0__PYJdiisskrK5h3k=/FjgJQXuH7OresQL4zgRqYG5bZ64x",
"returnOld": 0
},
{
"cmd": "avthumb/m3u8/noDomain/1/r/30/vb/256k/vcodec/libx264/ar/22071/ab/64k/acodec/libmp3lame",
"code": 0,
"desc": "The fop was completed successfully",
"error": "",
"hash": "Fi4gMX0SvKVvptxfvoiuDfFkCuEG",
"key": "8ehryqviSaMIjkVQDGeDcKRZ6qc=/FjgJQXuH7OresQL4zgRqYG5bZ64x",
"returnOld": 0
},
{
"cmd": "avthumb/m3u8/noDomain/1/vb/440k",
"code": 0,
"desc": "The fop was completed successfully",
"error": "",
"hash": "FtuxnwAY9NVBxAZLcxNUuToR9y97",
"key": "s2_PQlcIOz1uP6VVBXk5O9dXYLY=/FjgJQXuH7OresQL4zgRqYG5bZ64x",
"returnOld": 0
}
],
"pipeline": "0.default",
"reqid": "ffmpeg.3hMAAH3p5Gupb6oT"
"type": "1"
"taskFrom": "workflow:mp4-transcode"
}
常见问题
Q1:回调超时,重试几次?重试间隔多久?
A:重试次数:13;重试间隔依次为:1s 2s 4s 8s 16s 32s …. 最大不超过3600s;重试条件: 回调超时或者客户回调服务器返回 5xx。
Q2:没有收到回调该如何排查?
A:首先需要排查创建任务时,是否配置了回调地址。
如果填写了回调地址,还是没有收到回调,则排查回调地址接收服务是否有问题。或者 提交工单 给我们。
使用限制说明
创建超过数量上限,会报错提示,如需申请更多,请 提交工单 给我们。
功能模块 | 数量上限 |
---|---|
任务触发器 | 30个 |
工作流模板 | 30个 |
预设集管理:指所有预设集类型的总数量,仅限自定义预设,不包含系统预设 | 30个 |
计费说明
多媒体处理能力由智能多媒体服务进行计费,费用详情请参见 计费项。