本文为您介绍如何通过媒体处理控制台创建工作流。
背景信息
工作流(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提交新增媒体作业接口以触发工作流执行。
- 如您希望编辑、停用工作流,请参见编辑、停用工作流。