如果需要制作多码率、多音轨、多字幕或多格式等类型视频,或希望预先编排好一系列任务流程,然后按照编排好的环节和条件依次执行任务,您可以创建工作流并在工作流中设置转码、分析、截图、打包(封装)、审核、提取视频DNA、设置智能封面等任务节点。
背景信息
工作流(Workflow)是预先编排好的一系列任务流程,可以实现在指定OSS Bucket上传一个文件后,自动(或手动)触发按照预先编排好的环节和条件依次执行作业。您可以在工作流中设置转码、分析、截图、打包、审核、视频DNA、智能封面等节点,各节点自由组合之后可以实现多分辨率转码、多语言字幕打包、HLS标准加密等典型功能场景。
了解工作流完整流程,请参见快速使用工作流,本文主要介绍如何通过控制台创建工作流。
前提条件
设置输入Bucket和输出Bucket。具体操作,请参见添加媒体Bucket。
根据任务类型开启对应管道。具体操作,请参见创建管道。
可选:创建模板。如果预置转码模板不能满足您的业务需求,您可以自定义转码模板。具体操作,请参见转码模板。
操作步骤
工作流创建后,将自动激活为启用状态,且触发模式为自动触发。即无论以何种方式新增上传(OSS上传、控制台上传)至输入节点绑定的输入路径的文件,只要满足触发规则,就会自动触发工作流执行。触发规则详细说明,请参见工作流的文件匹配规则。
工作流也支持新增文件手动触发工作流(推荐输入文件为直播录制的M3U8文件使用)、历史文件手动触发工作流,详细说明请参见本文后续步骤。
登录媒体处理控制台。
在顶部菜单栏左侧选择地域。
在左侧导航栏,选择
。单击创建工作流。
按需设置工作流参数。
工作流名称:在输入框中填写工作流名称。
配置方案:在下拉列表中选择配置方案,各方案说明如下表。
说明为满足通用场景需求,媒体处理提供了多种预置工作流,您可以选择一个预置工作流进行快速编辑,也可以根据自身需求自定义创建。
方案名称
说明
自定义
无任何预置信息,从零开始自由创建工作流。
M3U8
进行单张封面截图,并把视频转为M3U8格式。
预置智能模板工作流
进行单张封面截图,并根据视频信息进行智能分析后转码,对转码后的标清视频截图。
多码率多格式工作流
进行单张封面截图,并生成多种视频格式和码率视频。
FLV多码率工作流
进行单张封面截图,并生成FLV格式的多码率视频。
M3U8多码率工作流
进行单张封面截图,并生成M3U8格式的多码率视频。
MP4多码率工作流
进行单张封面截图,并生成MP4格式的多码率视频。
编辑工作流拓扑结构。请按需添加和设置节点,各节点说明请参见下文节点说明。
单击保存,完成工作流创建。
节点说明
通过控制台创建工作流,可添加如下节点:
下表节点为MPS所有工作流节点,实际添加时会根据当前地域功能支持情况显示对应节点。各地域功能支持情况,请参见服务地域。
节点名称 | 节点说明 |
输入(必选) | 设置输入路径、绑定消息通知。 |
分析 | 对输入文件进行智能分析,推荐出适合输入文件的预置模板。 |
转码 | 可以将视频文件转码成适合在全平台播放的格式。 |
截图 | 截取指定时间点的画面,用做视频封面或生成雪碧图。 |
打包 | 将多字幕、多音轨、多码率视频流生成一个Master Playlist文件的过程。 |
审核 | 智能识别视频内语音、文字、画面的色情、暴恐涉政、不良画面等内容,大幅节省人工审核人力成本,降低违规风险。 |
视频DNA | 用来唯一标记一个视频,实现对视频中的图像、音频等指纹特征的提取和比对,解决重复视频查找、视频片段查源、原创识别等问题。 |
发布(必选) | 设置手动发布、自动发布。 |
输入节点
单击输入节点右侧的笔形图标。进入输入设置页面。
设置输入参数。
参数
说明
输入路径
单击选择。在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket已经创建好的文件夹,在文件夹下选择一个地址作为输入路径。
转码管道
在下拉列表中选择管道。
(可选)消息通知
单击开关按钮,选择消息队列或消息主题,并设定队列或消息的实例。
说明设置消息通知后,当工作流中的任务开始执行和执行完成时,会向指定的主题或队列发送消息通知。具体操作,请参见设置消息通知。
单击确定,完成输入节点设置。
分析节点
在输入节点、审核节点、视频DNA节点、智能封面节点,单击加号图标,均可以添加分析节点。
单击相关节点右侧的加号图标,在下拉列表中选择分析节点。
单击分析节点右侧的笔形图标,进入分析配置页面。
在条件转码下拉列表中选择清晰度。
单击确定,完成分析节点设置。
转码节点
在输入节点、审核节点、视频DNA节点,单击加号图标,均可以添加转码节点。
单击相关节点右侧的加号图标,在下拉列表中选择转码节点。
单击转码节点右侧的笔形图标,进入基础配置页面。
设置转码。
参数
说明
名称
在文本框中输入本节点名称。
转码模板
单击选择,在弹出窗中设置转码模板。
选择模板类型。
选择输出格式。
选择模板。
单击确定。
输出路径
单击选择。在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket已经创建好的文件夹,在文件夹下选择一个地址作为输出路径。
说明当输出路径和输入路径相同时:
若文件不同名,则输出文件不会覆盖源文件。
若文件同名,是否覆盖由OSS配置决定。无需覆盖的配置方法请参见Java禁止覆盖同名文件。配置后会导致同名文件转码完成后写入OSS失败,建议不要设置输出文件与源文件同名。
为避免媒体工作流多次执行时覆盖输出文件,您可以组合使用系统内置的UC变量参数:
{RunId}:媒体工作流执行ID。
{ObjectPrefix}:不含Bucket信息的原文件路径。
{FileName}:含扩展名的原文件名,根据转码模板的format补齐后缀。
{ExtName}:原文件扩展名。
(可选)水印开关
单击开关按钮。
在水印模板下拉列表中选择模板名称。
说明如果下拉列表中没有水印模板,请创建水印模板。
在水印图片右侧单击选择添加水印图片路径。
说明图片水印支持PNG图片、PNG动图、MOV格式的动图。
(可选)加密
单击开关按钮。
在加密方式选项中,选择阿里云私有加密或HLS标准加密。视频加密详细介绍,请参见视频加密。
(可选)剪辑
单击开关按钮。
在剪辑方式选项中,选择视频片段剪辑或片尾剪辑。
在剪辑开始时间输入框中选择时间。
在时长输入框中选择时间。
说明剪辑开始时间需要小于视频总时长,否则会导致转码失败。
如果剪辑时长超出可剪辑的视频时长,则最多截取到源视频片尾。
(可选)添加片尾
单击开关按钮。在文件路径右侧,单击选择,选择添加固定片尾视频的路径。
(可选)旋转角度
在输入框中输入顺时针旋转角度,取值范围[0,360]。
单击确定,完成转码节点设置。
截图节点
在输入节点、转码节点、审核节点、视频DNA节点、智能封面节点,单击加号图标,均可以添加截图节点。
单击相关节点右侧的加号图标,在下拉列表中选择截图节点。
单击截图节点右侧笔形图标,进入截图配置页面。
设置截图参数。
参数
是否必选
说明
截图方式
必选
单张截图:设置一个明确的截图时间点,截取对应的视频图像。
多张截图:按照设置的间隔时间,均匀的截取对应视频的多帧图像,每帧图像都是一个图片文件。也叫批量截图、序列截图。
平均截图:按照设定的截图张数,均匀地对视频进行切分并截取指定数量的图像。
截图间隔时间(秒)
多张截图时必选
在文本框中输入截图间隔时间,单位为秒。
截图数量
平均截图时必选
在文本框中输入截图数量。
说明不设置截图数量时,表示按照间隔时间,一直截取到视频结尾。
截图数量大于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秒内存在画面,则截取第一帧非黑屏的画面。
打包节点
只能在输入节点单击加号图标进行添加。
单击输入节点右侧的加号图标,在下拉列表中选择打包节点。
打包节点分为以下3个子节点:
添加后默认显示打包配置、视频提取、打包生产等3个子节点。请参考下方说明添加更多子节点,实现多媒体流打包。
实现多码率:请单击打包配置节点右侧的加号图标,在下拉列表中选择视频提取节点。
实现多音轨:请单击打包配置节点右侧的加号图标,在下拉列表中选择音频组节点。再单击音频组节点右侧的加号图标,在下拉列表中选择音频提取节点。
实现多字幕:请单击打包配置节点右侧的加号图标,在下拉列表中选择字幕组节点。再单击字幕组节点右侧的加号图标,在下拉列表中选择字幕提取节点。
依次单击打包配置右侧笔形图标,进入配置页面。各子节点配置说明如下。
打包配置
参数
说明
打包名称
文本框中输入本节点名称。
打包类型
默认为HLS。
输出Bucket
选择输入路径后自动显示。
输出路径
单击选择,在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket下已经创建好的文件夹,请选择一个作为输出路径。
视频提取
参数
说明
名称
在文本框中输入本节点名称。
转码模板
单击选择,选择转码模板。
资源路径
建议您使用默认值。您也可以根据具体需求进行修改。
说明若打包配置节点的输出路径为a/b/c.m3u8,视频提取节点的资源路径为d/e/f.m3u8,则提取文件实际存放位置为a/b/d/e/f.m3u8。
(可选)水印开关
单击开关按钮。
在水印模板下拉列表中选择模板名称。创建水印模板,请参见水印模板。
在水印图片右侧单击选择添加水印图片路径。
说明图片水印支持PNG图片、PNG动图、MOV格式的动图。
(可选)加密
单击开关按钮,在加密方式选项中,选择阿里云私有加密或HLS标准加密。视频加密详细介绍,请参见视频加密。
(可选)剪辑
单击开关按钮。
在剪辑方式选项中,选择视频片段剪辑或片尾剪辑。
在剪辑开始时间输入框中选择时间。
在时长输入框中选择时间。
说明剪辑开始时间需要小于视频总时长,否则会导致转码失败。
如果剪辑时长超出可剪辑的视频时长,则最多截取到源视频片尾。
(可选)添加片尾
单击开关按钮,在文件路径右侧,单击选择,选择添加固定片尾视频的路径。
(可选)旋转角度
在文本框中输入顺时针旋转角度,取值范围[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。
字幕名称
在文本框中填写字幕名称。
字幕语言
在下拉列表中选择对应语言。
单击确定,完成各节点设置。
审核节点
审核节点仅支持华北2(北京)、华东2(上海)、新加坡地域。在输入节点、转码节点,单击加号图标,均可以添加审核节点。
单击相关节点右侧的加号图标,在下拉列表中选择审核节点。
单击审核节点笔形图标,进入审核配置页面。
设置审核参数。
参数
说明
审核管道
在下拉列表中选择管道。
说明如果审核管道下拉列表中没有管道名称,请先开启审核专用管道。具体操作,请参见创建管道。
输出路径
单击选择,在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket下已经创建好的文件夹,请选择一个作为输出路径。
说明当输出路径和输入路径相同时:
若文件不同名,则输出文件不会覆盖源文件。
若文件同名,是否覆盖由OSS配置决定。无需覆盖的配置方法请参见Java禁止覆盖同名文件。配置后会导致同名文件转码完成后写入OSS失败,建议不要设置输出文件与源文件同名。
为避免媒体工作流多次执行时覆盖输出文件,您可以组合使用系统内置的UC变量参数:
{RunId}:媒体工作流执行ID。
{ObjectPrefix}:不含Bucket信息的原文件路径。
{FileName}:含扩展名的原文件名,根据转码模板的format补齐后缀。
{ExtName}:原文件扩展名。
是否终止工作流
您可根据审核结果决定是否终止工作流,选项如下:
不终止工作流
审核结果为“人工审核”或“拦截”时,终止工作流
审核结果为“拦截”时,终止工作流
单击确定,完成审核节点设置。
视频DNA节点
视频DNA节点仅支持华北2(北京)、华东1(杭州)、华东2(上海)、新加坡区域。在输入节点、转码节点,单击加号图标,均可以添加视频DNA节点。
单击相关节点右侧的加号图标,在下拉列表中选择视频DNA节点。
单击视频DNA节点右侧的笔形图标,进入视频DNA配置页面。
设置视频DNA参数。
参数
说明
视频DNA管道
在下拉列表中选择管道。
说明如果视频DNA管道下拉列表中没有管道名称,请先开启视频DNA专用管道。具体操作,请参见创建管道。
入库规则
仅入库不重复内容:表示DNA库中只保存不重复的视频的DNA,重复视频将不会对其DNA进行入库操作。
所有视频均不入库:表示对视频只做比对并不需要保留视频DNA。
是否终止工作流
您可根据处理结果决定是否终止工作流,选项如下:
不终止工作流
视频重复时,终止工作流
单击确定,完成视频DNA节点设置。
智能封面节点
智能封面节点仅支持华北2(北京)、华东2(上海)、新加坡地域。在输入节点、转码节点,单击加号图标,均可以添加智能封面节点。
单击相关节点右侧的加号图标,在下拉列表中选择智能封面节点。
单击智能封面节点右侧笔形图标,进入智能封面页面。
设置智能封面参数。
参数
说明
名称
在文本输入框中输入封面名称。
智能封面管道
在下拉列表中选择管道。
说明如果智能封面管道下拉列表中没有管道名称,请先开启智能封面管道。具体操作,请参见创建管道。
输出路径
单击选择,在Bucket下拉列表中,选择Bucket名称。路径下方会显示对应Bucket下已经创建好的文件夹,请选择一个作为输出路径。
说明当输出路径和输入路径相同时:
若文件不同名,则输出文件不会覆盖源文件。
若文件同名,是否覆盖由OSS配置决定。无需覆盖的配置方法请参见Java禁止覆盖同名文件。配置后会导致同名文件转码完成后写入OSS失败,建议不要设置输出文件与源文件同名。
为避免媒体工作流多次执行时覆盖输出文件,您可以组合使用系统内置的UC变量参数:
{RunId}:媒体工作流执行ID。
{ObjectPrefix}:不含Bucket信息的原文件路径。
{FileName}:含扩展名的原文件名,根据转码模板的format补齐后缀。
{ExtName}:原文件扩展名。
(可选)设置封面
单击开关按钮,将图片设为封面。
单击确定,完成智能封面节点设置。
发布节点
单击发布节点右侧笔形图标,进入发布设置页面。
设置发布参数。
参数
说明
媒体发布类型
选择工作流任务完成后的媒体发布方式。
手动发布:工作流执行成功后,将媒体设置为未发布状态,之后您可以手动发布该媒体。手动发布媒体文件,请参见管理媒体。
自动发布:工作流执行成功后,将媒体设置为发布状态。
说明发布状态会影响输出文件的访问权限。
不发布:视频、音频、截图文件的访问权限为私有。
已发布:视频、音频、截图文件的访问权限继承所在Bucket的访问权限。
单击确定,完成发布节点设置。
后续步骤
直播录制的M3U8文件,如果在录制过程中多次调用OSS PutObject来更新M3U8文件,会导致多次触发工作流执行。为了避免重复触发,建议将工作流设置为手动触发,待M3U8文件最终更新完毕再调用AddMedia接口触发工作流。或工作流设置为自动触发,但需要等整场直播录制完毕,再一次性上传到OSS。
工作流创建后,将自动激活为启用状态,且触发模式为自动触发。即无论以何种方式新增上传(OSS上传、控制台上传)至输入节点绑定的输入路径的文件,只要满足触发规则,就会自动触发工作流执行。上传文件请参见上传视频,触发规则请参见工作流的文件匹配规则。
如果您希望新增文件通过手动触发工作流执行,可以:
调用UpdateMediaWorkflowTriggerMode接口,配置TriggerMode参数为NotInAuto,将已有工作流修改为不自动触发。或调用AddMediaWorkflow接口,配置TriggerMode参数为NotInAuto,创建一个不自动触发的新工作流。
当需要触发时,调用AddMedia提交新增媒体作业接口以触发工作流执行。
如果您希望对历史文件触发工作流执行,请调用AddMedia提交新增媒体作业接口以触发工作流执行。
如您希望编辑、停用工作流,请参见编辑、停用工作流。