创建工作流

如果需要制作多码率、多音轨、多字幕或多格式等类型视频,或希望预先编排好一系列任务流程,然后按照编排好的环节和条件依次执行任务,您可以创建工作流并在工作流中设置转码、分析、截图、打包(封装)、审核、提取视频DNA、设置智能封面等任务节点。

背景信息

工作流(Workflow)是预先编排好的一系列任务流程,可以实现在指定OSS Bucket上传一个文件后,自动(或手动)触发按照预先编排好的环节和条件依次执行作业。您可以在工作流中设置转码分析截图打包审核视频DNA智能封面等节点,各节点自由组合之后可以实现多分辨率转码多语言字幕打包HLS标准加密等典型功能场景。

了解工作流完整流程,请参见快速使用工作流,本文主要介绍如何通过控制台创建工作流。

前提条件

  • 设置输入Bucket和输出Bucket。具体操作,请参见添加媒体Bucket

  • 根据任务类型开启对应管道。具体操作,请参见创建管道

  • 可选:创建模板。如果预置转码模板不能满足您的业务需求,您可以自定义转码模板。具体操作,请参见转码模板

操作步骤

重要
  • 工作流创建后,将自动激活为启用状态,且触发模式为自动触发。即无论以何种方式新增上传(OSS上传、控制台上传)至输入节点绑定的输入路径的文件,只要满足触发规则,就会自动触发工作流执行。触发规则详细说明,请参见工作流的文件匹配规则

  • 工作流也支持新增文件手动触发工作流(推荐输入文件为直播录制的M3U8文件使用)、历史文件手动触发工作流,详细说明请参见本文后续步骤

  1. 登录媒体处理控制台

  2. 在顶部菜单栏左侧选择地域。

  3. 在左侧导航栏,选择工作流 > 工作流编排

  4. 单击创建工作流

  5. 按需设置工作流参数。

    1. 工作流名称:在输入框中填写工作流名称。

    2. 配置方案:在下拉列表中选择配置方案,各方案说明如下表。

      说明

      为满足通用场景需求,媒体处理提供了多种预置工作流,您可以选择一个预置工作流进行快速编辑,也可以根据自身需求自定义创建。

      方案名称

      说明

      自定义

      无任何预置信息,从零开始自由创建工作流。

      M3U8

      进行单张封面截图,并把视频转为M3U8格式。

      预置智能模板工作流

      进行单张封面截图,并根据视频信息进行智能分析后转码,对转码后的标清视频截图。

      多码率多格式工作流

      进行单张封面截图,并生成多种视频格式和码率视频。

      FLV多码率工作流

      进行单张封面截图,并生成FLV格式的多码率视频。

      M3U8多码率工作流

      进行单张封面截图,并生成M3U8格式的多码率视频。

      MP4多码率工作流

      进行单张封面截图,并生成MP4格式的多码率视频。

  6. 编辑工作流拓扑结构。请按需添加和设置节点,各节点说明请参见下文节点说明

  7. 单击保存,完成工作流创建。

节点说明

通过控制台创建工作流,可添加如下节点:

说明

下表节点为MPS所有工作流节点,实际添加时会根据当前地域功能支持情况显示对应节点。各地域功能支持情况,请参见服务地域

节点名称

节点说明

输入(必选)

设置输入路径、绑定消息通知。

分析

对输入文件进行智能分析,推荐出适合输入文件的预置模板。

转码

可以将视频文件转码成适合在全平台播放的格式。

截图

截取指定时间点的画面,用做视频封面或生成雪碧图。

打包

将多字幕、多音轨、多码率视频流生成一个Master Playlist文件的过程。

审核

智能识别视频内语音、文字、画面的色情、暴恐涉政、不良画面等内容,大幅节省人工审核人力成本,降低违规风险。

视频DNA

用来唯一标记一个视频,实现对视频中的图像、音频等指纹特征的提取和比对,解决重复视频查找、视频片段查源、原创识别等问题。

智能封面

通过对视频内容的理解,结合画面和海量用户行为数据,基于算法选出最优的关键帧或关键片段作为视频封面,提升视频点击转化及用户体验。

发布(必选)

设置手动发布、自动发布。

