调用AddMedia提交新增媒体作业。

使用说明

  • 当在OSS上有存量视频时,可以通过此接口处理存量视频,从而避免重新上传视频到OSS。如果已经配置过工作流,上传媒体文件到OSS后,OSS会自动通知MPS。根据设置的OSS Bucket,Object自动匹配处于激活状态的工作流自动执行,因此通常情况下不需要手动调用AddMedia接口处理文件。
  • 只有指定激活状态的工作流处理媒体文件时,才会自动获取媒体信息;不指定工作流或指定其他状态的工作流时,不会获取媒体信息。

QPS限制

本接口的单用户QPS限制为100次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。更多信息,请参见QPS限制

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String AddMedia

操作接口名,系统规定参数。取值:AddMedia

FileURL String http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4

输入文件的路径,可以通过MPS或OSS控制台获取。详细触发规则请参见下文中工作流触发匹配规则

  • 不超过3200字节。
  • URL遵循RFC 2396(UTF-8编码,并进行URLEncode)。
Title String mytest

媒体标题。

  • 长度限制不超过128个字节。
  • UTF-8编码。
Description String A test video

描述。

  • 长度限制不超过1024个字节。
  • UTF-8编码。
CoverURL String http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png

封面URL。即您需要设置的封面的存储地址,可以通过MPS控制台 > 工作流管理 > 媒体BucketOSS控制台 > 我的访问路径获取。

  • 不超过3200字节。
  • URL遵循RFC 2396(UTF-8编码,并进行URLEncode)。
Tags String tag1,tag2

标签列表。

说明 媒体处理中,每个媒体的每个标签都是独立的,可以通过搜索媒体库来查找所有设置了相同标签的媒体。
  • 用半角逗号(,)分隔,不超过16个标签。
  • 单个标签不能超过32个字节。
  • UTF-8编码。
MediaWorkflowId String 07da6c65da7f458997336e0de192****

媒体工作流ID。可通过MPS控制台或新增媒体工作流接口获取。

MediaWorkflowUserData String test

媒体工作流用户自定义数据。

  • 不超过1024字节。
  • UTF-8编码。
InputUnbind Boolean false

是否检查指定的工作流支持输入路径。此处建议您选择检查(true),避免因路径出错而导致的错误。取值:

  • true:检查
  • false:不检查
CateId Long 123

媒体所属类目ID。不允许为负数。

