工作流活动介绍

本文介绍了媒体工作流拓扑结构中的活动类型及支持参数。当您调用AddMediaWorkflow - 新增媒体工作流、UpdateMediaWorkflow - 更新媒体工作流的拓扑结构接口填写Topology拓扑结构时可参考此文档进行设置。

活动类型

活动名称

拓扑结构中的Activitiy类型

说明

输入(必选)

Start

设置媒体工作流的OSS输入路径和全局配置,包括管道、消息。

发布(必选)

Report

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

分析

Analysis

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

转码

Transcode

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

截图

Screenshot

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

打包配置

PackageConfig

将多分辨率视频、多音轨、多字幕文件打包生成M3U8的过程。

视频组

VideoGroup

音频组

AudioGroup

字幕组

SubtitleGroup

提取视频

提取音频

提取字幕

Transcode

打包生成

GenerateMasterPlayList

审核

Censor

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

视频DNA

FpShot

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

智能封面

Cover

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

输入

必选。设置媒体工作流的OSS输入路径和全局配置,包括管道、消息。

本活动会执行媒体信息获取。如果媒体信息获取失败,则后续活动会跳过,直到执行发布(Report)活动。

名称

类型

是否必选

描述

InputFile

String

输入文件,使用OSS的Bucket、Location、Object描述文件位置。

  • 具体触发匹配规则,请参见工作流的文件匹配规则

  • 文件只支持存储于OSS上,参数规范请参见参数详情

  • 在媒体处理API中,Object必须经过URL Encoding说明(基于UTF-8编码)后使用。

  • 示例:{"Bucket":"example-bucket","Location":"oss-cn-hangzhou","ObjectPrefix":"example.mp4"}。

PipelineId

String

全局配置。管道ID。

  • 仅分析/转码/截图/打包使用该管道ID,AI类任务在节点中单独配置。

  • 工作流场景,管道上的单独配置的消息无效,请使用工作流QueueName/TopicName中配置的消息。

MessageType

String

全局配置。消息类别。

  • Queue:使用MNS队列。请设置为QueueName。

  • Topic:使用MNS主题。请设置为TopicName。

  • 默认值:Queue。

QueueName

String

全局配置。媒体处理管道上绑定的MNS队列。绑定后,当该管道上的作业执行结束时,会将执行结果发送到该队列。消息请参见接收消息通知

TopicName

String

全局配置。媒体处理管道上绑定的MNS主题。绑定后,当该管道上的作业执行结束时,会将执行结果发送到该主题。主题会以消息形式推送到订阅的地址上,消息请参见接收消息通知

RoleName

String

全局配置。授权角色名称。

  • 默认值:AliyunMTSDefaultRole。

发布

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

名称

类型

必须

描述

PublishType

String

全局配置。媒体发布类型。

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

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

  • TranscodeCompletedAuto:任一转码活动完成后自动发布。将使用Start节点的消息配置通知用户转码完成。若转码活动的状态是跳过的话,不会发送消息。

  • 默认值:Manual。

    说明
    • 媒体处理在执行工作流进行文件处理时,针对不同的发布类型,会使用STS临时用户对输出文件进行调整。

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

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

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

分析(Analysis)

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

名称

类型

必须

描述

KeepOnlyHighestDefinition

String

是否只保留最高清晰度的分析结果。

  • True:仅输出可选范围内的最高清晰度。

  • False:输出可选范围内全部清晰度。

  • 默认值:False。

转码(Transcode)

名称

类型

必须

描述

Outputs

String

转码作业输出。

  • Outputs由Output列表构成,JSON数组,大小上限为30。

  • Output的参数说明,请参见参数详情

  • 示例:[{"OutputObject":"transcode%2F%7BObjectPrefix%7D%2F%7BFileName%7D.%7BExtName%7D","TemplateId": "S00000001-000070"}]。

OutputBucket

String

输出Bucket。

  • HLS及DASH打包时,PackageConfig中的Bucket会覆盖此项。