输入节点

  1. 单击输入节点右侧的笔形图标。进入输入设置页面。输入节点

  2. 设置输入参数。

    参数

    说明

    输入路径

    单击选择。在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket已经创建好的文件夹,在文件夹下选择一个地址作为输入路径。

    转码管道

    在下拉列表中选择管道。

    (可选)消息通知

    单击开关按钮,选择消息队列或消息主题,并设定队列或消息的实例。

    说明

    设置消息通知后,当工作流中的任务开始执行和执行完成时,会向指定的主题或队列发送消息通知。具体操作,请参见设置消息通知

  3. 单击确定,完成输入节点设置。

分析节点

说明

输入节点、审核节点、视频DNA节点、智能封面节点,单击加号图标,均可以添加分析节点。

  1. 单击相关节点右侧的加号图标,在下拉列表中选择分析节点。输入

  2. 单击分析节点右侧的笔形图标,进入分析配置页面。笔形

  3. 条件转码下拉列表中选择清晰度。

  4. 单击确定,完成分析节点设置。

转码节点

说明

输入节点、审核节点、视频DNA节点,单击加号图标,均可以添加转码节点。

  1. 单击相关节点右侧的加号图标,在下拉列表中选择转码节点。节点

  2. 单击转码节点右侧的笔形图标,进入基础配置页面。节点

  3. 设置转码。

    参数

    说明

    名称

    在文本框中输入本节点名称。

    转码模板

    单击选择,在弹出窗中设置转码模板

    1. 选择模板类型

    2. 选择输出格式

    3. 选择模板

    4. 单击确定

    说明

    预置模板说明,请参见预置模板详情。创建自定义模板,请参见转码模板

    输出路径

    单击选择。在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket已经创建好的文件夹,在文件夹下选择一个地址作为输出路径。

    说明
    • 当输出路径和输入路径相同时:

      • 若文件不同名,则输出文件不会覆盖源文件。

      • 若文件同名,是否覆盖由OSS配置决定。无需覆盖的配置方法请参见Java禁止覆盖同名文件。配置后会导致同名文件转码完成后写入OSS失败,建议不要设置输出文件与源文件同名。

    • 为避免媒体工作流多次执行时覆盖输出文件,您可以组合使用系统内置的UC变量参数:

      • {RunId}:媒体工作流执行ID。

      • {ObjectPrefix}:不含Bucket信息的原文件路径。

      • {FileName}:含扩展名的原文件名,根据转码模板的format补齐后缀。

      • {ExtName}:原文件扩展名。

    (可选)水印开关

    单击开关按钮

    1. 水印模板下拉列表中选择模板名称。

      说明

      如果下拉列表中没有水印模板,请创建水印模板

    2. 水印图片右侧单击选择添加水印图片路径。

      说明

      图片水印支持PNG图片、PNG动图、MOV格式的动图。

    (可选)加密

    单击开关按钮

    加密方式选项中,选择阿里云私有加密HLS标准加密。视频加密详细介绍,请参见视频加密

    (可选)剪辑

    单击开关按钮

    1. 剪辑方式选项中,选择视频片段剪辑片尾剪辑

    2. 剪辑开始时间输入框中选择时间。

    3. 时长输入框中选择时间。

      说明
      • 剪辑开始时间需要小于视频总时长,否则会导致转码失败。

      • 如果剪辑时长超出可剪辑的视频时长,则最多截取到源视频片尾。

    (可选)添加片尾

    单击开关按钮。在文件路径右侧,单击选择,选择添加固定片尾视频的路径。

    (可选)旋转角度

    在输入框中输入顺时针旋转角度,取值范围[0,360]。

  4. 单击确定,完成转码节点设置。

截图节点

说明

