智能多媒体服务

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

    工作流原理

    最近更新时间:2021-02-18 16:44:04

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

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

    简介

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

    适用哪些场景?

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

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

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

      • 比如仅对>=1080p的视频做转码,需要通过执行条件来判断对哪些视频做处理,从而减少不必要的处理。
    • 您需要经过多个步骤的计算处理,得到一个想要的结果。

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

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

    工作流特点

    工作流具有的以下特点:

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

    工作流示例

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

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

      img

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

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

      img

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

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

    img

    1. 串行工作流子节点输入源说明
    父节点类型 输入源 下一节点可选处理类型
    普通转码 默认处理结果,作为下一节点输入源
    **注意:**当转码格式为 m3u8 时,不支持继续添加处理节点
    - 普通转码
    - 锐智转码
    - 截图
    - 视频拼接
    锐智转码 默认处理结果,作为下一节点输入源
    **注意:**当转码格式为 m3u8 时,不支持继续添加处理节点
    - 普通转码
    - 锐智转码
    - 截图视频
    - 视频拼接
    - 截图
    视频拼接 默认处理结果,作为下一节点输入源 - 普通转码
    - 锐智转码
    - 截图视频
    - 视频拼接
    - 截图
    音视频信息 默认处理结果,作为下一节点输入源 - 条件判断
    - 输出
    执行条件 作为下一节点处理的前置判断条件,当前支持的有:
    1、音视频元信息的执行条件: 分辨率
    2、条件描述为:判断视频分辨率范围,对范围内的视频做下一步处理。
    - 普通转码
    - 锐智转码
    - 截图视频
    - 视频拼接
    - 截图
    - 输出
    截图 当前版本,处理结果不支持作为下一节点的输入源 - 输出
    1. 输出

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

    • 单输出,普通转码->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