OverrideParams String {“subtitleTransNodeName”:{“InputConfig”:{“Format”:”stl”,”InputFile”:{“URL”:”http://exampleBucket.oss-cn-hangzhou.aliyuncs.com/package/example/CENG.stl"}}}}

覆盖参数。

  • 示例1:HLS打包字幕覆盖{“WebVTTSubtitleOverrides”,[{“RefActivityName”:”subtitleNode”,”WebVTTSubtitleURL”:”http://test.oss-cn-hangzhou.aliyuncs.com/example1.vtt"}]}
  • 示例2:DASH打包字幕覆盖 {“subtitleTransNodeName”:{“InputConfig”:{“Format”:”stl”,”InputFile”:{“URL”:”http://subtitleBucket.oss-cn-hangzhou.aliyuncs.com/package/example/CENG.stl"}}}}
工作流触发匹配规则

规则匹配执行策略如下:以新增文件的路径为基础,检查工作流绑定的位置,如果新增文件的路径中包含规则绑定的字符串则匹配,不包含则不匹配。例如:http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test1.flv规则:


  1、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/          匹配
  2、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/            匹配
  3、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/              匹配
  4、http://bucket.oss-cn-hangzhou.aliyuncs.com/                匹配
  5、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.flv  匹配
  6、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/CC/         不匹配
  7、http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B2/           不匹配
  8、http://bucket.oss-cn-hangzhou.aliyuncs.com/A2/B/C/         不匹配
  
说明 在新增媒体工作流时,请您不要配置一个工作流的输入路径为另外一个工作流的输入路径的前缀,否则会一个增量文件触发两次工作流执行实例。例如:两个工作流的输入路径分别配置test和test1,则当输入文件上传到test1文件夹下同样满足test前缀,因此会触发两次工作流执行实例。
匹配文件扩展名

触发要求必须是多媒体文件,媒体库服务是通过文件扩展名来判断的。文件或者没有扩展名(文件名中不包含扩展名分割符号“.”),或者扩展名符合下面的规则:

说明 对于swf,截图及转码服务质量不保障。

类型

扩展名

视频

3gp, asf, avi, dat, dv, flv, f4v, gif, m2t, m3u8, m4v, mj2, mjpeg, mkv, mov, mp4, mpe, mpg, mpeg, mts, ogg, qt, rm, rmvb, swf, ts, vob, wmv, webm

音频

aac, ac3, acm, amr, ape, caf, flac, m4a, mp3, ra, wav, wma, aiff

媒体工作流消息

媒体工作流采用 阿里云消息服务 发送消息给视频云服务接入方,媒体工作流会在(Start/Report)活动节点完成时发送消息,若需要接收消息,需要在Start活动上设置队列/通知名称,媒体工作流产生的消息存储在队列/通知中,可以使用 消息服务SDK 获取消息,消息规格如下:

名称

类型

描述

RunId

String

工作流执行ID。

Name

String

活动名称。

Type

String

活动类型。范围:Report、Start

State

String

活动状态。范围:Fail、Success

Code

String

错误码。如果活动状态是Fail时,会给出具体的错误码。

Message

String

错误消息。如果活动状态是Fail时,会给出详细的错误描述信息。

MediaWorkflowExecution

MediaWorkflowExecution

媒体工作流执行信息。

返回数据

名称 类型 示例值 描述
RequestId String 05F8B913-E9F3-4A6F-9922-48CADA0FFAAD

请求ID。

Media Object

媒体信息。

CreationTime String 2016-09-20T03:02:40Z

创建时间。

CateId Long 1

类目ID。

Height String 1280

媒体文件高度。

CensorState String Initiated

视频审核状态。取值:

  • Initiated:初始(上传成功审核未完成)。
  • Pass:通过(上传成功审核已通过)。
Tags Array of String tag,tag2

标签列表。

Bitrate String 1148.77

码率。

MediaId String 3e6149d5a8c944c09b1a8d2dc3e4****

媒体ID。

File Object

原文件。

State String Normal

文件状态。此处默认为Normal(正常)。

URL String http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4

文件URL。

PublishState String Published

媒体发布状态,表示是否对外发布媒体。取值:

  • Initiated:初始。
  • UnPublish:未发布,OSS播放文件权限为Private。
  • Published:已发布,OSS播放文件权限为Default。
Description String A test video

描述。长度不超过1024个字节。

Width String 1280

媒体文件宽度。

Size String 379860

媒体文件大小。

CoverURL String http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png

封面URL。

RunIdList Array of String {"RunId":["cbad98d35629470fa05ff393d347****"]}

已执行的媒体工作流执行实例ID列表,半角逗号(,)分隔。

Duration String 2.645333

媒体文件时长。

Fps String 25.0

媒体文件帧率。

Title String mytest.mp4

媒体标题。长度不超过128个字节。

Format String mp4

格式。支持mov,mp4,m4a,3gp,3g2,mj2。

示例

请求示例

http(s)://mts.cn-shanghai.aliyuncs.com/?Action=AddMedia
&FileURL=http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4
&Title=mytest
&Description=A test video
&CoverURL=http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png
&Tags=tag1,tag2
&MediaWorkflowId=07da6c65da7f458997336e0de192****
&MediaWorkflowUserData=test
&InputUnbind=false
&CateId=123
&OverrideParams={“subtitleTransNodeName”:{“InputConfig”:{“Format”:”stl”,”InputFile”:{“URL”:”http://exampleBucket.oss-cn-hangzhou.aliyuncs.com/package/example/CENG.stl"}}}}
&<公共请求参数>

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<AddMediaResponse>
    <RequestId>05F8B913-E9F3-4A6F-9922-48CADA0FFAAD</RequestId>
    <Media>
        <CreationTime>2016-09-20T03:02:40Z</CreationTime>
        <CateId>1</CateId>
        <Height>1280</Height>
        <CensorState>Initiated</CensorState>
        <Tags>tag,tag2</Tags>
        <Bitrate>1148.77</Bitrate>
        <MediaId>3e6149d5a8c944c09b1a8d2dc3e4****</MediaId>
        <File>
            <State>Normal</State>
            <URL>http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4</URL>
        </File>
        <PublishState>Published</PublishState>
        <Description>A test video</Description>
        <Width>1280</Width>
        <Size>379860</Size>
        <CoverURL>http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png</CoverURL>
        <RunIdList>{"RunId":["cbad98d35629470fa05ff393d347****"]}</RunIdList>
        <Duration>2.645333</Duration>
        <Fps>25.0</Fps>
        <Title>mytest.mp4</Title>
        <Format>mp4</Format>
    </Media>
</AddMediaResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "05F8B913-E9F3-4A6F-9922-48CADA0FFAAD",
  "Media" : {
    "CreationTime" : "2016-09-20T03:02:40Z",
    "CateId" : 1,
    "Height" : "1280",
    "CensorState" : "Initiated",
    "Tags" : [ "tag,tag2" ],
    "Bitrate" : "1148.77",
    "MediaId" : "3e6149d5a8c944c09b1a8d2dc3e4****",
    "File" : {
      "State" : "Normal",
      "URL" : "http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4"
    },
    "PublishState" : "Published",
    "Description" : "A test video",
    "Width" : "1280",
    "Size" : "379860",
    "CoverURL" : "http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png",
    "RunIdList" : [ "{\"RunId\":[\"cbad98d35629470fa05ff393d347****\"]}" ],
    "Duration" : "2.645333",
    "Fps" : "25.0",
    "Title" : "mytest.mp4",
    "Format" : "mp4"
  }
}

错误码

访问错误中心查看更多错误码。