输入节点、转码节点、审核节点、视频DNA节点、智能封面节点,单击加号图标,均可以添加截图节点。

  1. 单击相关节点右侧的加号图标,在下拉列表中选择截图节点。截图

  2. 单击截图节点右侧笔形图标,进入截图配置页面。图标

  3. 设置截图参数。

    参数

    是否必选

    说明

    截图方式

    必选

    • 单张截图:设置一个明确的截图时间点,截取对应的视频图像。

    • 多张截图:按照设置的间隔时间,均匀的截取对应视频的多帧图像,每帧图像都是一个图片文件。也叫批量截图、序列截图。

    • 平均截图:按照设定的截图张数,均匀地对视频进行切分并截取指定数量的图像。

    截图间隔时间(秒)

    多张截图时必选

    在文本框中输入截图间隔时间,单位为秒。

    截图数量

    平均截图时必选

    在文本框中输入截图数量。

    说明
    • 不设置截图数量时,表示按照间隔时间,一直截取到视频结尾。

    • 截图数量大于1时,表示按照间隔时间,截取到指定数量的图像时就停止截图。

    • 只设置截图数量时,表示按总时长/截图数量的时间间隔,平均截图。

    名称

    必选

    在文本框中输入本节点名称。

    输出路径

    必选

    单击选择,在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket已经创建好的文件夹,在文件夹下选择一个地址作为输出路径。

    说明
    • 单张截图路径格式:http://bucket.oss-cn-hangzhou.aliyuncs.com/path/{RunId}/{SnapshotTime}.jpg

    • 多张截图/平均截图路径格式:需要使用{Count}占位符,即path后为/{RunId}/{SnapshotTime}/{Count}.jpg

    开始时间

    非必选

    在下拉列表中按时、分、秒,选择时间。

    宽度×高度

    非必选

    在输入框中分别填写宽度和高度值。

    说明
    • 如果宽和高都不设置时,图片的尺寸和视频相同。

    • 如果只设置宽(或高)时,另一边会按照视频的分辨率保持比例不变,避免图像变形。

    生成Webvtt索引文件

    多张截图、平均截图时可选

    单击开关按钮,表示需要生成webVTT格式的索引文件。

    设为封面

    非必选

    单击开关按钮,此节点截取的图片会自动设置为媒体库中该媒体的封面,当有多张截图时,默认第一张设为封面。

    关键帧

    非必选

    单击开关按钮,截图类型如果为关键帧,则表示只截取关键帧,如对应指定时间点为非关键帧,则就近选取关键帧。

    黑屏检测

    多张截图、平均截图时可选

    单击开关按钮,会检测视频的前5秒,如果前5秒内存在画面,则截取第一帧非黑屏的画面。

  4. 单击确定,完成截图节点设置。

打包节点

说明

只能在输入节点单击加号图标进行添加。

  1. 单击输入节点右侧的加号图标,在下拉列表中选择打包节点。打包

    打包节点分为以下3个子节点:节点

  2. 添加后默认显示打包配置视频提取打包生产等3个子节点。请参考下方说明添加更多子节点,实现多媒体流打包。

    • 实现多码率:请单击打包配置节点右侧的加号图标,在下拉列表中选择视频提取节点。

    • 实现多音轨:请单击打包配置节点右侧的加号图标,在下拉列表中选择音频组节点。再单击音频组节点右侧的加号图标,在下拉列表中选择音频提取节点。

    • 实现多字幕:请单击打包配置节点右侧的加号图标,在下拉列表中选择字幕组节点。再单击字幕组节点右侧的加号图标,在下拉列表中选择字幕提取节点。

    打包
  3. 依次单击打包配置右侧笔形图标,进入配置页面。各子节点配置说明如下。

    • 打包配置

      参数

      说明

      打包名称

      文本框中输入本节点名称。

      打包类型

      默认为HLS。

      输出Bucket

      选择输入路径后自动显示。

      输出路径

      单击选择,在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket下已经创建好的文件夹,请选择一个作为输出路径。

    • 视频提取

      参数

      说明

      名称

      在文本框中输入本节点名称。

      转码模板

      单击选择,选择转码模板。

      说明

      预置转码模板说明,请参见预置模板详情。设置自定义转码模板,请参见转码模板

      资源路径

      建议您使用默认值。您也可以根据具体需求进行修改。

      说明

      若打包配置节点的输出路径为a/b/c.m3u8,视频提取节点的资源路径为d/e/f.m3u8,则提取文件实际存放位置为a/b/d/e/f.m3u8

      (可选)水印开关

      单击开关按钮

      1. 水印模板下拉列表中选择模板名称。创建水印模板,请参见水印模板

      2. 水印图片右侧单击选择添加水印图片路径。

        说明

        图片水印支持PNG图片、PNG动图、MOV格式的动图。

      (可选)加密

      单击开关按钮,在加密方式选项中,选择阿里云私有加密或HLS标准加密。视频加密详细介绍,请参见视频加密

      (可选)剪辑

      单击开关按钮

      1. 剪辑方式选项中,选择视频片段剪辑片尾剪辑

      2. 剪辑开始时间输入框中选择时间。

      3. 时长输入框中选择时间。

        说明
        • 剪辑开始时间需要小于视频总时长,否则会导致转码失败。

        • 如果剪辑时长超出可剪辑的视频时长,则最多截取到源视频片尾。

      (可选)添加片尾

      单击开关按钮,在文件路径右侧,单击选择,选择添加固定片尾视频的路径。

      (可选)旋转角度

      在文本框中输入顺时针旋转角度,取值范围[0,360]。

    • 打包生成

      参数

      说明

      网络带宽

      为本路视频流,设置适合播放的带宽值。

      音频组

      为本路视频流,绑定已创建的音频组。

      字幕组

      为本路视频流,绑定已创建的字幕组。

    • 音频组及音频提取

      子节点

      参数

      说明

      音频组

      名称

      在文本框中输入本组音频名称。

      音频提取

      名称

      在文本框中输入本节点名称。

      转码模板

      单击选择,在弹出窗中设置转码模板

      说明

      预置转码模板说明,请参见预置模板详情。设置自定义转码模板,请参见转码模板

      资源路径

      建议您使用默认值。您也可以根据具体需求进行修改。

      说明

      若打包配置节点的输出路径为a/b/c.m3u8,视频提取节点的资源路径为d/e/f.m3u8,则提取文件实际存放位置为a/b/d/e/f.m3u8

      音轨名称

      在文本框中填写音轨名称。

      提取音轨

      在文本框中填写输入文件中的待提取音轨的音轨序号。

      音轨语言

      在下拉列表中选择对应语言。

    • 字幕组及字幕提取

      子节点

      参数

      说明

      字幕组

      名称

      在文本框中输入本组字幕名称。

      字幕提取

      名称

      在文本框中输入本节点名称。

      字幕上传URI

      单击选择,在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket下已经创建好的文件夹,请选择一个文件作为输入字幕路径。输入字幕支持STL、TTML、VTT格式。

      资源路径

      建议您使用默认值。您也可以根据具体需求进行修改。

      说明

      若打包配置节点的输出路径为a/b/c.m3u8,视频提取节点的资源路径为d/e/f.m3u8,则提取文件实际存放位置为a/b/d/e/f.m3u8

      字幕名称

      在文本框中填写字幕名称。

      字幕语言

      在下拉列表中选择对应语言。

  4. 单击确定,完成各节点设置。

