注意云点播【托管模式】功能将逐步调整下线,存量用户仍可继续使用。新用户请使用【点播模式】。
综述
工作流(Workflow)是预先编排好的一系列任务流程。云点播【托管模式】监听特定对象存储路径,在文件上传监听路径后触发消息通知,按照预设的工作流程执行转码、截图、审核等任务动作。每个动作都可以实现多任务并发,一进多出。以下我们将通过一个具体示例来阐明工作原理。
下图阐释了一个样例文件sample.mp4从本机上传至对象存储桶的监听路径后触发工作流事件的完整流程。
- 用户本机的文件sample.mp4通过SDK、用户控制台或第三方S3工具上传至媒体存储。在文件完成传输完成后,媒体存储根据工作流的配置判断后,会生成一个事件通知。判断的依据主要为:
(1)该文件是否上传至工作流配置的监听路径下。注意,如果文件实际上传路径深于监听路径,也是可以触发事件的。例如监听目录为input/,而文件实际上传至input/path1/path2/sample.mp4。
(2)该文件的扩展名是否在工作流支持的文件类型范围内。注意,媒体存储仅判断该文件扩展名是否在支持列表内(不区分大小写)。因此如果文件不包含扩展名,或者扩展名不正确,均不能正常触发工作流事件。
(3)该工作流是否已经启用。 - 云点播接收到媒体存储的事件通知后,会根据监听路径匹配的工作流配置,产生特定的处理指令发送给各功能模块。
- 各功能模块在完成任务后,会执行以下操作(1)将执行产生的数据文件(视频、截图等)回写至工作流配置的输出路径下;(2)按照工作流(或全局回调)配置的回调路径,将任务结果(JSON格式)以HTTP POST方法发送至指定回调地址。
- 用户接收回调事件后处理后续业务流程。
新建工作流
前提条件
- 已开通云点播产品。
- 已开通至少一个点播区域。
- 已经完成至少一个存储桶的托管。
操作步骤
进入云点播控制台,选择左侧导航栏的【托管模式】–【工作流设置】可打开工作流的配置页面(如下图所示)。
列表中展示各字段说明
一级选项 | 二级选项 | 取值样例 | 说明 |
---|---|---|---|
工作流ID | 100100000440 | 工作流ID,用作云点播系统内的标识,在云点播系统内全局唯一。 | |
工作流名称 | 工作流测试 | 工作流的可读化名称。 | |
状态 | 已启用 | 当前工作流的启用状态。【已停用】代表当前工作流未启用,当有文件写入时不触发动作;【已启用】代表当前工作流处于激活状态,当有文件写入时会触发动作。 | |
创建时间 | 2023-07-10 16:12:37 | 工作流的创建时间。 | |
修改时间 | 2023-07-10 16:12:37 | 工作流的修改时间。 | |
操作 | 详情 | 当前工作流的配置细节。 | |
操作 | 启用 | 当该工作流处于停用状态时,点击可启用该工作流。 | |
操作 | 停用 | 当该工作流处于启用状态时,点击可停用该工作流。 | |
操作 | 修改 | 当该工作流处于停用状态时,点击对该工作流的动作部分进行修改。 | |
操作 | 删除 | 当该工作流处于停用状态时,点击将删除该工作流。 |
当用户点击该页面左上角的【新建工作流】时,可进入工作流新建页面。创建一条合法工作流,总共有两个步骤:
步骤一:输入设置
在该页面,您需要填入以下内容:
需填入数据字段说明
一级选项 | 二级选项 | 是否必填 | 说明 |
---|---|---|---|
工作流名称 | 是 | 用户需要为该工作流起一个容易记忆、标识的名称。该名称需要遵循以下规则:中英文字符、数字、下划线和短横线“-”,不超过20位。 | |
备注 | 否 | 用户可以在备注栏补充关于该工作流的一些细节描述,供管理使用。总字数长度不超过200字即可。 | |
工作流回调 | 否 | 用户可以为该工作流配置一个专属的回调地址,专门用于接收该工作流产生的所有动作事件。关于该回调配置的详细说明,可查阅【托管模式】-【回调通知】。 | |
输入 | 托管存储区 | 是 | 托管桶所在的存储资源池位置。 |
输入 | 存储桶 | 是 | 托管桶名称,您可以在下拉框找到之前托管授权的所有存储桶名称。如果是子账户配置,此处需要准确填写存储桶名称,无下拉选项。 |
输入 | 对象路径 | 是 | 该工作流的动作触发入口。当有文件写入到该路径时,将会触发后续的工作流动作。请注意路径的命名规范。输入路径默认需以"/"结尾,表示一个“目录”。如用户在工作流配置中未输入"/",系统会自动为用户补全。 |
输入 | 媒体类型 | 是 | 写入上述对象路径的文件,云点播将会根据本设置项预设的文件类型决定是否触发工作流动作。您需要确保写入的文件扩展名在该媒体类型支持的范围内。目前已经支持的媒体类型详见功能介绍。 |
注意
该页面配置的信息在工作流完成后输入部分的信息不可再修改,请注意确保信息准确。
请注意本步骤配置的输入路径不要跟下一步的输出路径重复,否则可能造成循环触发造成您的经济损失。
托管存储区+存储桶+输入路径的组合在租户级别全局唯一,因此不允许出现多条工作流中出现这三个参数完全一致的情况。
步骤二:动作设置
在步骤一配置完成后,点击【下一步】进入动作设置的配置页面。
在该页面,您可以为工作流配置转码、截图、审核、拼接四种动作。当上一步的输入路径写入文件后,这里配置的动作会并行触发。您可以根据这个机制,实现一次写入,所有动作同步完成的效果,提升处理效率。除了审核动作外,其他动作都支持配置0-N条平行子配置,但这四个动作中至少需要配置一个。在每个动作的左上角,点击【添加配置】均可增加一条相关配置,具体的配置说明可参考以下表格。
转码动作配置
配置项 | 是否必填 | 说明 |
---|---|---|
转码模板 | 是 | 当输入文件符合步骤一的输入配置时,将按照该转码模板执行转码动作。相关模板的配置可参考【公共模板管理】-【转码模板】。 |
水印模板 | 否 | 在执行转码时,如果需要对转码后视频叠加水印,可配置水印模板。相关模板的配置可参考【公共模板管理】-【水印模板】。 |
托管存储区 | 是 | 转码后输出文件的存储区域。 |
输出Bucket | 是 | 转码后输出文件的存储桶名称,需要是已经托管的存储桶。 |
输出路径 | 是 | 转码后输出文件的在存储桶内的路径前缀。 请注意此路径不要跟上一步的输入路径相同。 输出路径默认需以"/"结尾,表示一个“目录”。如用户在工作流配置中未输入"/",系统会自动为用户补全。 |
命名规则 | 是 | 输出文件的命名规律。为了避免同名文件产生的标识混乱,同时建立输入、输出文件的关联,云点播在此引入两个文件名变量{input}和{follow_input}。 其中{input}代表输入文件的文件名部分(不包含扩展名)。{follow_input}代表输入路径后除扩展名以外的部分。 例如:用户在某桶的input/监听路径下,又新建了名为【pathA】的子目录。并在该子目录下上传了一个媒体文件sample.mp4,其完整输入路径为 "input/pathA/sample.mp4"。 则在输出路径产生的输出文件中,{input}代表了“sample”部分。而{follow_input}代表了"pathA/sample"部分。 此处{input}和{follow_input}变量,您必须任意选择其中一种。也可以在此基础上添加其他允许字符(包括数字、英文、中文、英文点号、下划线、短横线),以匹配业务需求。 |
ACL权限 | 是 | 输出文件的ACL权限。您可以选择【公共读】或者【私有】。请注意,文件的ACL权限和桶ACL权限作用范围不同。详情可查阅ACL权限的描述。 |
删除配置 | 否 | 删除当前配置。 |
截图动作配置
配置项 | 是否必填 | 说明 |
---|---|---|
截图模板 | 是 | 当输入文件符合步骤一的输入配置时,将按照该截图模板执行截图动作。相关模板的配置可参考【公共模板管理】-【截图模板】。 |
水印模板 | 否 | 在执行截图时,如果需要对截图图片叠加水印,可配置水印模板。相关模板的配置可参考【公共模板管理】-【水印模板】。 |
托管存储区 | 是 | 截图后输出文件的存储区域。 |
输出Bucket | 是 | 截图后输出文件的存储桶名称,需要是已经托管的存储桶。 |
输出路径 | 是 | 截图后输出文件的在存储桶内的路径前缀。 请注意此路径不要跟上一步的输入路径相同。 输出路径默认需以"/"结尾,表示一个“目录”。如用户在工作流配置中未输入"/",系统会自动为用户补全。 |
命名规则 | 是 | 输出文件的命名规律。为了避免同名文件产生的标识混乱,同时建立输入、输出文件的关联,云点播在此引入两个文件名变量{input}和{follow_input}。 其中{input}代表输入文件的文件名部分(不包含扩展名)。{follow_input}代表输入路径后除扩展名以外的部分。 例如:用户在某桶的input/监听路径下,又新建了名为【pathA】的子目录。并在该子目录下上传了一个媒体文件sample.mp4,其完整输入路径为 "input/pathA/sample.mp4"。 则在输出路径产生的输出文件中,{input}代表了“sample”部分。而{follow_input}代表了"pathA/sample"部分。 此处{input}和{follow_input}变量,您必须任意选择其中一种。也可以在此基础上添加其他允许字符(包括数字、英文、中文、英文点号、下划线、短横线),以匹配业务需求。 由于截图任务可能会产生一系列图片,因此在实际输出的图片文件,将会以{input}或{follow_input}为前缀,叠加模版ID和截图时间点生成图片名称。 例如命名规则为{input}_snap,实际截图任务产生了10张图片,截图从0秒开始,每张截图间隔5秒,截图模版ID100000000049,则这10张图片将以{input}_snap_100000000049-00.0.jpg、{input}_snap_100000000049-05.0.jpg等进行编号。完整的图片列表可以通过订阅回调获得。 |
ACL权限 | 是 | 输出文件的ACL权限。您可以选择【公共读】或者【私有】。请注意,文件的ACL权限和桶ACL权限作用范围不同。详情可查阅ACL权限的描述。 |
删除配置 | 否 | 删除当前配置。 |
审核动作配置
配置项 | 是否必填 | 说明 |
---|---|---|
审核模板 | 是 | 当输入文件符合步骤一的输入配置时,将按照该审核模板执行审核动作。相关模板的配置可参考【公共模板管理】-【审核模板】。 |
审核类型 | 是 | 审核的类型,目前仅支持【视频审核】。 |
托管存储区 | 是 | 审核后输出的审核截图和违规图片的存储区域。 |
输出Bucket | 是 | 审核后输出的审核截图和违规图片的存储桶名称,需要是已经托管的存储桶。 |
输出路径 | 是 | 审核后输出的审核截图和违规图片在存储桶内的路径前缀。 请注意此路径不要跟上一步的输入路径相同。 输出路径默认需以"/"结尾,表示一个“目录”。如用户在工作流配置中未输入"/",系统会自动为用户补全。 |
命名规则 | 是 | 审核后输出的审核截图和违规图片的命名规律。请注意,该字段不允许修改。您需要遵循{input}_audit的命名规律。实际输出的图片文件,将会以{input}_audit自定义字段为前缀,叠加模版ID和截图时间点生成图片名称。例如某视频审核任务产生了10张图片,截图从0秒开始,每张截图间隔5秒,审核模版ID100000000049,则这10张图片将以{input}_audit_100000000049-00.0.jpg、{input}_audit_100000000049-05.0.jpg等进行编号。完整的图片列表可以通过订阅回调获得。 |
ACL权限 | 是 | 输出文件的ACL权限。由于审核图片可能包含违禁内容,故此类文件不允许修改权限为公共读。 |
删除配置 | 否 | 删除当前配置。 |
拼接动作配置
配置项 | 是否必填 | 说明 |
---|---|---|
拼接模板 | 是 | 当输入文件符合步骤一的输入配置时,将按照该拼接模板执行拼接动作。相关模板的配置可参考【公共模板管理】-【拼接模板】。 |
水印模板 | 否 | 在执行拼接时,如果需要对拼接视频叠加水印,可配置水印模板。相关模板的配置可参考【公共模板管理】-【水印模板】。 |
托管存储区 | 是 | 拼接后输出文件的存储区域。 |
输出Bucket | 是 | 拼接后输出文件的存储桶名称,需要是已经托管的存储桶。 |
输出路径 | 是 | 拼接后输出文件的在存储桶内的路径前缀。 请注意此路径不要跟上一步的输入路径相同。 输出路径默认需以"/"结尾,表示一个“目录”。如用户在工作流配置中未输入"/",系统会自动为用户补全。 |
命名规则 | 是 | 输出文件的命名规律。为了避免同名文件产生的标识混乱,同时建立输入、输出文件的关联,云点播在此引入两个文件名变量{input}和{follow_input}。 其中{input}代表输入文件的文件名部分(不包含扩展名)。{follow_input}代表输入路径后除扩展名以外的部分。 例如:用户在某桶的input/监听路径下,又新建了名为【pathA】的子目录。并在该子目录下上传了一个媒体文件sample.mp4,其完整输入路径为 "input/pathA/sample.mp4"。 则在输出路径产生的输出文件中,{input}代表了“sample”部分。而{follow_input}代表了"pathA/sample"部分。 此处{input}和{follow_input}变量,您必须任意选择其中一种。也可以在此基础上添加其他允许字符(包括数字、英文、中文、英文点号、下划线、短横线),以匹配业务需求。 |
ACL权限 | 是 | 输出文件的ACL权限。您可以选择【公共读】或者【私有】。请注意,文件的ACL权限和桶ACL权限作用范围不同。详情可查阅媒体存储(原 对象存储融合版)ACL权限的描述。 |
删除配置 | 否 | 删除当前配置。 |
判定条件 | 否 | 用户可以在工作流中,根据输入文件的metadata元数据信息决定是否执行拼接动作。例如当主文件播放时间大于1分钟以上,才执行拼接操作;或者当视频平均码率大于5Mbps以上视频,才进行拼接。用户可以在一个拼接动作中预设多个判定条件,当这多个判定条件同时满足时才触发该拼接动作。当前云点播支持的判定条件包括【播放时长】【视频高度】【视频宽度】【视频码率】。 |
最后点击【完成】按钮后,即可完成对当前工作流的创建。需要注意的是,新创建的工作流默认处于禁用状态,您需要在【工作流设置】页面点击【启用】激活当前工作流。
删除工作流
前提条件
- 已开通云点播产品。
- 已开通至少一个点播区域。
- 已经完成至少一个存储桶的托管。
- 使用主账号登陆用户控制台。
操作步骤
进入云点播控制台,选择左侧导航栏的【托管模式】–【工作流设置】可打开工作流的配置页面(如下图所示)。在该页面选择一条工作流配置,如果当前工作流处于【启用】状态,您需要首先在操作栏点击【更多】-【停用】将该工作流置于停用状态,然后点击随后出现的【删除】按钮,即可删除该工作流。当该工作流删除后,与之相关的各类公共模版的关联检查也随之解除,您可以自行删除关联的公共模版。
修改工作流
前提条件
- 已开通云点播产品。
- 已开通至少一个点播区域。
- 已经完成至少一个存储桶的托管。
- 至少创建了一条工作流。
- 使用主账号登陆用户控制台。
操作步骤
进入云点播控制台,选择左侧导航栏的【托管模式】–【工作流设置】可打开工作流的配置页面(如下图所示)。在该页面选择一条工作流配置,如果当前工作流处于【启用】状态,您需要首先在操作栏点击【停用】将该工作流置于停用状态,然后点击随后出现的【修改】按钮,即可修改该工作流。修改操作与新建操作流程步骤基本一致,此处不再赘述。需要注意一点,已经创建的工作流不允许修改步骤一中的输入部分,请在创建工作流时确保这部分内容的正确性。