智能多媒体服务

  • 智能多媒体 > 使用指南 > 开发指南 >工作流原理

    工作流原理

    最近更新时间:2021-04-15 16:54:20

    工作流(即定义处理一个对象文件的所有计算能力),支持在控制台自定义任务处理的流程,产出一个符合业务需求的输出。

    本文为您介绍工作流的使用场景、设计、示例、使用方式。

    简介

    工作流旨在将大部分多媒体处理功能流程化、实例化,用户可提前编排任务处理流程,对多媒体文件按照特定工作流进行处理,避免用户重复、繁琐的调用接口,提供一站式的多媒体处理服务。同时,工作流提供了条件判断机制,可自定义下一节点处理的触发条件,便于灵活组建场景化处理流程。

    适用哪些场景?

    如果您有以下多媒体处理需求时,或者您期望实现一个 弹性、易用、低成本、灵活支持处理逻辑 的多媒体处理系统,那么工作流则是您期待的最佳解决方案。

    • 您有大量并发处理需求,需要同时对一批多媒体文件做多种处理。

      • 比如转码成不同规格的视频,适配不同终端设备播放。
    • 您有更高级的自定义处理需求。

      • 比如仅对>=1080p的视频做转码,需要通过执行条件来判断对哪些视频做处理,从而减少不必要的处理。
      • 比如先对原视频进行内容审核,对审核结果正常的视频进行转码,对违规视频进行封禁,来规避风险和减少不必要的处理开销。
    • 您需要经过多个步骤的计算处理,得到一个想要的结果。

      • 比如先锐智转码、加水印,再对转码后的文件添加固定的片头/片尾。
    • 您需要对上传到 kodo 空间的文件,自动触发工作流,发起任务处理请求。

    • 您不太清楚如何根据自己的业务场景进行配置,工作流提供了多种推荐配置方案,降低了使用难度。

    工作流特点

    工作流具有的以下特点:

    • 支持大量的并发处理。
    • 提供丰富的计算处理原子服务,如转码、拼接、截图、水印,后期将接入内容审核、智能标签等AI能力。
    • 条件判断机制的引入,可自定义下一节点处理的触发条件。
    • 子节点可以对父节点的输出做再加工计算处理,通过多个步骤的计算处理,从而将源文件转化成符合业务需求的输出。
    • 工作流配置可视化,可增强进度可观测性。
    • 模板可固化工作流,减少重复工作,统一业务处理流程标准。

    工作流示例

    1. 创建多个并发处理的工作流

    img

    • 示例:普通转码 + 锐智转码 + 视频拼接 + 截图处理
      • 此流程表示:同时对源文件进行普通转码、锐智转码、视频拼接、截图处理。
    • 输入源说明:
      • 所有节点的输入源: 源文件

    2. 创建多个原子服务串联处理的工作流

    img

    • 示例:锐智转码 -> 视频拼接 -> 输出
      • 此流程表示:先对源文件进行锐智转码处理,然后对锐智转码后的结果进行视频拼接处理。
    • 输入源说明:
      • 锐智转码节点的输入源:源文件
      • 视频拼接节点的输入源:锐智转码后的处理结果

    3. 创建有条件判断的工作流

    1)示例:视频审核 -> 执行条件(结果违规) -> 封禁 、视频审核 -> 执行条件(结果正常)-> 普通转码 -> 输出

    img

    • 此流程表示:先对源文件进行内容审核,根据执行条件对【违规视频】进行封禁,对【正常视频】进行普通转码处理。
    • 输入源说明:
      • 视频审核节点的输入源是: 源文件
      • 执行条件节点的输入源是 : 视频审核后的处理结果
      • 普通转码节点的输入源是 :源文件

    2)示例:音视频元信息 -> 执行条件 -> 普通转码 -> 输出

    img

    • 此流程表示:先对源文件获取音视频元信息,判断原视频分辨率范围,在范围内的视频,进行普通转码处理;不在范围内的视频,不再流转到下一步处理。
    • 输入源说明:
      • 音视频元信息节点的输入源: 源文件
      • 执行条件节点的输入源 : 音视频元信息处理后的处理结果
      • 普通转码节点的输入源 :源文件

    4.串行工作流子节点输入源说明

    父节点类型 输入源 下一节点可选处理类型
    普通转码 默认处理结果,作为下一节点输入源
    注意:当转码格式为 m3u8 时,不支持继续添加处理节点
    - 普通转码
    - 锐智转码
    - 截图
    - 视频拼接
    锐智转码 默认处理结果,作为下一节点输入源
    注意:当转码格式为 m3u8 时,不支持继续添加处理节点
    - 普通转码
    - 锐智转码
    - 截图视频
    - 视频拼接
    - 截图
    视频拼接 默认处理结果,作为下一节点输入源 - 普通转码
    - 锐智转码
    - 截图视频
    - 视频拼接
    - 截图
    音视频信息 默认处理结果,作为下一节点输入源 - 条件判断
    - 输出
    视频审核 默认处理结果,作为下一节点输入源 - 条件判断
    - 输出
    - 封禁
    执行条件 作为下一节点处理的前置判断条件,当前支持的有:
    1、音视频元信息
    2、视频审核
    - 普通转码
    - 锐智转码
    - 截图视频
    - 视频拼接
    - 截图
    - 输出
    截图 当前版本,处理结果不支持作为下一节点的输入源 - 输出
    封禁 当前只适用于视频审核场景,为结束节点
    输出 为结束节点
    • 父节点为【音视频元信息】,执行条件介绍如下:

      条件 条件描述
      分辨率 判断视频分辨率范围,对范围内的视频做下一步处理。
    • 父节点为【视频审核】,执行条件介绍如下:

      执行条件 条件描述
      视频审核结果为【正常】 父节点审核结果为正常时,执行下一节点处理
      视频审核结果为【违规】 父节点审核结果为违规时,执行下一节点处理
      视频审核结果为【疑似】 父节点审核结果为疑似时,执行下一节点处理
      视频审核结果不是【正常】 父节点审核结果为【违规】或【疑似】,执行下一节点处理
      视频审核结果不是【违规】 父节点审核结果为【正常】或【疑似】,执行下一节点处理


      5.输出

      对节点的处理结果进行保存时,需要点击【输出】节点进行配置,不同的处理类型的输出会有差异。

    • 单输出,普通转码->mp4。

      img

      • 输出空间:必填项,处理完成后新生成文件将存储在该空间中。

      • 输出文件名,支持以下两种命名方式:

        a. 前缀+后缀 : 至少填写1个

        b. 魔法变量:点击【切换自定义文件名】

        • 支持魔法变量或自定义字符串。魔法变量引用格式为 {{.var}} ,魔法变量仅支持 bucket、key、fname、fprefix、ext、count。

    • 多输出,普通转码->m3u8。

      img

      • 输出空间:必填项,处理完成后新生成文件将存储在该空间中。

      • 输出文件名,支持以下两种命名方式:

        a. 前缀+后缀 :至少填写1个

        b. 魔法变量:点击【切换自定义文件名】

        • 支持魔法变量或自定义字符串。魔法变量引用格式为 {{.var}} ,魔法变量仅支持 bucket、key、fname、fprefix、ext、count。

      ​​

    处理流程

    工作流的处理流程如下:

    img

    1. 用户在智能多媒体平台,配置工作流。

    2. 用户上传多媒体文件。

    3. 任务发起方式

      • 指定文件,选择工作流。
      • 创建任务触发器,上传完成后自动触发工作流。
    4. 工作流引擎根据工作流配置,自动发起多媒体处理请求。

    创建工作流

    登录【智能多媒体控制台】,进入【导航栏->工作流】页面。如何创建工作流,详细的控制台操作,请参考 工作流

    以上内容是否对您有帮助?
  • Qvm free helper
    Close