审核节点

说明

审核节点仅支持华北2(北京)、华东2(上海)、新加坡地域。在输入节点、转码节点,单击加号图标,均可以添加审核节点。

  1. 单击相关节点右侧的加号图标,在下拉列表中选择审核节点。节点

  2. 单击审核节点笔形图标,进入审核配置页面。设置

  3. 设置审核参数。

    参数

    说明

    审核管道

    在下拉列表中选择管道。

    说明

    如果审核管道下拉列表中没有管道名称,请先开启审核专用管道。具体操作,请参见创建管道

    输出路径

    单击选择,在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket下已经创建好的文件夹,请选择一个作为输出路径。

    说明
    • 当输出路径和输入路径相同时:

      • 若文件不同名,则输出文件不会覆盖源文件。

      • 若文件同名,是否覆盖由OSS配置决定。无需覆盖的配置方法请参见Java禁止覆盖同名文件。配置后会导致同名文件转码完成后写入OSS失败,建议不要设置输出文件与源文件同名。

    • 为避免媒体工作流多次执行时覆盖输出文件,您可以组合使用系统内置的UC变量参数:

      • {RunId}:媒体工作流执行ID。

      • {ObjectPrefix}:不含Bucket信息的原文件路径。

      • {FileName}:含扩展名的原文件名,根据转码模板的format补齐后缀。

      • {ExtName}:原文件扩展名。

    是否终止工作流

    您可根据审核结果决定是否终止工作流,选项如下:

    • 不终止工作流

    • 审核结果为“人工审核”或“拦截”时,终止工作流

    • 审核结果为“拦截”时,终止工作流

  4. 单击确定,完成审核节点设置。

视频DNA节点

说明