OutputLocation

String

输出区域。

  • HLS及DASH打包时,PackageConfig中的Location会覆盖此项。

MultiBitrateVideoStream

String

HLS打包,提取视频流时必填。

  • 更多信息,请参见参数详情

  • 示例:{"URI": "c/d/video1.m3u8"}。

ExtXMedia

String

HLS打包,提取音频流或者字幕流时必填。

  • 更多信息,请参见参数详情

  • 示例:{"Name": "english","Language": "en-US","URI":"c/d/audio-1.m3u8"}。

WebVTTSubtitleURL

String

HLS打包,提取字幕流活动必填,字幕输出地址。

  • 目前只支持WebVTT字幕文件,必须符合URL规范,可以在调用AddMedia时覆盖字幕地址。

  • 示例:http://example-bucket-****.oss-cn-hangzhou.aliyuncs.com/subtitles****-en.vtt。

Representation

String

DASH打包,提取视频流、音频流或者字幕流活动时必填。

  • 更多信息,请参见参数详情

  • 示例:{\"Id\":\"480p\", \"URI\":\"videoSD/xx.mpd\"}。

InputConfig

String

DASH打包,提取字幕流活动必填,字幕输出地址。

  • 更多信息,请参见参数详情

  • 示例:"{\"Format\":\"vtt\",\"InputFile\":{\"URL\":\"http://example-Bucket-****.oss-cn-hangzhou.aliyuncs.com/subtitle/subtitle****-en.vtt\"}}"。

截图(Screenshot)

名称

类型

必须

描述

SnapshotConfig

String

截图配置。

  • 更多信息,请参见参数详情

  • 示例:{"OutputFile": {"Bucket": "example-001", "Location": "oss-cn-hangzhou", "Object":"snapshot%2F%7BObjectPrefix%7D%2F%7BFileName%7D.%7BExtName%7D%2F1.jpg"},"Time": "5"}。

MediaCover

String

是否设置成媒体封面。仅支持单张图时生效。

  • true:是。

  • false:否。

  • 默认值:false。

打包

打包配置(PackageConfig)

名称

类型

必须

描述

Output

String

JSON字符串。示例:{"Bucket":"output","Location":"oss-cn-hangzhou","MasterPlayListName":"a/b/c.m3u8"}。

说明

MasterPlayListName中可以使用的占位符:

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

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

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

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

  • {MediaId}:代表工作流所处理媒体ID。

Protocol

String

值范围:hls、dash。

视频组(VideoGroup)

名称

类型

必须

描述

AdaptationSet

String

视频组信息。DASH打包,必填。

  • 更多信息,请参见参数详情

  • 示例:"AdaptationSet":"{\"Group\":\"VideoGroup\"}"。

音频组(AudioGroup)

名称

类型

必须

描述

GroupId

String

音频分组ID。HLS打包,必填。

  • 长度不能超过32个字节。

AdaptationSet

String

音频组信息。DASH打包,必填。

  • 更多信息,请参见参数详情

  • 示例:"{\"Lang\":\"english\", \"Group\":\"AudioGroupEnglish\"}"。

字幕组(SubtitleGroup)

名称

类型

必须

描述

GroupId

String

字幕分组ID。HLS打包,必填。

  • 长度不能超过32个字节。

AdaptationSet

String

字幕组信息。DASH打包,必填。

  • 更多信息,请参见参数详情

  • 示例:"{\"Lang\":\"english\", \"Group\":\"SubtitleENGroup\"}"。

打包生成(GenerateMasterPlayList)

名称

类型

必须

描述

MasterPlayList

String

  • HLS专属参数,必填,视频多码流列表。更多信息,请参见参数详情

  • 示例:{"MultiBitrateVideoStreams": [{"RefActivityName": "video-1","ExtXStreamInf": {"BandWidth": "111110","Audio": "auds","Subtitles": "subs"}}]}。

相关文档