视频DNA节点仅支持华北2(北京)、华东1(杭州)、华东2(上海)、新加坡区域。在输入节点、转码节点,单击加号图标,均可以添加视频DNA节点。

  1. 单击相关节点右侧的加号图标,在下拉列表中选择视频DNA节点。DNA

  2. 单击视频DNA节点右侧的笔形图标,进入视频DNA配置页面。设置

  3. 设置视频DNA参数。

    参数

    说明

    视频DNA管道

    在下拉列表中选择管道。

    说明

    如果视频DNA管道下拉列表中没有管道名称,请先开启视频DNA专用管道。具体操作,请参见创建管道

    入库规则

    • 仅入库不重复内容:表示DNA库中只保存不重复的视频的DNA,重复视频将不会对其DNA进行入库操作。

    • 所有视频均不入库:表示对视频只做比对并不需要保留视频DNA。

    是否终止工作流

    您可根据处理结果决定是否终止工作流,选项如下:

    • 不终止工作流

    • 视频重复时,终止工作流

  4. 单击确定,完成视频DNA节点设置。

智能封面节点

说明

智能封面节点仅支持华北2(北京)、华东2(上海)、新加坡地域。在输入节点、转码节点,单击加号图标,均可以添加智能封面节点。

  1. 单击相关节点右侧的加号图标,在下拉列表中选择智能封面节点。封面

  2. 单击智能封面节点右侧笔形图标,进入智能封面页面。智能

  3. 设置智能封面参数。

    参数

    说明

    名称

    在文本输入框中输入封面名称。

    智能封面管道

    在下拉列表中选择管道。

    说明

    如果智能封面管道下拉列表中没有管道名称,请先开启智能封面管道。具体操作,请参见创建管道

    输出路径

    单击选择,在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket下已经创建好的文件夹,请选择一个作为输出路径。

    说明
    • 当输出路径和输入路径相同时:

      • 若文件不同名,则输出文件不会覆盖源文件。

      • 若文件同名,是否覆盖由OSS配置决定。无需覆盖的配置方法请参见Java禁止覆盖同名文件。配置后会导致同名文件转码完成后写入OSS失败,建议不要设置输出文件与源文件同名。

    • 为避免媒体工作流多次执行时覆盖输出文件,您可以组合使用系统内置的UC变量参数:

      • {RunId}:媒体工作流执行ID。

      • {ObjectPrefix}:不含Bucket信息的原文件路径。

      • {FileName}:含扩展名的原文件名,根据转码模板的format补齐后缀。

      • {ExtName}:原文件扩展名。

    (可选)设置封面

    单击开关按钮,将图片设为封面。

  4. 单击确定,完成智能封面节点设置。

发布节点

  1. 单击发布节点右侧笔形图标,进入发布设置页面。发布

  2. 设置发布参数。

    参数

    说明

    媒体发布类型

    选择工作流任务完成后的媒体发布方式。

    • 手动发布:工作流执行成功后,将媒体设置为未发布状态,之后您可以手动发布该媒体。手动发布媒体文件,请参见管理媒体

    • 自动发布:工作流执行成功后,将媒体设置为发布状态。

      说明

      发布状态会影响输出文件的访问权限。

      • 不发布:视频、音频、截图文件的访问权限为私有。

      • 已发布:视频、音频、截图文件的访问权限继承所在Bucket的访问权限。

  3. 单击确定,完成发布节点设置。

后续步骤

重要

直播录制的M3U8文件,如果在录制过程中多次调用OSS PutObject来更新M3U8文件,会导致多次触发工作流执行。为了避免重复触发,建议将工作流设置为手动触发,待M3U8文件最终更新完毕再调用AddMedia接口触发工作流。或工作流设置为自动触发,但需要等整场直播录制完毕,再一次性上传到OSS。

  • 工作流创建后,将自动激活为启用状态,且触发模式为自动触发。即无论以何种方式新增上传(OSS上传、控制台上传)至输入节点绑定的输入路径的文件,只要满足触发规则,就会自动触发工作流执行。上传文件请参见上传视频,触发规则请参见工作流的文件匹配规则

  • 如果您希望新增文件通过手动触发工作流执行,可以:

    1. 调用UpdateMediaWorkflowTriggerMode接口,配置TriggerMode参数为NotInAuto,将已有工作流修改为不自动触发。或调用AddMediaWorkflow接口,配置TriggerMode参数为NotInAuto,创建一个不自动触发的新工作流。

    2. 当需要触发时,调用AddMedia提交新增媒体作业接口以触发工作流执行。

  • 如果您希望对历史文件触发工作流执行,请调用AddMedia提交新增媒体作业接口以触发工作流执行。

  • 如您希望编辑、停用工作流,请参见编辑、停用工作流

相关API